/* No-JS / crawler list; hidden after Vue boots */
        html.gdekupit-js-ready #gde-kupit-seo-fallback { display: none !important; }
        .gde-kupit-seo-fallback { margin: 1rem 0 1.5rem; font-size: 14px; line-height: 1.45; color: #333; }
        .gde-kupit-seo-fallback h2 { font-size: 1.25rem; margin: 0 0 0.75rem; }
        .gde-kupit-seo-fallback ul { margin: 0; padding-left: 1.25rem; }
        .gde-kupit-seo-fallback li { margin: 0.35rem 0; }

:root {
            /* driveshub brand (components_next/main.ts) — page-wide; menus teleport to body */
            --q-primary: #706f6f;
            --q-primary-rgb: 112, 111, 111;
            --q-secondary: #6c757d;
            --q-secondary-rgb: 108, 117, 125;
            --q-accent: #c00d0d;
            --q-dark: #1d1d1d;
            --color-corp: #c00d0d;
            --color-corp-hover: #a00b0b;
            --color-text-primary: #706f6f;
            --color-text-secondary: #6c757d;
            --color-border: #D0D0D0;
            --radius-ui: 8px;
            --spacing-sections: 24px;
        }

        /* Hide theme h1 / breadcrumbs — own crumbs like veda-gm */
        .page:has(#gde-kupit-main) > h1,
        html.gdekupit-feature-page .page > h1 {
            display: none !important;
        }
        .main:has(#gde-kupit-main) .bread,
        html.gdekupit-feature-page .main .bread {
            display: none !important;
        }

        /* Breadcrumbs — same pattern as vedagm .vgm-bread */
        .gde-bread {
            margin: 0 0 1.25rem;
        }
        .gde-bread__list {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.35rem 0.5rem;
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .gde-bread__item {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            margin: 0;
            padding: 0;
        }
        .gde-bread__item::before {
            content: none !important;
        }
        .gde-bread__link {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            color: #706f6f;
            font-size: 0.9rem;
            font-weight: 500;
            text-decoration: none !important;
            line-height: 1.2;
        }
        a.gde-bread__link:hover {
            color: #1d1d1d;
        }
        .gde-bread__item.is-current .gde-bread__link {
            color: #1d1d1d;
            font-weight: 700;
        }
        .gde-bread__icon {
            font-size: 1.1rem;
            line-height: 1;
            color: currentColor;
            flex: 0 0 auto;
        }
        .gde-bread__sep {
            color: #706f6f;
            font-weight: 500;
        }

        /*
         * driveshub brand 1:1 — page-wide (html.gdekupit-feature-page).
         * Filter menus / dialogs teleport to body; scoping only #gde-kupit-udt-root
         * left labels black from storefront .q-btn--outline.
         */
        html.gdekupit-feature-page,
        html.gdekupit-feature-page body,
        html.gdekupit-feature-page #q-app,
        html.gdekupit-feature-page #gde-kupit-udt-root {
            --q-primary: #706f6f !important;
            --q-primary-rgb: 112, 111, 111 !important;
            --q-secondary: #6c757d !important;
            --q-secondary-rgb: 108, 117, 125 !important;
            --q-accent: #c00d0d !important;
            --q-dark: #1d1d1d !important;
            --q-positive: #21BA45 !important;
            --q-negative: #C10015 !important;
            --q-info: #31CCEC !important;
            --q-warning: #F2C037 !important;
        }
        html.gdekupit-feature-page body,
        html.gdekupit-feature-page #q-app,
        html.gdekupit-feature-page #gde-kupit-udt-root {
            color: #6c757d;
        }
        html.gdekupit-feature-page .text-primary {
            color: #706f6f !important;
        }
        html.gdekupit-feature-page .text-secondary {
            color: #6c757d !important;
        }
        html.gdekupit-feature-page .text-dark {
            color: #1d1d1d !important;
        }
        html.gdekupit-feature-page .text-accent {
            color: #c00d0d !important;
        }
        #gde-kupit-udt-root {
            font-family: 'Myriad Pro', Roboto, 'Helvetica Neue', Helvetica, Arial, sans-serif;
        }
        #gde-kupit-udt-root .q-field__append .q-icon,
        #gde-kupit-udt-root .q-field__prepend .q-icon {
            color: inherit;
        }
        /* Filter outline buttons — DH secondary (incl. teleported menus) */
        html.gdekupit-feature-page .q-btn--outline {
            border-color: currentColor !important;
            border-radius: 8px;
            background: transparent !important;
            color: #6c757d !important;
        }
        /* Active filter chips — driveshub DataFiltersPanel: text-dark */
        html.gdekupit-feature-page .q-btn--outline.text-dark {
            color: #1d1d1d !important;
        }
        html.gdekupit-feature-page .q-btn--outline .q-btn__content,
        html.gdekupit-feature-page .q-btn--outline .q-icon {
            color: inherit !important;
        }
        html.gdekupit-feature-page .q-btn--outline:hover {
            background: rgba(0, 0, 0, 0.04) !important;
            border-color: currentColor !important;
            color: inherit !important;
        }
        html.gdekupit-feature-page .q-btn--outline:hover .q-btn__content,
        html.gdekupit-feature-page .q-btn--outline:hover .q-icon {
            color: inherit !important;
        }
        html.gdekupit-feature-page .q-field--outlined .q-field__control:hover:before,
        html.gdekupit-feature-page .q-field--focused .q-field__control:before,
        html.gdekupit-feature-page .q-field--focused .q-field__control:after {
            border-color: #706f6f !important;
        }
        html.gdekupit-feature-page .q-field--focused .q-field__label {
            color: #706f6f !important;
        }
        html.gdekupit-feature-page .q-checkbox__inner,
        html.gdekupit-feature-page .q-checkbox__inner--checked,
        html.gdekupit-feature-page .q-checkbox__inner--indet {
            color: #c00d0d !important;
        }
        html.gdekupit-feature-page .q-radio__label,
        html.gdekupit-feature-page .q-checkbox__label {
            color: inherit;
        }

        .footer {
            margin-top: 20px !important;
        }

        .q-field__input {
            border: 0px !important;
        }

        .q-field__native {
            border: 0px !important;
        }

        .page > h1 {
            margin-bottom: 16px;
        }

        body {
            font-family: 'Roboto', '-apple-system', 'Helvetica Neue', Helvetica, Arial, sans-serif;
            color: var(--color-text-primary);
        }

        .gde-kupit {
            width: 100%;
        }

        /* Quasar по умолчанию тянет .q-page на высоту окна — лишняя пустота над футером сайта */
        #q-app .q-layout,
        #q-app .q-page-container,
        #q-app .q-page {
            min-height: 0 !important;
            height: auto !important;
        }

        #q-app .q-page {
            padding-bottom: 0;
        }

        .gde-kupit__filter-section {
            margin-bottom: var(--spacing-sections);
        }

        .gde-kupit-search-wrap {
            position: relative;
        }

        .gde-kupit-search-dropdown {
            position: absolute;
            left: 0;
            right: 0;
            top: calc(100% + 4px);
            z-index: 6000;
            max-height: 280px;
            overflow-y: auto;
        }

        .gde-kupit__results-count {
            font-size: 16px;
            font-weight: 500;
            color: var(--color-text-secondary);
        }

        .gde-kupit__results-count .q-icon {
            color: var(--color-corp);
        }

        .gde-kupit__results-count p {
            display: flex;
            align-items: center;
        }

        h1 {
            font-weight: 700;
            font-size: 30px;
            line-height: 42px;
            letter-spacing: 0;
        }

        .q-radio__label,
        .q-checkbox__label {
            color: var(--color-text-secondary);
        }

        .q-field--outlined .q-field__control {
            border-radius: var(--radius-ui);
        }

        .q-field--outlined .q-field__control:before {
            border-color: var(--color-border);
            border-radius: var(--radius-ui);
        }

        .q-field--outlined .q-field__control:hover:before {
            border-color: var(--color-corp);
        }

        .q-field--focused .q-field__control:before {
            border-color: var(--color-corp) !important;
            border-width: 2px;
        }

        .q-field--focused .q-field__control:after {
            border-color: var(--color-corp) !important;
            color: var(--color-corp) !important;
        }

        .q-field--focused.text-primary .q-field__control:before,
        .q-field--focused.text-primary .q-field__control:after,
        .q-field--focused .q-field__control:before,
        .q-field--focused .q-field__control:after {
            border-color: var(--color-corp) !important;
        }

        .q-field--focused.text-primary .q-field__label,
        .q-field--focused .q-field__label {
            color: var(--color-corp) !important;
        }

        .q-field--focused.text-primary .q-field__native,
        .q-field--focused.text-primary .q-field__append .q-icon,
        .q-field--focused.text-primary .q-field__prepend .q-icon {
            color: var(--color-corp) !important;
        }

        .q-field__label {
            color: var(--color-text-primary);
        }

        .q-field--focused .q-field__label {
            color: var(--color-corp) !important;
        }

        .q-field__native {
            color: var(--color-text-primary);
        }

        .q-field__native::placeholder {
            color: rgba(56, 56, 56, 0.5);
        }

        .q-field__append .q-icon,
        .q-field__prepend .q-icon {
            color: var(--color-corp);
        }

        .q-checkbox__inner {
            color: var(--color-corp);
        }

        .q-checkbox__inner--checked,
        .q-checkbox__inner--indet {
            color: var(--color-corp) !important;
        }

        .q-checkbox__bg {
            box-shadow: none;
        }

        /* Нативный input у q-checkbox не должен просвечивать */
        .q-checkbox__inner .q-checkbox__native,
        .q-checkbox input[type='checkbox'] {
            opacity: 0 !important;
            width: 100% !important;
            height: 100% !important;
            margin: 0 !important;
            padding: 0 !important;
            border: 0 !important;
            background: transparent !important;
            -webkit-appearance: none !important;
            appearance: none !important;
        }

        .q-radio__inner {
            color: var(--color-corp);
        }

        .q-radio__inner--checked {
            color: var(--color-corp) !important;
        }

        .q-btn--outline {
            border-color: var(--color-corp);
            color: var(--color-text-primary);
            border-radius: var(--radius-ui);
        }

        .q-btn--outline .q-btn__content {
            color: var(--color-text-primary);
        }

        .q-btn--outline:hover {
            background: var(--color-corp-hover) !important;
            border-color: var(--color-corp-hover) !important;
            color: white !important;
        }

        .q-btn--outline:hover .q-btn__content,
        .q-btn--outline:hover .q-icon {
            color: white !important;
        }

        .q-btn--outline.text-corp,
        .q-btn--outline.bg-corp {
            border-color: var(--color-corp);
            color: var(--color-corp);
        }

        .q-btn--outline.text-corp:hover,
        .q-btn--outline.bg-corp:hover {
            background: var(--color-corp-hover) !important;
            border-color: var(--color-corp-hover) !important;
            color: white !important;
        }

        .q-btn--outline.text-corp:hover .q-btn__content,
        .q-btn--outline.text-corp:hover .q-icon {
            color: white !important;
        }

        .gde-kupit__btn--corp.q-btn--outline {
            border-color: var(--color-corp) !important;
            color: var(--color-corp) !important;
            min-height: 40px;
            padding: 0 20px;
            border-radius: var(--radius-ui);
            font-family: inherit;
            font-size: 14px;
            font-weight: 500;
            text-transform: none;
            letter-spacing: normal;
        }

        .gde-kupit__btn--corp.q-btn--outline .q-btn__content {
            color: var(--color-corp) !important;
        }

        .gde-kupit__btn--corp .q-btn__content {
            white-space: nowrap;
            flex-wrap: nowrap;
            line-height: 1.2;
        }

        .gde-kupit__btn--corp .q-btn__content .q-icon {
            margin-right: 8px;
            font-size: 20px;
        }

        .gde-kupit__btn--corp.q-btn--outline:hover {
            background: var(--color-corp-hover) !important;
            border-color: var(--color-corp-hover) !important;
            color: white !important;
        }

        .gde-kupit__btn--corp.q-btn--outline:hover .q-btn__content,
        .gde-kupit__btn--corp.q-btn--outline:hover .q-icon {
            color: white !important;
        }

        .q-menu .q-item--active,
        .q-menu .q-item.q-item-type[aria-selected="true"],
        .q-menu .q-item[aria-selected="true"] {
            background-color: rgba(212, 5, 16, 0.1) !important;
        }

        .q-menu .q-item--active .q-item__label,
        .q-menu .q-item[aria-selected="true"] .q-item__label,
        .q-menu .q-item {
            color: var(--color-text-primary) !important;
        }

        .q-menu .q-item:hover {
            background-color: rgba(212, 5, 16, 0.08) !important;
        }

        .q-menu .q-item--active:hover,
        .q-menu .q-item[aria-selected="true"]:hover {
            background-color: rgba(212, 5, 16, 0.15) !important;
        }

        .veda-clan-section {
            margin: 30px 0;
            padding: 20px;
            background: #fff;
            border: 1px solid #e0e0e0;
            border-radius: 8px;
            overflow-x: hidden;
            max-width: 100%;
        }

        .veda-clan-header {
            display: flex;
            align-items: center;
            gap: 20px;
        }

        .veda-clan-info {
            display: flex;
            align-items: center;
            gap: 15px;
            flex-shrink: 0;
            max-width: 450px;
        }

        .veda-clan-description {
            font-size: 14px;
            color: #333;
            line-height: 1.4;
        }

        .veda-clan-title {
            font-weight: 700;
            color: #c8102e;
        }

        .veda-clan-carousel-container {
            display: flex;
            align-items: center;
            flex: 1;
            gap: 0;
            min-width: 0;
            position: relative;
            overflow: hidden;
        }

        .veda-clan-carousel-wrap {
            flex: 1 1 auto;
            min-width: 180px;
            display: flex;
            overflow: hidden;
        }

        .veda-clan-carousel {
            display: flex;
            flex: 1;
            min-width: 0;
            overflow-x: auto;
            overflow-y: hidden;
            gap: 15px;
            padding: 4px 0;
            scroll-behavior: smooth;
            -webkit-overflow-scrolling: touch;
            justify-content: center;
            overscroll-behavior-x: contain;
        }

        .veda-clan-carousel-item {
            flex-shrink: 0;
            width: 120px !important;
            height: 60px !important;
            border: none;
            border-radius: 6px;
            overflow: visible;
            cursor: pointer;
            transition: transform 0.2s;
            background: #fff;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            padding: 8px;
            box-sizing: border-box;
        }

        .veda-clan-carousel-item:hover {
            transform: scale(1.1);
        }

        .veda-clan-carousel-item img {
            max-width: 100%;
            max-height: 44px;
            width: auto;
            height: auto;
            object-fit: contain;
            flex-shrink: 0;
        }

        .veda-clan-carousel-arrow {
            flex-shrink: 0;
            width: 36px;
            min-width: 36px;
            height: 44px;
            border: none;
            border-radius: 0;
            background: transparent;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 24px;
            font-weight: 300;
            color: #999;
            transition: color 0.2s, background 0.2s;
            line-height: 1;
            text-align: center;
            padding: 0 6px !important;
            margin: 0 2px;
        }

        .veda-clan-carousel-arrow:hover {
            background: transparent;
            color: #c8102e;
        }

        /* Мобильный слайдер: один слайд по центру, анимация перехода */
        .veda-clan-carousel-viewport {
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        .veda-clan-carousel-strip {
            display: flex;
            flex-wrap: nowrap;
            transition: transform 0.35s ease-out;
            will-change: transform;
        }

        .veda-clan-carousel-slide {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            flex-shrink: 0;
            min-height: 70px;
            padding: 12px;
            box-sizing: border-box;
            cursor: pointer;
            background: #fff;
            border-radius: 6px;
            transition: transform 0.2s;
        }

        .veda-clan-carousel-slide:hover {
            transform: scale(1.02);
        }

        .veda-clan-carousel-slide img {
            max-width: 100%;
            max-height: 50px;
            width: auto;
            height: auto;
            object-fit: contain;
        }

        @media (max-width: 768px) {
            .veda-clan-header {
                flex-direction: column;
                align-items: flex-start;
            }

            .veda-clan-info {
                max-width: 100%;
            }

            .veda-clan-carousel-container {
                width: 100%;
                min-width: 0;
                gap: 0;
            }

            .veda-clan-carousel-arrow {
                width: 44px;
                min-width: 44px;
                height: 56px;
                padding: 0 8px !important;
                margin: 0;
                flex-shrink: 0;
                z-index: 2;
            }

            .veda-clan-carousel-wrap {
                flex: 1 1 auto;
                min-width: 160px;
            }

            .veda-clan-carousel-viewport {
                min-height: 74px;
            }

            .veda-clan-carousel {
                scrollbar-width: none;
                -ms-overflow-style: none;
            }
            .veda-clan-carousel::-webkit-scrollbar {
                display: none;
            }

            .veda-clan-carousel-item {
                width: 100px;
                height: 50px;
            }
        }

        /* Единая сетка: VEDA CLAN (2 колонки) + «Свяжитесь с нами» (1 колонка) */
        .gde-kupit__hero-section {
            position: relative;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 20px;
            margin-bottom: 20px;
            align-items: stretch;
        }

        .gde-kupit__hero-section.is-hidden {
            display: none !important;
            height: 0 !important;
            min-height: 0 !important;
            margin: 0 !important;
            padding: 0 !important;
            overflow: hidden !important;
            visibility: hidden !important;
            pointer-events: none !important;
        }

        .gde-kupit__clan-col {
            grid-column: span 2;
            min-width: 0;
            display: flex;
            flex-direction: column;
        }

        /*
         * DrivesHub card: .q-card { border-radius: 24px; box-shadow: none; border 1px }
         * + .border-left-accent (4px accent stripe).
         */
        #gde-kupit-main .q-card {
            border-radius: 24px;
            box-shadow: none;
            background-color: #fff;
            border: 1px solid #dee2e6;
        }

        #gde-kupit-main .border-left-accent {
            border-left: 4px solid var(--q-accent, #D40510) !important;
        }

        .gde-kupit__contacts-col.q-card {
            grid-column: span 1;
            min-height: 0;
            height: 100%;
            display: flex;
            flex-direction: column;
            border-radius: 24px !important;
            overflow: hidden;
            box-sizing: border-box;
        }

        .gde-kupit__hero-section--contacts-only {
            grid-template-columns: 1fr;
        }

        .gde-kupit__hero-section--contacts-only .gde-kupit__contacts-col {
            grid-column: span 1;
            max-width: 420px;
            justify-self: start;
            width: 100%;
        }

        .gde-kupit__contacts-inner {
            flex: 1 1 auto;
            display: flex;
            flex-direction: column;
            min-height: 0;
            height: 100%;
        }
        .gde-kupit__contacts-btn {
            margin-top: auto;
        }

        .gde-kupit__contacts-title {
            color: #6c757d;
        }

        .gde-kupit__contacts-desc {
            color: #706f6f;
            line-height: 1.45;
        }

        .gde-kupit__contacts-link {
            color: #6c757d;
            text-decoration: none;
            font-weight: 700;
        }

        .gde-kupit__contacts-link:hover {
            color: #c00d0d;
        }

        /* VEDA CLAN section (PageTitle-like header + logo grid) */
        .gde-kupit__clan-section {
            margin-bottom: 24px;
        }
        .gde-kupit__clan-logos {
            display: flex;
            flex-wrap: wrap;
            gap: 12px;
        }
        .gde-kupit__clan-logo-card {
            width: 120px;
            height: 64px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            border: 1px solid #dee2e6;
            border-radius: 8px;
            background: #fff;
            padding: 8px;
            transition: border-color 0.15s ease;
        }
        .gde-kupit__clan-logo-card:hover {
            border-color: #c00d0d;
        }
        .gde-kupit__clan-logo-card img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }

        @media (max-width: 899px) {
            .gde-kupit__hero-section {
                grid-template-columns: 1fr;
            }

            .gde-kupit__clan-col {
                grid-column: span 1;
            }

            .gde-kupit__contacts-col {
                grid-column: span 1;
                min-height: auto;
            }

            .gde-kupit__hero-section--contacts-only .gde-kupit__contacts-col {
                max-width: none;
                justify-self: stretch;
            }
        }

        .gde-kupit__map-container {
            position: relative;
            width: 100%;
            height: 100%;
            min-height: 400px;
        }

        .gde-kupit__map-placeholder {
            width: 100%;
            height: 400px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #f5f5f5;
            color: var(--color-text-secondary);
        }

        .gde-kupit__map-placeholder--overlay {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 1;
        }

        /* Штатный YM-балун + контент в стилях витрины */
        #gde-kupit-map [class*="ymaps-2-1"][class*="balloon"][class*="content"],
        #gde-kupit-map-detail [class*="ymaps-2-1"][class*="balloon"][class*="content"] {
            padding: 12px 14px 10px !important;
            font-family: inherit;
            color: var(--color-text-primary, #383838);
        }

        .gde-kupit-balloon__card {
            position: relative;
            max-width: 300px;
            box-sizing: border-box;
            font-family: inherit;
            color: var(--color-text-primary, #383838);
        }

        .gde-kupit-balloon__logo {
            display: block;
            max-width: 140px;
            max-height: 40px;
            width: auto;
            height: auto;
            object-fit: contain;
            margin: 0 0 10px;
        }

        .gde-kupit-balloon__title-row {
            display: flex;
            flex-wrap: nowrap;
            align-items: flex-start;
            gap: 8px;
            margin: 0 0 8px;
            min-width: 0;
        }

        .gde-kupit-balloon__icon {
            flex: 0 0 auto;
            margin-top: 2px;
            color: var(--q-accent, #c00d0d);
            font-size: 18px !important;
            line-height: 1;
        }

        .gde-kupit-balloon__title {
            margin: 0;
            min-width: 0;
            font-size: 15px;
            line-height: 1.35;
            font-weight: 700;
            color: var(--q-secondary, #6c757d);
        }

        .gde-kupit-balloon__subtitle {
            margin: 0 0 8px;
            font-size: 13px;
            line-height: 1.4;
            color: var(--color-text-secondary, #606060);
        }

        .gde-kupit-balloon__fields {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .gde-kupit-balloon__label {
            margin: 0 0 2px;
            font-size: 12px;
            line-height: 1.3;
            color: var(--q-primary, #706f6f);
        }

        .gde-kupit-balloon__value {
            margin: 0;
            font-size: 14px;
            line-height: 1.4;
            word-break: break-word;
        }

        .gde-kupit-balloon__value a {
            color: var(--q-secondary, #6c757d);
            font-weight: 700;
            text-decoration: none;
        }

        .gde-kupit-balloon__value a:hover {
            color: var(--q-accent, #c00d0d);
            text-decoration: underline;
        }

        .gde-kupit-balloon__badges {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 8px;
            margin-top: 10px;
        }

        .gde-kupit-balloon__badges img {
            display: block;
            height: 28px;
            width: auto;
            max-width: 130px;
            object-fit: contain;
        }

        .badges {
            position: relative !important;
        }

        /* Yandex Maps attribution (copyrights / logo / «Open in Yandex.Maps») must remain visible
         * per Maps API ToS §§4.1.3.1, 5.1.3. Map controls are limited via JS API
         * `controls: [...]` in storefrontOptions.js — do not hide them with CSS.
         */

        .gde-kupit__list-toolbar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            flex-wrap: wrap;
            margin-bottom: 16px;
        }

        .gde-kupit__list-toolbar-title {
            font-size: 1.05rem;
            font-weight: 700;
            color: var(--color-text, #222);
            margin: 0;
        }

        .gde-kupit__partners-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 20px;
            margin-bottom: var(--spacing-sections);
        }

        /* cardGridCols: sm=1, md=2, lg=3 (UDT-compatible) */
        @media (min-width: 600px) {
            .gde-kupit__partners-grid--cards {
                grid-template-columns: repeat(var(--gk-card-cols-sm, 1), 1fr);
            }
        }

        @media (min-width: 1024px) {
            .gde-kupit__partners-grid--cards {
                grid-template-columns: repeat(var(--gk-card-cols-md, 2), 1fr);
            }
        }

        @media (min-width: 1440px) {
            .gde-kupit__partners-grid--cards {
                grid-template-columns: repeat(var(--gk-card-cols-lg, 3), 1fr);
            }
        }

        .gde-kupit__partners-empty {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: 48px 24px;
            margin-bottom: var(--spacing-sections);
            border: 1px dashed var(--color-border, #ddd);
            border-radius: var(--radius-ui, 8px);
            background: #fafafa;
        }

        .gde-kupit__partners-empty-icon {
            font-size: 48px;
            color: #9e9e9e;
            margin-bottom: 12px;
        }

        .gde-kupit__partners-empty-title {
            font-size: 1.15rem;
            font-weight: 700;
            color: #424242;
            margin: 0 0 6px;
        }

        .gde-kupit__partners-empty-subtitle {
            font-size: 0.95rem;
            color: #757575;
            margin: 0;
            max-width: 28rem;
        }

        .gde-kupit__partners-table {
            margin-bottom: var(--spacing-sections);
        }

        .gde-kupit__partners-table .q-table tbody tr {
            cursor: pointer;
        }

        .gde-kupit__partners-table .q-table__top,
        .gde-kupit__partners-table .q-table__bottom {
            padding-left: 0;
            padding-right: 0;
        }

        .gde-kupit__pager {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: center;
            gap: 8px;
            margin: 8px 0 16px;
        }

        .gde-kupit__pager-meta {
            font-size: 0.9rem;
            color: #616161;
            min-width: 5.5rem;
            text-align: center;
        }

        .gde-kupit__partner-table-badges {
            display: inline-flex;
            gap: 6px;
            align-items: center;
            vertical-align: middle;
        }

        .gde-kupit__partner-table-badges img {
            width: 22px;
            height: 22px;
            object-fit: contain;
        }

        .gde-kupit__partner-table-logo {
            width: 40px;
            height: 40px;
            object-fit: contain;
            border-radius: 4px;
            background: #f5f5f5;
            flex-shrink: 0;
        }

        .gde-kupit__partner-card {
            border: 1px solid var(--color-border);
            border-radius: var(--radius-ui);
            padding: 16px;
            cursor: pointer;
            transition: box-shadow 0.2s, border-color 0.2s, opacity 0.2s;
            background: #fff;
            display: flex;
            flex-direction: column;
            min-height: 0;
        }

        .gde-kupit__partner-card:hover {
            border-color: #ececec;
            box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
            opacity: 0.99;
        }

        .gde-kupit__partner-card-header {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 12px;
        }

        .gde-kupit__partner-card-logo {
            width: 72px;
            height: 72px;
            flex-shrink: 0;
            object-fit: contain;
            border-radius: 4px;
        }

        .gde-kupit__partner-card-address-count {
            font-size: 13px;
            color: var(--color-text-secondary);
            white-space: nowrap;
        }

        .gde-kupit__partner-card-badges {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin-bottom: 10px;
        }

        .gde-kupit__partner-card-badges img {
            height: 24px;
            width: auto;
            object-fit: contain;
        }

        .gde-kupit__partner-card-name {
            font-weight: 700;
            font-size: 16px;
            color: var(--color-text-primary);
            margin-bottom: 8px;
            line-height: 1.3;
        }

        .gde-kupit__partner-card-description {
            font-size: 14px;
            color: var(--color-text-secondary);
            line-height: 1.45;
            flex: 1;
        }

        /* Экран просмотра партнёра — без эффектов при наведении */
        .gde-kupit__partner-detail {
            margin-bottom: var(--spacing-sections);
            max-width: 100%;
            box-sizing: border-box;
        }

        /* Don't strip q-btn-accent fill on hover — only outline + text links */
        .gde-kupit__partner-detail .q-btn--outline:hover {
            opacity: 1;
            background: transparent !important;
            border-color: var(--color-corp) !important;
            color: var(--color-corp) !important;
        }

        .gde-kupit__partner-detail .q-btn--outline:hover .q-btn__content,
        .gde-kupit__partner-detail .q-btn--outline:hover .q-icon {
            color: var(--color-corp) !important;
        }

        .gde-kupit__partner-detail a.text-secondary:hover,
        .gde-kupit__partner-detail a.text-accent:hover {
            color: var(--q-accent, #c00d0d) !important;
        }

        .gde-kupit__partner-detail-layout {
            display: flex;
            flex-direction: column;
            gap: 24px;
            max-width: 100%;
            min-width: 0;
            box-sizing: border-box;
        }

        .gde-kupit__partner-detail-layout .col-left {
            min-width: 0;
            order: 1;
        }

        .gde-kupit__partner-detail-layout .col-right {
            min-width: 0;
            order: -1;
        }

        @media (min-width: 900px) {
            .gde-kupit__partner-detail-layout {
                flex-direction: row;
                flex-wrap: nowrap;
                /* flex-start: иначе col-right тянется на сотни адресов (ЭТМ) → гигантская пустая «карта» */
                align-items: flex-start;
                gap: 24px;
            }

            .gde-kupit__partner-detail-layout .col-left {
                flex: 1 1 0;
                max-width: 50%;
                width: auto;
                order: 0;
                display: flex;
                flex-direction: column;
                min-width: 0;
                height: auto;
                min-height: 0;
            }

            .gde-kupit__partner-detail-layout .col-right {
                flex: 1 1 0;
                max-width: 50%;
                width: auto;
                order: 0;
                min-width: 0;
                display: flex;
                flex-direction: column;
                align-self: flex-start;
                position: sticky;
                top: 96px;
                max-height: calc(100vh - 112px);
            }
        }

        .gde-kupit__partner-detail-name {
            font-weight: 700;
            font-size: 24px;
            color: var(--color-text-primary);
            margin: 0;
            flex: 1 1 auto;
            min-width: 0;
        }

        .gde-kupit__partner-detail-head {
            display: flex;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: space-between;
            gap: 12px 16px;
            margin-bottom: 16px;
            width: 100%;
            max-width: 100%;
            box-sizing: border-box;
        }

        @media (max-width: 899px) {
            .gde-kupit__partner-detail-name {
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
        }

        .gde-kupit__partner-detail-head .q-btn {
            margin: 0;
            flex-shrink: 0;
        }

        .gde-kupit__office-card--focus {
            outline: 2px solid var(--q-accent, #c00d0d);
            outline-offset: 2px;
            box-shadow: 0 0 0 4px rgba(192, 13, 13, 0.12);
        }

        .gde-kupit__office-admin-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            align-items: stretch;
            margin: 0 0 12px;
        }
        .gde-kupit__admin-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            box-sizing: border-box;
            margin: 0;
            padding: 8px 14px;
            border: 0;
            border-radius: 8px;
            font: inherit;
            font-size: 14px;
            font-weight: 600;
            line-height: 1.2;
            cursor: pointer;
            white-space: nowrap;
            flex: 0 1 auto;
        }
        .gde-kupit__admin-btn .material-icons {
            font-size: 18px;
            line-height: 1;
        }
        .gde-kupit__admin-btn--default {
            background: #dee2e6;
            color: #1d1d1d;
        }
        .gde-kupit__admin-btn--default:hover {
            background: #cfd4d8;
        }
        .gde-kupit__admin-btn--danger {
            background: #c00d0d;
            color: #fff;
        }
        .gde-kupit__admin-btn--danger:hover {
            background: #a00b0b;
        }
        .gde-kupit__addresses-head {
            gap: 8px;
        }
        .gde-kupit__admin-icon-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            margin: 0;
            padding: 0;
            border: 0;
            border-radius: 8px;
            background: #dee2e6;
            color: #1d1d1d;
            cursor: pointer;
            flex: 0 0 auto;
        }
        .gde-kupit__admin-icon-btn .material-icons {
            font-size: 20px;
            line-height: 1;
        }
        .gde-kupit__admin-icon-btn:hover {
            background: #cfd4d8;
        }

        .gde-kupit__partner-detail-info {
            display: flex;
            gap: 16px;
            margin-bottom: 16px;
            align-items: flex-start;
        }

        .gde-kupit__partner-detail-logo {
            width: 96px;
            height: 96px;
            object-fit: contain;
            flex-shrink: 0;
            border-radius: 4px;
        }

        .gde-kupit__partner-detail-desc-col {
            flex: 1;
            min-width: 0;
        }

        .gde-kupit__partner-detail-description {
            font-size: 14px;
            color: var(--color-text-secondary);
            line-height: 1.5;
            margin: 0 0 8px 0;
        }

        .gde-kupit__partner-detail-website {
            margin: 0;
            font-size: 14px;
        }

        .gde-kupit__partner-detail-website a {
            color: var(--color-corp);
            text-decoration: none;
        }

        .gde-kupit__partner-detail-website a+a::before {
            content: ', ';
        }

        .gde-kupit__partner-detail-addresses-title {
            font-weight: 600;
            margin: 0 0 12px 0;
            font-size: 14px;
            flex-shrink: 0;
        }

        .gde-kupit__partner-detail-layout .col-left>.row {
            flex-shrink: 0;
        }

        .gde-kupit__partner-address-cards {
            border-radius: var(--radius-ui);
            overflow-y: auto;
        }

        @media (min-width: 900px) {
            .gde-kupit__partner-address-cards {
                flex: 1 1 auto;
                min-height: 0;
                max-height: 520px;
                height: auto;
            }
        }

        .gde-kupit__partner-address-card {
            border: 1px solid var(--color-border);
            border-radius: var(--radius-ui);
            padding: 14px;
            margin-bottom: 12px;
            transition: box-shadow 0.2s, border-color 0.2s, opacity 0.2s;
            position: relative;
            overflow: hidden;
            min-width: 0;
        }

        .gde-kupit__partner-address-card:last-child {
            margin-bottom: 0;
        }

        .gde-kupit__partner-address-card:hover {
            border-color: #ececec;
            box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.15);
            opacity: 0.99;
        }

        .gde-kupit__partner-address-card p {
            margin: 0 0 6px 0;
            font-size: 14px;
        }

        .gde-kupit__partner-address-card .gde-kupit__partner-address-badges {
            margin-top: 0;
            margin-bottom: 0;
        }

        .gde-kupit__partner-address-card .gde-kupit__partner-address-badges .badges {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
            margin: 0;
        }

        .gde-kupit__partner-address-card .gde-kupit__partner-address-badges .badges img {
            height: 22px;
            width: auto;
        }

        .gde-kupit__partner-address-card .gde-kupit__partner-address-footer {
            display: flex;
            align-items: center;
            margin-top: 12px;
            min-height: 24px;
            padding-right: 0;
        }

        .gde-kupit__partner-address-card--has-map > p,
        .gde-kupit__partner-address-card--has-map .gde-kupit__partner-address-footer {
            padding-right: 180px;
        }

        .gde-kupit__partner-address-card .parthner-cards-grid__item-show-on-map {
            position: absolute;
            right: 14px;
            bottom: 14px;
            margin: 0;
            z-index: 1;
        }

        .gde-kupit__partner-address-link {
            color: var(--color-corp);
            text-decoration: none;
        }

        .gde-kupit__partner-address-link:hover {
            text-decoration: underline;
        }

        /* Кнопка «Показать на карте» — 1 в 1 со старой версии (gde-kupit.css) */
        .parthner-cards-grid__item-show-on-map {
            line-height: 24px;
            margin-top: 0;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .scroll-to {
            color: var(--color-corp);
            font-size: 16px;
            border: 0 !important;
            text-decoration: none;
            background: transparent;
            cursor: pointer;
            font-family: inherit;
            padding: 0;
        }

        .scroll-to:hover {
            text-decoration: underline;
            background-color: transparent;
        }

        .scroll-to-icon::before {
            color: var(--color-corp);
            content: 'location_on';
            font-family: 'Material Icons';
            font-size: 24px;
            position: relative;
            top: 2px;
            text-decoration: none !important;
        }

        .gde-kupit__detail-map-wrap {
            display: flex;
            flex-direction: column;
            gap: 16px;
            width: 100%;
            min-width: 0;
            min-height: 0;
            flex: 1 1 auto;
            /* Sticky site header (~red bar) — keep map visible after «Показать на карте» scroll */
            scroll-margin-top: 96px;
        }

        @media (max-width: 899px) {
            .gde-kupit__detail-map-wrap {
                scroll-margin-top: 112px;
            }
        }

        .gde-kupit__detail-map-container {
            width: 100%;
            max-width: 100%;
            height: 420px;
            min-height: 280px;
            max-height: 640px;
            box-sizing: border-box;
            border-radius: var(--radius-ui);
            overflow: hidden;
            flex: 0 0 auto;
            background: #e8e8e8;
        }

        @media (min-width: 900px) {
            .gde-kupit__partner-detail-layout .col-right {
                gap: 16px;
            }

            .gde-kupit__partner-detail-veda-clan {
                flex-shrink: 0;
                margin-bottom: 0 !important;
            }

            /* Фиксированная высота viewport — не растягивать на длину списка адресов */
            .gde-kupit__detail-map-container {
                height: min(70vh, 560px);
                min-height: 360px;
                max-height: calc(100vh - 160px);
                align-self: stretch;
            }

            #gde-kupit-map-detail > ymaps,
            #gde-kupit-map-detail > [class*="ymaps-2-1-map"],
            #gde-kupit-map-detail > [class*="map"][class*="ymaps"] {
                width: 100% !important;
                height: 100% !important;
            }
        }

        .gde-kupit__partner-detail-veda-clan {
            padding: 20px;
            border: 1px solid var(--color-corp);
            border-radius: var(--radius-ui);
            background: #fff;
        }

        .gde-kupit__partner-detail-veda-clan .veda-clan-title {
            font-weight: 700;
            color: var(--color-corp);
        }

        .gde-kupit__partner-detail-veda-clan .veda-clan-description {
            font-size: 14px;
            color: var(--color-text-secondary);
            line-height: 1.4;
            margin: 0;
        }

        /* ========== CSS СТИЛИ ДЛЯ ПОПАПА series__bid-popup ========== */

        /* Оверлей попапа */
        .series__bid-popup {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.5);
            display: none;
            justify-content: center;
            align-items: center;
            z-index: 1000;
        }

        /* Контент попапа */
        .series__bid-popup-content {
            background-color: #fff;
            padding: 30px;
            padding-top: 20px !important;
            border-radius: 8px;
            width: 90%;
            max-width: 600px;
            max-height: 90vh;
            overflow-y: auto;
        }

        /* Заголовок попапа */
        .series__bid-popup-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
        }

        .series__bid-popup-title {
            margin: 0;
            font-size: 24px;
        }

        .series__bid-popup-close {
            font-size: 28px;
            cursor: pointer;
        }

        /* Форма */
        .series__bid-popup-form {
            display: flex;
            flex-direction: column;
            flex-wrap: wrap;
            gap: 10px;
        }

        .series__form-row {
            display: flex;
            gap: 20px;
        }

        .series__form-group {
            display: flex;
            flex-direction: column;
            width: 100%;
            flex: 1 1 100%;
        }

        .series__half-width {
            width: calc(50% - 10px);
        }

        /* Лейблы полей */
        .series__form-group label {
            margin-bottom: 5px;
            line-height: 24px;
            font-weight: 400;
            font-size: 14px;
            color: #979797;
        }

        .series__form-group label::after {
            content: '';
            display: none;
        }

        .series__form-group.required label::after {
            content: '*';
            color: #D40510;
            margin-left: 2px;
            display: inline;
        }

        /* Поля ввода */
        .series__form-group input,
        .series__form-group textarea {
            width: 100%;
            padding: 8px;
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 16px;
            box-sizing: border-box;
        }

        .series__form-group textarea {
            resize: vertical;
        }

        .series__bid-popup-form input:focus,
        .series__bid-popup-form textarea:focus {
            border-color: #D40510;
            outline: none;
        }

        /* Контейнер загрузки файла */
        .series__file-upload-container {
            margin-top: 20px;
            margin-bottom: 20px;
        }

        .series__file-upload-flex-wrapper {
            display: flex;
            flex-direction: row;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
        }

        .series__file-upload-flex-wrapper > div {
            width: 50%;
        }

        .series__file-limit {
            font-size: 14px;
            color: #606060;
            margin-top: 5px;
            margin-bottom: 0px;
        }

        .series__file-limit-wrap {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
        }

        .series__file-info {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-top: 10px;
        }

        .series__remove-file {
            background: none;
            border: none;
            color: #D40510;
            cursor: pointer;
            margin-left: 10px;
        }

        #file-name,
        #file-size {
            margin-right: 10px;
        }

        /* Кнопка загрузки файла */
        .series__button-upload {
            width: 100%;
            height: 34px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 15px;
            font-size: 16px;
            border-radius: 4px;
            cursor: pointer;
            background-color: white;
            color: #D40510;
            border: 1px solid #D40510;
            font-weight: 500;
        }

        .series__button-upload .series__icon {
            margin-right: 10px;
            font-size: 24px;
            font-weight: 500;
            color: #D40510;
        }

        /* Кнопка отправки */
        .series__form-submit {
            width: 100%;
            height: 50px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0 15px;
            font-size: 16px;
            border-radius: 4px;
            cursor: pointer;
            background-color: #D40510;
            color: white;
            border: none;
            font-weight: 500;
            gap: 10px;
            position: relative;
        }

        .series__form-submit:hover {
            background-color: #b8040e;
            color: white;
        }

        #submit-button:disabled {
            opacity: 0.7;
            cursor: not-allowed;
        }

        /* Чекбокс согласия */
        .series__checkbox {
            display: flex;
            align-items: center;
            gap: 10px;
            flex-wrap: nowrap;
            width: auto;
            margin-top: 10px;
            color: #D40510;
        }

        .series__checkbox-wrap {
            display: flex;
            align-items: flex-start;
            gap: 10px;
        }

        .policy-checkbox {
            position: relative;
            display: inline-flex;
            align-items: center;
            flex-shrink: 0;
            cursor: pointer;
            margin: 0;
            padding-top: 2px;
        }

        .policy-checkbox__input {
            position: absolute;
            inset: 0 auto 0 0;
            width: 20px;
            height: 20px;
            margin: 0;
            opacity: 0;
            cursor: pointer;
            z-index: 1;
        }

        .policy-checkbox__box {
            display: block;
            width: 20px;
            height: 20px;
            box-sizing: border-box;
            border: 2px solid #D40510;
            border-radius: 4px;
            background: #fff;
            pointer-events: none;
            position: relative;
            flex-shrink: 0;
        }

        .policy-checkbox__input:checked + .policy-checkbox__box {
            background: #D40510;
            border-color: #D40510;
        }

        .policy-checkbox__input:checked + .policy-checkbox__box::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 5px;
            height: 10px;
            border: solid #fff;
            border-width: 0 2px 2px 0;
            transform: translate(-50%, -60%) rotate(45deg);
            box-sizing: border-box;
        }

        .policy-checkbox__input:focus-visible + .policy-checkbox__box {
            box-shadow: 0 0 0 2px rgba(212, 5, 16, 0.25);
        }

        .policy-checkbox.is-error .policy-checkbox__box,
        .policy-checkbox__input.series-error + .policy-checkbox__box {
            box-shadow: 0 0 0 2px rgba(212, 5, 16, 0.35);
        }

        /* Одна звёздочка обязательности (тема тоже может вешать ::after на label — не дублируем span'ом) */
        .series__checkbox.required::before,
        .series__checkbox.required::after {
            content: none !important;
            display: none !important;
        }

        .series__checkbox.required .policy-checkbox::after {
            content: '*' !important;
            display: inline !important;
            color: #D40510;
            margin-left: 6px;
            line-height: 1;
        }

        .series__policy-text {
            flex: 1;
        }

        .series__policy-title {
            line-height: 2.0;
            font-weight: 400;
            font-size: 16px;
            color: #979797;
            display: inline;
            white-space: normal;
            word-wrap: break-word;
        }

        .series__policy-title-underlined {
            text-decoration: none;
            color: #979797;
            cursor: pointer;
            display: inline;
            white-space: normal;
            word-wrap: break-word;
        }

        .series__policy-title-underlined:hover {
            color: #b8040e;
            text-decoration: underline;
        }

        /* Состояния валидации */
        .series-error {
            border: 1px solid rgba(212, 5, 16, 1) !important;
        }

        .series-valid {
            border: 1px solid #ccc;
        }

        /* У чекбокса политики не рисуем лишнюю рамку валидации — она торчала из-под кастомного квадрата */
        input[type='checkbox'].series-error,
        input[type='checkbox'].series-valid,
        .policy-checkbox__input.series-error,
        .policy-checkbox__input.series-valid {
            border: none !important;
            outline: none !important;
            box-shadow: none !important;
        }

        /* Лоадер формы */
        #form-loader {
            margin-left: 10px;
            vertical-align: middle;
            width: 1em;
            height: 1em;
        }

        #form-loader.running,
        #form-loader.running * {
            color: var(--color-corp) !important;
            fill: var(--color-corp) !important;
            stroke: var(--color-corp) !important;
        }

        #form-loader svg {
            color: var(--color-corp);
            fill: var(--color-corp);
        }

        #submit-button:hover #form-loader.running,
        #submit-button:hover #form-loader.running * {
            color: #ffffff !important;
            fill: #ffffff !important;
            stroke: #ffffff !important;
        }

        #submit-button:hover #form-loader svg {
            color: #ffffff;
            fill: #ffffff;
        }

        @media (min-width: 768px) {
            .series__bid-popup-form .series__form-group.series__half-width {
                flex: 1 1 calc(50% - 10px);
            }
        }

        /* Alertify уведомления */
        .alertify-notifier {
            color: white;
        }

        /* ========== АДАПТИВНЫЕ СТИЛИ ПОПАПА ========== */

        @media (max-width: 767px) {
            .series__form-row {
                flex-direction: column;
            }

            .series__half-width {
                width: 100%;
            }
        }

        @media (max-width: 600px) {
            .series__file-upload-flex-wrapper {
                flex-direction: column;
            }

            .series__file-upload-flex-wrapper > div {
                width: 100%;
            }
        }


/* Description clamp + read more (visual QA) */
.gde-kupit__desc--clamp {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gde-kupit__desc-more {
    margin-top: 0.35rem;
    padding: 0;
    border: 0;
    background: none;
    color: var(--color-corp, #c00d0d);
    font-size: 0.875rem;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
}
.gde-kupit__desc-more:hover {
    color: var(--color-corp-hover, #a00b0b);
}

/* Logo fallback: hide broken images */
.gde-kupit__clan-logo-card img,
.gde-kupit__partner-detail-logo,
.gdekupit-udt-logo {
    object-fit: contain;
}
.gdekupit-udt-logo--empty,
.gde-kupit__partner-detail-logo.bg-grey-3 {
    min-width: 48px;
    min-height: 48px;
}

/* Map error state */
.gde-kupit__map-placeholder--error {
    color: #8a1f1f;
    background: rgba(255, 245, 245, 0.95);
    font-weight: 600;
    text-align: center;
    padding: 1rem;
}

/* Mobile cluster / map overflow */
@media (max-width: 640px) {
    .gdekupit-udt-map,
    .gde-kupit__map-container,
    .gde-kupit__detail-map-container {
        min-height: 220px;
    }
    .gde-kupit__clan-logos {
        gap: 0.5rem;
    }
    .gde-kupit__clan-logo-card {
        width: 64px;
        height: 64px;
    }
}

/* Cluster icons: allow pie charts without clipping on narrow screens.
   Pad only outer shells (not nested .gde-kupit__map-container) to avoid double inset. */
@media (max-width: 640px) {
    .gdekupit-udt-map .ymaps-2-1-79-map,
    .gde-kupit__map-container .ymaps-2-1-79-map,
    .gde-kupit__detail-map-container .ymaps-2-1-79-map {
        overflow: visible;
    }
    .gdekupit-udt-map,
    .gde-kupit__detail-map-container {
        overflow: visible;
        padding: 12px 8px;
        box-sizing: border-box;
    }
    .gdekupit-udt-map .gde-kupit__map-container,
    .gde-kupit__detail-map-container .gde-kupit__map-container {
        overflow: visible;
        padding: 0;
    }
    .gde-kupit__clan-logo-card img {
        max-width: 100%;
        max-height: 100%;
    }
}
