:root {
    --primary-blue: #6A9CC7;
    /* Wyrazisty "linkowy" blekit TYLKO na hover/focus okruszkow. Osobna
       zmienna, bo --primary-blue (#6A9CC7) jest blady i siedzi na kilkunastu
       innych elementach strony oferty - jego podmiana przemalowalaby pol strony. */
    --crumb-hover-blue: #0d6efd;
    --page-bg: #F8F9FB;
    --card-bg: #FFFFFF;
    --border-light: #E0E4EB;
    --border-medium: #C7CDD6;
    --text-dark: #3A3F4A;
    --text-medium: #7F8DA3;
    --text-light: #AAB2C0;
    --red-main: #D4545D;
    --red-light-bg: #FFF5F5;
    --red-light-border: #F8DCDC;
    --green-dot: #82C98F;
    --yellow-dot: #FDD786;
    --button-bg-light: #F2F4F7;
    --input-bg: #FDFEFE;
    --shadow-light: 0 1px 2px rgba(0,0,0,0.03), 0 1px 1px rgba(0,0,0,0.01);
    --shadow-card: 0 4px 12px rgba(0,0,0,0.03), 0 2px 4px rgba(0,0,0,0.015);
    --shadow-input-inner: inset 0 1px 2px rgba(0,0,0,0.04);
    --main-image-gradient: linear-gradient(to bottom, rgb(0 0 0 / 8%) 0%, rgb(0 0 0 / 55%) 100%);
    --header-line-color: #eef2f6;
    --nextcars-blue: #6A9CC7;
    --nextcars-grey: #9FB1C7;
    --light-nextcars-shadow: rgba(106, 156, 199, 0.15);
    --top-nav-bg-breadcrumb: #F5F7FA;
    --top-nav-border-breadcrumb: #E5E9EF;
    --primary-color: #2196F3;
    --primary-hover: #176399;
    --badge-copart: #0e5ac0;
    --badge-iaai: #e91f1f;
    --transition-base: 0.2s ease;
    --secondary-color-light: #e6edf6;
    --secondary-color-dark: #7f8fa4;
}

body {
    font-size: 14px;
    line-height: 1.45;
    color: var(--text-dark);
    background-color: var(--page-bg);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    min-width: 320px;
    overflow-x: hidden;
    touch-action: manipulation;
}
div#vehicle-header {
    border: none;
}
.dot-1 {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
div#salesHistoryModalTitle {
    font-size: 14px !important;
    font-weight: 500 !important;
    margin-bottom: 1rem !important;
}
.main-image-container,
.thumbs-row {
    touch-action: manipulation;
}
my-nextcar-topbar {
        z-index: 999;
        display: contents;
    }
        my-nextcar-topbar {
            Display: block;
        }
span.status-tag.status-oczekiwanie {
    background-color: #5300ff17;
    color: #b700ff;
    border-color: #5300ff1f;
    width: 100%;
}

.container {
    max-width: 1550px;
    margin: 0 auto;
    padding: 0 20px;
}
span.my_new {
    color: black;
}
strong#offerViewsCount {
    color: black;
}
.header-section {
    box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.02);
    position: relative;
    z-index: 20;
    background-color: white;
}

/* Telefony (do 767 px) maja wlasny padding w bloku @media nizej. */
.top-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 20px;
    font-size: 13px;
    max-width: 1550px;
    margin: 0 auto;
    position: relative; /* Konieczne dla pozycjonowania pseudo-elementu */
}

.top-nav::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 1px;
    background-color: #f0f0f0;
}

#cookieConsent {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 20px;
    text-align: center;
    z-index: 999999;
    display: none;
}

#cookieConsent a {
    text-decoration: underline;
    color: var(--nc-text-light);
}

#cookieConsent button {
    margin-left: 20px;
    background: #ffc107;
    border: none;
    padding: 8px 15px;
    border-radius: 4px;
    cursor: pointer;
    transition: background 0.3s;
}

#cookieConsent button:hover {
    background: #ffb300;
}

span#seller_old {
    text-transform: uppercase;
    font-weight: 500;
}

/* ==========================================================================
   OKRUSZKI (breadcrumbs) nad tytulem oferty
   Plaski uklad w jednej linii: tekst + separator "chevron-right", bez ramek
   i kafelkow. Ta sama konwencja co .blog-crumbs w blog.css, zeby sciezka
   nawigacji wygladala identycznie w calym serwisie.
   Znaczniki: <nav aria-label> > <ol class="breadcrumb-trail"> > li,
   ostatni okruszek ma aria-current="page". Dane strukturalne
   (BreadcrumbList) wstrzyka SSR w generateSeoTags() w oferty.js.
   ========================================================================== */
.top-nav .breadcrumbs {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
}

.top-nav .breadcrumb-trail {
    list-style: none;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    row-gap: 2px;
    margin: 0;
    /* Miejsce z prawej na licznik "Wyswietlenia oferty" (position:absolute). */
    padding: 0 200px 0 0;
    min-width: 0;
    font-size: 13px;
}

/* Ponizej 993 px znika napis "Wyswietlenia oferty" (zostaje ikona z liczba),
   wiec rezerwa z prawej moze byc mniejsza. Zakres domkniety od dolu, bo
   regula dla telefonow (padding-right: 0) siedzi dalej w pliku. */
@media (max-width: 992px) and (min-width: 769px) {
    .top-nav .breadcrumb-trail {
        padding-right: 60px;
    }
}

.top-nav .breadcrumb-trail > li {
    display: flex;
    align-items: center;
    position: relative;
    z-index: 10;
    min-width: 0;
}

/* Separator wisi za KAZDYM okruszkiem poza ostatnim, niezaleznie od tego czy
   pozycja ma rozwijane menu - inaczej jednego ">" brakowaloby zaraz po
   "NextCar" i sciezka czytalaby sie jak blad renderowania.
   ::after, a nie ::before na kolejnym li: gdy sciezka zawinie sie na
   telefonie, znak zostaje na koncu poprzedniej linii (czyta sie jak "dalej"),
   a nie zwisa samotnie na poczatku nowej. */
.top-nav .breadcrumb-trail > li:not(:last-child)::after {
    content: "\f285";
    font-family: "bootstrap-icons";
    font-size: 11px;
    line-height: 1;
    color: #919ca7;
    margin: 0 14px;
    flex: 0 0 auto;
    pointer-events: none;
    transition: transform .2s ease, color .2s ease;
}

/* Puste "alt" w content sprawia, ze czytniki ekranu nie czytaja separatora
   jako znaku. @supports, bo starsze Safari odrzucilo by cala deklaracje
   i sciezka zostalaby bez separatorow. */
@supports (content: "a" / "b") {
    .top-nav .breadcrumb-trail > li:not(:last-child)::after {
        content: "\f285" / "";
    }
}

/* Wyzsza specyficznosc niz .dropdown-item i .dropdown-item.active - te klasy
   siedza na okruszkach (SSR w oferty.js je odtwarza) i inaczej narzucilyby
   pogrubienie i kolor pozycji "rocznik". */
.top-nav .breadcrumb-trail > li > a,
.top-nav .breadcrumb-trail > li > span {
    display: inline-flex;
    align-items: center;
    padding: 4px 0;
    border: 0;
    border-radius: 0;
    background: none;
    font-size: 13px;
    font-weight: 400;
    color: #919ca7;
    text-decoration: none;
    white-space: nowrap;
    transition: color .2s ease;
}

/* Podswietlenie tylko dla myszki. Na dotyku :hover przykleja sie po tapnieciu
   i okruszek zostaje niebieski po powrocie "wstecz" z historii przegladarki. */
@media (hover: hover) and (pointer: fine) {
    .top-nav .breadcrumb-trail > li > a:hover {
        color: var(--crumb-hover-blue);
        text-decoration: underline;
        text-underline-offset: 3px;
    }
    /* Strzalka przy pozycji z rozwijanym menu obraca sie w dol - to samo
       zachowanie co przed przebudowa okruszkow, tylko ze znak pelni teraz
       podwojna role: separatora sciezki i wskaznika menu.
       :hover na CALYM li, nie na linku: menu jest dzieckiem li, wiec strzalka
       zostaje odwrocona tak dlugo, jak kursor jest w otwartej liscie.
       Pozycje bez menu ("NextCar") nie maja .has-dropdown i sie nie obracaja. */
    .top-nav .breadcrumb-trail > li.has-dropdown:hover::after {
        transform: rotate(90deg);
        color: var(--crumb-hover-blue);
    }
}

.top-nav .breadcrumb-trail > li > a:focus-visible {
    color: var(--crumb-hover-blue);
    outline: 2px solid var(--crumb-hover-blue);
    outline-offset: 3px;
    border-radius: 3px;
    text-decoration: none;
}

/* Ostatni okruszek (nazwa oferty) - nie jest linkiem, ciemniejszy od reszty. */
.top-nav .breadcrumb-trail > li.crumb-current {
    min-width: 0;
    flex: 0 1 auto;
}

.top-nav .breadcrumb-trail > li > span.current-item {
    color: #6c757d;
    min-width: 0;
}

/* Globalna .vin-highlight ma czarny kolor i pionowy padding - w plaskiej
   sciezce rozpychalby ostatni okruszek wyzej od pozostalych. */
.top-nav .breadcrumb-trail .vin-highlight {
    color: inherit;
    padding: 0 0 0 5px;
}

/* --- rozwijane menu marek / modeli / rocznikow ------------------------- */
/* top:100% bez odstepu, inaczej kursor gubi hover w szczelinie. */
.top-nav .breadcrumb-trail .crumb-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: -12px;
    z-index: 999;
    min-width: 150px;
    margin: 0;
    padding: 6px;
    max-height: 450px;
    overflow-y: auto;
    overscroll-behavior: contain;
    list-style: none;
    background-color: #ffffff;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(30, 64, 114, .12);
}

/* Rozwijane menu tylko dla myszki - na telefonie tapniecie ma po prostu
   przejsc na liste ofert (okruszki maja prawdziwe adresy), a nie zostawic
   otwarte menu przykleklym hoverem. :focus-within zostaje poza zapytaniem,
   bo obsluguje nawigacje klawiatura. */
@media (hover: hover) and (pointer: fine) {
    .top-nav .breadcrumb-trail li.has-dropdown:hover > .crumb-menu {
        display: block;
    }
}

.top-nav .breadcrumb-trail li.has-dropdown:focus-within > .crumb-menu {
    display: block;
}

.top-nav .breadcrumb-trail .crumb-menu > li {
    display: block;
}

.dropdown-item {
    display: block;
    padding: 5px 10px;
    text-decoration: none;
    color: var(--text-dark);
    font-size: 13px;
    white-space: nowrap;
}

.dropdown-item:hover {
    background-color: #F8F9FB;
}

.dropdown-item.active {
    font-weight: 600;
    color: var(--nextcars-blue);
    background-color: transparent;
}

.user-actions {
    display: flex;
    align-items: center;
    gap: 15px;
}

.icon-button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

.user-actions .bi {
    color: var(--text-medium);
    font-size: 17px;
    transition: color 0.2s;
}

.user-actions .bi:hover {
    color: var(--nextcars-blue);
}

.main-header-wrapper {
    padding: 18px 2px 15px;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.main-header-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.main-header-info h1 {
    font-size: 22px;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0 0 12px 0;
    display: flex;
    align-items: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    align-content: center;
}

.main-header-info .vin-tag,
.main-header-info .lot-tag {
    font-weight: 400;
    color: #000000;
    background-color: #e5ecf4;
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 12px;
    letter-spacing: 0.5px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    position: relative;
}

.main-header-info .red-tag {
    color: #fff;
    padding: 5px 9px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 400;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    flex-direction: row;
    position: relative;
}

.main-header-info p {
    font-size: 13px;
    color: var(--text-medium);
    margin: 0;
}

.main-header-actions {
    display: flex;
    gap: 10px;
    align-items: center;
}

.seo-model-button {
    display: inline-block;
    background-color: #e6edf678;
    color: #646f80; /* bylo #7f8fa4 - kontrast 3.3:1 ponizej AA; ten sam kolor co pigulki marek na /pl/ */
    padding: 5px 12px;
    border-radius: 20px;
    text-decoration: none;
    font-size: .9em;
    white-space: nowrap;
    border: 1px solid #e6edf6;
    transition: all .3s ease;
}

.seo-model-button:hover {
    background-color: #e6edf6; 
    color: #334155;
}

.main-header-actions .action-button {
    background-color: #ffffff;
    text-decoration: none;
    cursor: pointer;
    height: 32px;
    border: 1px solid #E6EDF6;
    font-size: 13px;
    color: black;
    padding: 12px 12px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all .3s;
}

.main-header-actions  .action-button:hover {
            background-color: var(--light-bg);
            border-color: #adb5bd;
}

.main-header-actions .action-button i {
    font-size: 16px;
}

@media (min-width: 1400px) {
    .main-header-bottom {
        display: grid;
        grid-template-columns: 1.6fr 1fr 1fr;
        gap: 10px;
        margin-top: 8px;       /* Twoja wartość dla wersji grid */
        align-items: stretch;  /* Stretch sprawi, że paski będą na całą wysokość */
    }

    .main-header-bottom::before {
        content: "";
        grid-column: 2;
        grid-row: 1;
        border-right: 1px solid #f0f0f0;
        height: 60px;
        width: 100%;
        pointer-events: none;
        margin: -12px 0px -17px 13px;
    }


    .tabs {
        grid-column: 1;
    }

    .date-info {
        grid-column: 3;
        /* justify-self: end; <- odkomentuj, jeśli data ma być przyklejona do prawej */
    }
}

@media (max-width: 1400px) {
    .main-header-bottom .date-info {
        max-width: 365px;
        margin-top: 10px;
    }
.main-header-bottom {
    margin-top: 10px;
   }

.date-info {

    min-width: 360px!important;
}
span#auctionDate {
    margin-top: 2px!important;
}
span.my_2 {
    margin-top: 2px!important;
}
div#auctionStatusDot {
    margin-top: 4px!important;

}
}
@media (max-width: 768px) {
    .main-header-bottom .date-info {
        max-width: 100%!important;
    }
}

.main-header-bottom .tabs {
    display: flex;
    gap: 5px;
}

.main-header-bottom .tabs button {
    display: flex;
    gap: 10px;
    border: 1px solid #e6ecf5;
    font-size: 13px;
    color: #494f57;
    padding: 6px 12px;
    border-radius: 4px;
    align-items: center;
    transition: all .3s;
    text-decoration: none;
    background-color: #ffffff63;
}

.main-header-bottom .tabs button .count {
    background-color: #ffffff00;
    color: #515151;
    font-size: 13px;
    padding: 0px 0px 0px 0px;
    font-weight: 500;
}

.main-header-bottom .tabs button i {
    font-size: 16px;
    color: var(--text-medium);
    transition: color 0.2s;
}

.main-header-bottom .tabs button.has-dropdown::after {
    content: "\f282";
    font-family: "bootstrap-icons";
    font-weight: 900;
    margin-left: 5px;
    font-size: 10px;
    color: var(--text-medium);
    transition: transform 0.2s;
    transform: rotate(0deg);
}

.main-header-bottom .tabs button.has-dropdown.active::after {
    transform: rotate(-180deg);
}

.main-header-bottom .tabs button.has-dropdown:hover::after {
    color: var(--primary-blue);
}

.main-header-bottom .date-info {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    color: var(--text-medium);
    line-height: 1;
}

.date-info {
    text-decoration: none;
    cursor: pointer;
    height: 30px;
    -moz-appearance: none;
    appearance: none;
    font-size: 13px;
    color: #919ca7;
    border-radius: 25px;
    display: flex;
    align-items: center;
    transition: all .3s;
    position: relative;
    overflow: hidden;
    min-width: 402px;
}



.date-info > * {
    position: relative;
    z-index: 2;
}



.main-header-bottom .date-info .date-value {
    color: #000000;
}

.main-header-bottom .date-info .date-value span {
    color: var(--nextcars-grey);
    font-weight: 400;
}

/* Aukcja rozstrzygnieta wynikiem, choc nominalne okno jeszcze trwa: w miejscu odliczania
   stoi slowo "koniec" w kolorze czerwonej kropki obok (ta sama czcionka i rozmiar). */
.main-header-bottom .date-info .date-value.auction-ended-mark {
    color: #ff0000;
}

/* Aukcja zakończona: etykieta „Koniec" zamiast „Data zakończenia aukcji:", w kolorze czerwonej kropki. */
.main-header-bottom .date-info .auction-ended-label {
    color: #ff0000;
}

.blue-dot {
    width: 7px;
    height: 7px;
    background-color: #03A9F4!important;
    border-radius: 50%;
    margin-right: 4px;
    margin-top: 2px;
    min-width: 7px;

}

.red-dot {
    width: 7px;
    height: 7px;
    background-color: #ff0000;
    border-radius: 50%;
    margin-right: 4px;
    margin-top: 2.5px;
    min-width: 7px;
}

.green-dot {
    top: -2px;

}

.green {
    color: #09cd0d!important;
}

.red {
    color: #ff0000cf!important;
}

.auction-date-value {
    color: #2c2e31!important;
}

.green-dot::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    background-color: #09cd0d;
    border-radius: 50%;
    margin-right: 4px;
    margin-top: 2px;
    animation: livePulse 1s infinite;
    box-shadow: 0 0 8px #28a745;
}

@keyframes livePulse {
    0% {
        box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.7);
    }
    70% {
        box-shadow: 0 0 0 5px rgba(40, 167, 69, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(40, 167, 69, 0);
    }
}

.auction-status.blue::before {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    background-color: #2196F3;
    border-radius: 50%;
    margin-right: 4px;
}

div#auctionStatusDot {
    margin-top: 7px;
    margin-left: 10px;
}

.content-grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr;
    gap: 12px;
    margin-top: 12px;
    align-items: flex-start;
}

.card {
    background-color: var(--card-bg);
    padding: 15px;
    border-radius: 4px;
    position: relative;
    border: 1px solid rgba(232, 235, 239, 0.4);
    border-bottom: none !important;
    box-shadow: 0 2px 3px rgb(51 65 80 / 3%);
}

.section-header {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-light);
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-dark);
}

h2 {
    font-size: 16px;
    margin: 0;
}


.info-item,
.detail-row,
.calculator-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(232, 235, 239, 0.6);
    font-size: 13px;
    line-height: 1.4;
    color: var(--text-medium);
}

.cost-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(232, 235, 239, 0.6);
    font-size: 13px;
    line-height: 1.4;
    color: var(--text-dark);
}

.info-item:last-child,
.detail-row:last-child,
.cost-item:last-child,
.calculator-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.info-item span:first-child, .detail-row span:first-child, .calculator-row span:first-child {
    color: #7e8ea2;
}

.cost-item span:first-child {
    color: var(--text-dark);
}

.info-item .value, .detail-row .value, .cost-item .value {
    color: #232425;
    text-align: right;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

.expand-button {
    background-color: #ffffff;
    border: 1px solid #e0e4eb21;
    padding: 10px 20px;
    border-radius: 6px;
    width: 100%;
    margin-top: 20px;
    cursor: pointer;
    font-size: 13px;
    color: #000000;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
    background: #EAECEF;
    font-weight: 500;
}

.expand-button:hover {
    background-color: #E8EBEF;
    border-color: #D6DCE2;
}

.icon-inline.bi {
    color: var(--text-light);
    margin-left: 0px;
    font-size: 12px;
    cursor: pointer;
}

.left-column {
    grid-column: 1 / 2;
    position: sticky;
    top: 20px;
    align-self: start;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.left-column::-webkit-scrollbar {
    width: 8px;
}

.left-column::-webkit-scrollbar-thumb {
    background-color: var(--border-light);
    border-radius: 8px;
}

.left-column {
    scrollbar-width: thin;
    scrollbar-color: var(--border-light) transparent;
}

.image-gallery .main-image-container {
        position: relative;
        margin-bottom: 15px;
        border-radius: 8px 8px 0px 0px;
        overflow: hidden;
        background-color: #E8ECF2;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
        aspect-ratio: 640 / 466;
        cursor: pointer;
        border: none;
}

.image-gallery .main-image {
    width: 100%;
    height: auto;
    min-height: 300px;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease-in-out, opacity 0.3s ease-in-out;
}

.image-overlay-buttons {
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    gap: 6px;
    background: var(--main-image-gradient);
    padding: 12px;
    z-index: 9;
}

.image-overlay-buttons button {
    border: none;
    gap: 6px;
    position: relative;
    z-index: 9;
    font-size: 13px;
    color: #fff;
    background: #111821ad;
    border-radius: 4px;
    height: 26px;
    line-height: 0px;
    margin-left: 0px;
    padding: 0 10px !important;
    display: flex;
    align-items: center;
    transition: all .2s;
    align-content: center;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-evenly;
}

.image-overlay-buttons button:hover {
    background-color: rgba(0, 0, 0, 0.75);
}

.thumbnails {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: 10px;
    margin-bottom: 0;
    padding: 12px;
}

section.card.image-gallery {
    padding: 0px;
}

.thumbnails img.active {
    border-color: var(--primary-blue);
    box-shadow: 0 0 0 1px var(--primary-blue);
}

.calculator-section .input-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 0;
    font-size: 14px;
    border-bottom: 1px solid var(--border-light);
    gap: 15px;
    flex-wrap: wrap;
}

.calculator-section .input-row:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}

.calculator-section .input-row > span {
    flex-shrink: 0;
    color: var(--text-medium);
    display: flex;
    align-items: center;
    gap: 6px;
    line-height: 1.2;
}

.currency-input-group {
    display: flex;
    align-items: center;
    border: 1px solid var(--border-light);
    border-radius: 6px;
    background-color: var(--input-bg);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: auto;
    min-width: 140px;
    max-width: 190px;
    flex-grow: 1;
}

.currency-input-group:focus-within {
    border-color: var(--nextcars-blue);
    box-shadow: 0 0 0 3px var(--light-nextcars-shadow);
}

.currency-input-group input {
    border: none;
    padding: 9px 12px;
    text-align: right;
    font-size: 15px;
    font-weight: 500;
    color: var(--text-dark);
    background-color: transparent;
    flex-grow: 1;
    outline: none;
    min-width: 40px;
}

.currency-input-group .currency-label {
    padding: 9px 10px;
    color: var(--text-medium);
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 4px;
    background-color: var(--button-bg-light);
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

.currency-input-group .currency-label:first-child {
    border-left: none;
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.flag-icon {
    width: 18px;
    border: 1px solid #ddd;
    vertical-align: middle;
    border-radius: 2px;
}

.middle-column {
    display: flex;
    flex-direction: column;
    gap: 12px;
    grid-column: 2 / 3;
    order: unset;
}

.vehicle-details .status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 5px;
    vertical-align: middle;
    border: 1px solid rgba(0,0,0,0.1);
}

.vehicle-details .status-dot.green {
    background-color: var(--green-dot);
}

.vehicle-details .status-dot.yellow {
    background-color: var(--yellow-dot);
}

.more-details-link {
    text-align: center;
    margin-top: 20px;
    font-size: 13px;
}

.more-details-link a {
    color: var(--primary-blue);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.more-details-link a:hover {
    text-decoration: underline;
}

.right-column-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
    grid-column: 3 / 4;
    order: unset;
    min-width: 402px;
}

.archive-notice {
    background-color: var(--red-light-bg);
    border: 1px solid var(--red-light-border);
    color: var(--text-dark);
    padding: 15px;
    border-radius: 8px;
    font-size: 13px;
    text-align: center;
    line-height: 1.5;
    display: none;
}

.final-offer-card {
    background-color: var(--red-light-bg);
    border: 1px solid var(--red-light-border);
    text-align: center;
    padding: 25px;
    border-radius: 10px;
}

.final-offer-card p:first-child {
    font-size: 13px;
    color: var(--text-medium);
    margin-bottom: 10px;
    font-weight: 500;
}

.final-offer-card .price {
    font-size: 26px;
    font-weight: 600;
    color: #000000;
    margin-bottom: 20px;
}

.sold-button {
    background-color: #70808f;
    color: #fff;
    padding: 4px 12px;
    border: none;
    border-radius: 6px;
    font-weight: 400;
    font-size: 13px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: var(--shadow-light);
    transition: background-color 0.2s;
    width: fit-content;
    margin: 0 auto;
}

.sold-button:hover {
    background-color: #61A0C6;
}

.price-calculator .price-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px dashed var(--border-light);
    font-size: 13px;
    align-content: center;
}

.price-calculator .price-item .main-value {
    font-weight: 600;
    color: var(--text-dark);
}

.price-calculator .price-item .sub-label {
    font-size: 12px;
    color: var(--text-medium);
    line-height: 1.2;
    margin-top: 4px;
}

.price-calculator .price-item .value-and-label {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    line-height: 1.2;
}

.price-calculator .price-item.total {
    font-size: 18px;
    color: var(--text-dark);
    padding-top: 20px;
    border-bottom: none;
    margin-top: 15px;
}

.price-calculator .price-item.total .value {
    font-size: 24px;
    font-weight: 600;
    color: #ee0000;
    font-family: revert;
}

.price-calculator .location-select {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0 0;
    margin-top: 20px;
    font-size: 13px;
}

.price-calculator .location-select span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--text-dark);
}

b, strong {
    font-weight: 500;
}

.price-calculator .location-select select {
    border: 1px solid var(--border-light);
    padding: 8px 12px;
    border-radius: 5px;
    font-size: 13px;
    background-color: var(--input-bg);
    cursor: pointer;
    min-width: 150px;
    color: var(--text-dark);
    font-weight: 500;
    box-shadow: var(--shadow-input-inner);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='https://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236c757d'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 20px;
    transition: all .3s;
}

.price-calculator .location-select select:hover {
    border-color: var(--nextcars-blue);
}

.price-calculator .location-select select:focus {
    outline: none;
    border-color: var(--nextcars-blue);
    box-shadow: 0 0 0 4px var(--light-nextcars-shadow);
}

.cost-breakdown .info-text {
    font-size: 12px;
    color: var(--text-medium);
    margin-top: 15px;
    line-height: 1.5;
}

.cost-breakdown .cost-item span:first-child {
    color: #7e8ea2;
}

.cost-breakdown .cost-item.total span:first-child {
    font-weight: 600;
}

/* Dopłata do kontenera dla elektryka - drobny szary dopisek pod ceną frachtu. */
.cost-breakdown .ev-freight-note {
    margin-top: -6px;
    padding-bottom: 4px;
    font-size: 11px;
    line-height: 1.3;
    color: var(--text-medium);
    text-align: right;
}

.cost-breakdown .ev-freight-note[hidden] {
    display: none;
}

.cost-item.total {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    align-content: center;
    width: 100%;
    border: 1px solid rgb(237 239 241);
    margin-top: 8px;
    padding: 10px 10px 10px 8px;
    border-radius: 5px;
    margin-bottom: 14px;
}

.footer-placeholder {
    margin-top: 40px;
    padding: 20px;
    text-align: center;
    color: var(--text-medium);
    font-size: 12px;
}

.collapsible-content {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-out;
}

.collapsible-content.active {
    grid-template-rows: 1fr;
}

.collapsible-content > div {
    overflow: hidden;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

.lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;

        width: 100vw;
        height: 100vh;
        background-color: rgba(13, 33, 55, 0.9);
        z-index: 99999999;
        backdrop-filter: blur(8px);
}

.lightbox-overlay.active {
    opacity: 1;
    visibility: visible;
}

.lightbox-content {
    position: relative;
    max-width: 90%;
    max-height: 90%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.lightbox-main-image {
    max-width: 100%;
    max-height: calc(100vh - 102px);
    object-fit: contain;
    transition: transform 0.3s ease-in-out;
}

.lightbox-close, .media-overlay-close {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: 26px;
    cursor: pointer;
    z-index: 1010;
    transition: color 0.2s, transform 0.2s;
}
        .lightbox-close:hover, .media-overlay-close:hover {
            color: white;
            transform: rotate(90deg);
        }

.lightbox-nav-button {
    position: absolute;
    top: 45%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.6);
    color: #fff;
    border: none;
    padding: 12px 18px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 28px;
    z-index: 10001;
}

.lightbox-nav-button.prev {
    left: 20px;
}

.lightbox-nav-button.next {
    right: 20px;
}

.lightbox-thumbnails {
    margin-top: 10px;
    text-align: center;
    display: flex;
    flex-wrap: nowrap;
    gap: 10px;
    overflow-x: scroll;
    padding: 0px 15px 10px 15px;
    width: 100%;
    max-width: 100%;
    position: absolute;
    bottom: 0;
    justify-content: center;
}

.lightbox-thumbnails img {
    flex: 1 1 auto;
    max-width: 80px;
    height: 60px;
    object-fit: cover;
    cursor: pointer;
    border-radius: 3px;
}

.lightbox-thumbnails img.active {
    border-color: var(--primary-blue);
}

.generic-modal-overlay {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
}

.generic-modal-overlay.active {
    display: flex;
}

.generic-modal-content {
    background-color: #fbfbfb00;
    margin: auto;
    width: 100%;
    position: relative;
    border-radius: 8px;
    padding: 20px;
    box-sizing: border-box;
    max-height: 95vh;
    overflow-y: auto;
    color: #969b9f;
}

button.modal-close {
    margin-top: -10px;
}

.generic-modal-content .modal-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 32px;
    height: 32px;
    font-size: 28px;
    line-height: 32px;
    text-align: center;
    color: #aaa;
    background-color: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
    z-index: 9999;
}

.generic-modal-content .modal-close:hover {
    color: black;
}

.modal-360-container iframe {
    width: 100%;
    height: calc(100vh - 120px);
    border: none;
}

.threesixty-modal .generic-modal-content {
    padding: 0;
}

.modal {
    display: none;
    position: fixed;
    z-index: 10000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
}

.modal-content {
    background-color: #fbfbfb;
    margin: auto;
    width: 90%;
    position: relative;
    border-radius: 5px;
}

.modal-close {
    color: #aaa;
    float: right;
    font-size: 32px;
    position: absolute;
    top: -6px;
    right: 7px;
    cursor: pointer;
}

.modal-close:hover,
.modal-close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

.modal-video-container, .modal-360-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
    border-radius: 8px;
}

.modal-video-container iframe,
.modal-360-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.sales-history-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    font-size: 13px;
}

.sales-history-table th, .sales-history-table td {
    padding: 10px;
    text-align: left;
    border-top: 1px solid #ddd;
}

.sales-history-table th {
    background-color: var(--top-nav-bg-breadcrumb);
    color: var(--text-dark);
    font-weight: 600;
}

.sales-history-table tr:nth-child(even) {
    background-color: #f2f2f2;
}

.sales-history-table tr:hover {
    background-color: #f5f5f5;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
}

.copy-button {
    background: none;
    border: none;
    color: #72889e;
    cursor: pointer;
    font-size: 14px;
    margin-left: 1px;
    vertical-align: middle;
    padding: 0;
    line-height: 1;
    margin-top: 0px;
}

.copy-button i {
    pointer-events: none;
}

.copy-button:hover {
    color: var(--nextcars-blue);
}

.copy-success-message {
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;
    position: fixed;
    bottom: 20px;
    left: 20px;
    padding: 10px 16px;
    background-color: rgba(0, 0, 0, 0.85);
    color: #fff;
    border-radius: 8px;
    z-index: 9999;
    font-size: 0.9rem;
}

.copy-success-message.show {
    opacity: 1;
    visibility: visible;
}

span#mainVinDisplay {
    display: inline;
}

.currency-input-group {
    display: flex;
    align-items: center;
    border: 1px solid var(--border-light);
    border-radius: 5px;
    background-color: var(--input-bg);
    transition: border-color 0.2s, box-shadow 0.2s;
    flex-grow: 1;
    width: 120px;
}

.currency-input-group:focus-within {
    border-color: var(--nextcars-blue);
    box-shadow: 0 0 0 3px var(--light-nextcars-shadow);
}

.currency-input-group input {
    border: none;
    padding: 8px 12px;
    text-align: right;
    font-size: 15px;
    font-weight: 500;
    color: var(--text-dark);
    background-color: transparent;
    flex-grow: 1;
    outline: none;
}

.currency-input-group .currency-label {
    padding: 8px 12px;
    color: var(--text-medium);
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 6px;
}

.currency-separator {
    width: 1px;
    background-color: var(--border-light);
    height: 25px;
    margin: 0 6px;
}

.cost-breakdown .cost-group-header {
    display: flex
;
    align-items: center;
    gap: 12px;
    color: #192b3e;
    padding-bottom: 8px;
    border-bottom: 1px dashed var(--border-light);
    font-size: 14px;
    justify-content: space-between;
}

.flag-icon {
    width: 24px;
    border: 1px solid #ddd;
    vertical-align: middle;
    opacity: 0.7;
}

.auction-fee-detail-button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-size: 12px;
    color: var(--primary-blue);
    text-decoration: underline;
    margin-left: 6px;
    vertical-align: middle;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.main-header-bottom .tabs button:hover {
            background-color: var(--light-bg);
            border-color: #adb5bd;
}

.auction-fee-detail-button:hover {
    color: #4a7aa3;
}

@media (max-width: 1400px) and (min-width: 769px) {
    .content-grid {
        grid-template-columns: 1.5fr 1fr;
    }
    .middle-column {
        grid-column: 2 / 3;
        order: 2;
    }
    .right-column-grid {
        grid-column: 2 / 3;
        order: 1;
        position: static;
        top: auto;
        max-height: none;
        overflow-y: visible;
        padding-right: 0;
    }
    .thumbnails {
        grid-template-columns: repeat(auto-fill, minmax(70px, 1fr));
    }

}

@media (max-width: 768px) {
    .container {
        padding: 15px;
    }
    .main-header-actions .action-button {
        position: relative;
        top: -8px;
        right: 0px;
    }

.right-column-grid {
    min-width: 200px!important;
}

.date-info {
    min-width: 200px!important;
}
    /* --- okruszki na telefonie ------------------------------------------
       Ten sam plaski uklad co na desktopie, tylko mniejszy krok. Sciezka
       moze sie zawinac do dwoch linii - swiadomie BEZ overflow-x na liscie,
       bo kontener z przewijaniem obcialby rozwijane menu marek/modeli. */
    .top-nav {
        flex-direction: column;
        align-items: flex-start;
        padding: 12px 15px;
        margin: 0;
    }
    .top-nav .breadcrumb-trail {
        padding-right: 0;
        row-gap: 3px;
        font-size: 12px;
    }
    .top-nav .breadcrumb-trail > li:not(:last-child)::after {
        font-size: 10px;
        margin: 0 7px;
    }
    .top-nav .breadcrumb-trail > li > a,
    .top-nav .breadcrumb-trail > li > span {
        font-size: 12px;
        padding: 3px 0;
    }
    /* Ostatni okruszek (pelna nazwa oferty + VIN) powtarza h1 zaraz ponizej
       i zajmowal druga linie - na telefonie go nie pokazujemy. Zostaje
       w DOM, wiec Googlebot i czytniki ekranu widza cala sciezke. */
    .top-nav .breadcrumb-trail > li.crumb-current {
        display: none;
    }
    /* :last-child jest strukturalne, nie "ostatni widoczny" - bez tego przy
       "2017" zostalby chevron, za ktorym nie ma juz nic. */
    .top-nav .breadcrumb-trail > li:nth-last-child(2)::after {
        content: none;
    }
    .top-nav .breadcrumb-trail .crumb-menu {
        max-height: 60vh;
        left: -8px;
    }
    .user-actions {
        width: 100%;
        justify-content: flex-end;
        margin-top: 8px;
    }
    .main-header-wrapper {
        padding: 0px 0px 15px 0px;
    }
    .main-header-info h1 {
        font-size: 18px;
        align-items: flex-start;
        gap: 8px;
        margin-bottom: 16px;
    }
    .main-header-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    .main-header-bottom .tabs {
        width: 100%;
        justify-content: space-around;
        display: flex;
        flex-direction: column;
        align-items: stretch;
        align-content: stretch;
    }
    .main-header-bottom .tabs button {
        justify-content: center;
    }
    .main-header-bottom .date-info {
        margin-top: 12px;
        margin-bottom: -20px;
    }
    .left-column,
    .middle-column,
    .right-column-grid {
        grid-column: 1 / -1;
        position: static;
        top: auto;
        max-height: none;
        overflow-y: visible;
        padding-right: 0;
    }
    .thumbnails {
        grid-template-columns: repeat(4, 1fr);
    }
    .lightbox-nav-button {
        padding: 8px 12px;
        font-size: 22px;
    }
}

.image-gallery .main-image,
.lightbox-main-image {
    transition: transform 0.2s ease-out;
}

.main-image-nav-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #1118211f;
    color: #fff;
    border: none;
    width: 40px;
    height: 60px;
    border-radius: 5px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
    font-size: 23px;
}

.main-image-container:hover .main-image-nav-button {
    background-color: rgba(0,0,0,0.6);
}

.thumbs-row {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));
    gap: 8px;
    margin-bottom: 0;
    padding: 0px 15px 15px 15px;
}

.thumbs-row img {
    object-fit: none;
    border-radius: 4px;
    cursor: pointer;
    box-shadow: var(--shadow-light);
    background-color: #F8F9FB;
    transition: opacity 0.2s ease-in-out;
    object-fit: cover;
    max-height: 106px;
}

.thumbs-row img:hover {
    opacity: 0.5;
}

.info-card {
    background-color: var(--card-bg);
    border-radius: var(--radius-base);
    padding: 0px 16PX;
    margin-bottom: 8px;
    transition: transform var(--transition-all);
    padding-bottom: 10px;
}

.main-image-nav-button.prev {
    left: 10px;
}

.main-image-nav-button.next {
    right: 10px;
}

.gallery-main img,
.lightbox-main-image {
    transition: transform 0.35s ease;
    will-change: transform;
}

.gallery-main,
.lightbox-body {
    overflow: hidden;
}

span.status-dot.red {
    background-color: #ff1100;
}

span.status-dot.blue {
    background-color: #2196F3;
}

span.status-dot.green {
    background-color: #09cd0d !important;
}

span.status-dot.grey {
    background-color: #7f8da3;
}

span#vinNumberDisplay,
span#lotNumberDisplay {
    color: #000000;
    font-size: 14px;
    cursor: pointer;

}
span#vinNumberDisplay:hover {
    color: #0067ff;
}

span#lotNumberDisplay:hover {
    color: #0067ff;
}

span#document_title_type {
    font-weight: 500;
    text-transform: uppercase;
}
.sales-history-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-top: 15px;
    font-size: 13px;
    line-height: 1.5;
    background-color: #f8f8f8;
    border: none;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.05), 0 3px 6px rgba(0, 0, 0, 0.025);
    border-bottom: 1px solid #d7d7d7;
    border-left: 1px solid #d7d7d7;
    border-radius: 4px 4px 2px 4px;
    border-right: 1px solid #d7d7d7;
}

.sales-history-table thead th {
    background-color: #f5f7fa00;
    color: var(--text-dark);
    font-weight: 400;
    padding: 5px 10px;
    text-align: left;
    position: sticky;
    top: 0;
    z-index: 1;
    white-space: nowrap;
}

.sales-history-table thead th:first-child {
    border-top-left-radius: 4px;
}

.sales-history-table thead th:last-child {
    border-top-right-radius: 4px;
}

.sales-history-table tbody td {
    padding: 6px 10px;
    border-bottom: 1px solid rgb(255 255 255);
    color: var(--text-dark);
    vertical-align: middle;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sales-history-table tbody tr:nth-child(even) {
    background-color: #fdfefe;
}

.sales-history-table tbody tr:hover {
    background-color: #f3f9ff;
    cursor: pointer;
    transition: background-color 0.2s ease-in-out;
}

.sales-history-table .auction-site-tag {
    background-color: var(--nextcars-blue);
    color: #fff;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 70px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    border: 1px solid var(--nextcars-blue);
}

.sales-history-table .lot-link {
    color: #149aff;
    text-decoration: none;
    transition: color 0.2s ease;
    margin-right: auto;
    margin-left: auto;
    font-size: 14px;
    display: flex;
    justify-content: center;
}

.sales-history-table .lot-link:hover {
    color: #4a7aa3;
}

th, td {
    display: revert;
    text-align-last: center;
}

.sales-history-table .final-offer-display {
    background-color: #0089ff;
    color: #fff;
    padding: 4px 8px;
    border-radius: 3px;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 90px;
    text-align: center;
    width: 100%;
}

.sales-history-table .status-tag {
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 90px;
    text-align: center;
    border: 1px solid;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

span.status-tag.status-nie-sprzedano {
    background-color: #ff000017;
    color: var(--red-main);
    border-color: var(--red-light-border);
    width: 100%;
}

.sales-history-table .status-tag.nie-sprzedano {
    background-color: var(--red-light-bg);
    color: var(--red-main);
    border-color: var(--red-light-border);
}

span.status-tag.status-sprzedano {
    background-color: #52ff9e;
    color: #0b671c;
    border-color: #d8eedb00;
    width: 100%;
}

span.auction-site-tag.iaai-red {
    color: #fff;
    padding: 5px 9px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 400;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    flex-direction: row;
    position: relative;
    background-color: rgb(233, 31, 31);
    border: none;
    width: 100%;
}

span.auction-site-tag.copart-blue {
    color: #fff;
    padding: 5px 9px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 400;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    flex-direction: row;
    position: relative;
    background-color: rgb(14, 90, 192);
    width: 100%;
    border: none;
}

.sales-history-table .status-dot {
    display: none;
}

.sales-history-table .odometer {
    font-weight: 500;
    color: var(--text-dark);
}

#salesHistoryModal .modal-content {
    max-height: 95vh;
    padding: 20px;
    max-width: 95vh;
}

#salesHistoryModal .modal-content h2 {
    font-size: 14px;
    padding-bottom: 0px;
    font-weight: 500;
}

#salesHistoryModal #salesHistoryContent {
    flex-grow: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--border-medium) transparent;
}

#salesHistoryModal #salesHistoryContent::-webkit-scrollbar {
    width: 8px;
}

#salesHistoryModal #salesHistoryContent::-webkit-scrollbar-thumb {
    background-color: var(--border-medium);
    border-radius: 10px;
    border: 2px solid var(--card-bg);
}

#salesHistoryModal #salesHistoryContent::-webkit-scrollbar-track {
    background: var(--page-bg);
    border-radius: 10px;
}

.modal-close {
    font-size: 24px;
    color: var(--text-light);
    transition: color 0.2s ease;
}

.modal-close:hover {
    color: var(--text-dark);
}

.my_1 {
    color: black;
}

#removalRequestModal .modal-content {
    max-width: 780px;
    padding: 30px;
    background-color: var(--card-bg);
    box-shadow: var(--shadow-card);
    border: 1px solid var(--border-light);
    border-radius: 8px;
    position: relative;
    overflow: hidden;
}

#removalRequestModal .modal-close {
    position: absolute;
    top: 8px;
    right: 0px!important;
    width: 32px;
    height: 32px;
    font-size: 28px;
    line-height: 32px;
    text-align: center;
    color: var(--text-light);
    background-color: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
}

#removalRequestModal .modal-close:hover {
    background-color: var(--button-bg-light);
    color: var(--text-dark);
}

#removalRequestModal h2.section-header {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 20px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-light);
    display: flex;
    align-items: center;
    gap: 10px;
}

#removalRequestModal h2.section-header i {
    color: var(--red-main);
    font-size: 18px;
}

#removalRequestModal p {
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-medium);
    margin-bottom: 15px;
}

#removalRequestModal h3 {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
    margin-top: 25px;
    margin-bottom: 10px;
    border-bottom: 1px dashed var(--border-medium);
    padding-bottom: 5px;
}

#removalRequestModal ul {
    list-style: disc;
    margin-left: 20px;
    margin-bottom: 20px;
    padding: 0;
}

#removalRequestModal ul li {
    font-size: 13px;
    color: var(--text-medium);
    margin-bottom: 6px;
}

#removalRequestModal form {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

@media (min-width: 769px) {
    #removalRequestModal form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 15px 30px;
        align-items: flex-end;
    }
    #removalRequestModal .form-group {
        margin-bottom: 0;
    }
    #removalRequestModal .form-group:nth-of-type(5) {
        grid-column: 1 / -1;
    }
    #removalRequestModal .form-submit-button {
        grid-column: 1 / -1;
        margin-top: 25px;
    }
}

#removalRequestModal .form-group label {
    font-size: 13px;
    color: var(--text-medium);
    margin-bottom: 6px;
    font-weight: 500;
    line-height: 1.3;
}

#removalRequestModal .form-group input[type="text"],
#removalRequestModal .form-group input[type="email"],
#removalRequestModal .form-group input[type="tel"],
#removalRequestModal .form-group textarea {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid var(--border-light);
    border-radius: 6px;
    background-color: var(--input-bg);
    box-shadow: var(--shadow-input-inner);
    font-size: 14px;
    color: var(--text-dark);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    outline: none;
}

#removalRequestModal .form-group input[type="text"]::placeholder,
#removalRequestModal .form-group input[type="email"]::placeholder,
#removalRequestModal .form-group input[type="tel"]::placeholder,
#removalRequestModal .form-group textarea::placeholder {
    color: var(--text-light);
    opacity: 1;
}

#removalRequestModal .form-group input[type="text"]:focus,
#removalRequestModal .form-group input[type="email"]:focus,
#removalRequestModal .form-group input[type="tel"]:focus,
#removalRequestModal .form-group textarea:focus {
    border-color: var(--nextcars-blue);
    box-shadow: 0 0 0 3px var(--light-nextcars-shadow);
}

#removalRequestModal .form-group input[readonly] {
    background-color: var(--top-nav-bg-breadcrumb);
    cursor: default;
    border-color: var(--top-nav-border-breadcrumb);
    box-shadow: none;
}

#removalRequestModal textarea {
    resize: vertical;
    min-height: 90px;
}

#removalRequestModal .form-submit-button {
    background-color: var(--button-bg-light);
    color: var(--text-medium);
    border: 1px solid var(--border-light);
    border-radius: 4px;
    padding: 7px 12px;
    font-size: 13px;
    font-weight: 500;
    box-shadow: var(--shadow-light);
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 100%;
    cursor: pointer;
}

#removalRequestModal .form-submit-button:hover {
    background-color: #E8EBEF;
    border-color: #D6DCE2;
    color: var(--primary-blue);
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

#removalRequestModal .form-submit-button i {
    font-size: 16px;
    color: var(--text-medium);
    transition: color 0.2s ease;
}

#removalRequestModal .form-submit-button:hover i {
    color: var(--primary-blue);
}

.removal-response {
    padding: 10px 15px;
    border-radius: 8px;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.4;
    margin-top: 20px;
}

.removal-response.success {
    background-color: #e6f6ed;
    color: var(--green-dot);
    border: 1px solid #d8eedb;
}

.removal-response.error {
    background-color: var(--red-light-bg);
    color: var(--red-main);
    border: 1px solid var(--red-light-border);
}

.options-list {
    padding-bottom: 0;
}

.options-list .info-item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 12px 0;
    border-bottom: 1px solid rgba(232, 235, 239, 0.6);
    font-size: 13px;
    line-height: 1.4;
    color: var(--text-dark);
    gap: 10px;
}

.options-list .info-item:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
}

.options-list .info-item .item-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 5px;
}

.options-list .info-item .checkbox-label-group {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    width: 100%;
}

.options-list .info-item .form-check-input {
    flex-shrink: 0;
    width: 1em;
    height: 1em;
    margin-top: 0;
    border: 1px solid var(--border-medium);
    border-radius: 0.25em;
    transition: background-color 0.2s, border-color 0.2s;
    cursor: pointer;
}

.options-list .info-item label {
    margin-bottom: 0;
    flex-grow: 1;
    text-align: left;
    color: var(--text-dark);
    line-height: 1.2;
    cursor: pointer;
}

.options-list .info-item .icon-inline {
    font-size: 12px;
    color: var(--text-light);
    cursor: help;
    margin-left: 5px;
}

.options-list .info-item .value {
    flex-shrink: 0;
    font-weight: 600;
    color: var(--text-dark);
    text-align: right;
    white-space: nowrap;
    padding-left: 10px;
}

.location-select-group {
    display: flex;
    gap: 8px;
    margin-top: 5px;
    width: 100%;
    flex-direction: row;
    align-items: center;
    align-content: flex-end;
    justify-content: space-between;
    flex-wrap: nowrap;
}

p.info-text {
    margin-top: 15px;
    font-style: italic;
    color: #607D8B;
    padding: 0px;
}

@media (max-width: 768px) {
    .options-list .info-item {
        flex-direction: column;
        align-items: flex-start;
        padding: 10px 0;
        gap: 15px;
    }
    .modal-content {
        width: 95%;
    }
    .options-list .info-item .item-content {
        width: 100%;
    }
    .options-list .info-item .checkbox-label-group {
        width: 100%;
        justify-content: space-between;
    }
    .options-list .info-item .form-check-input {
        order: 1;
    }
    .options-list .info-item label {
        order: 2;
        flex-grow: 1;
        width: auto;
    }
    .options-list .info-item .icon-inline {
        order: 3;
        margin-left: 5px;
    }
    .options-list .info-item .value {
        width: 100%;
        text-align: right;
        padding-left: 0;
        margin-top: -10px;
    }
    .location-select-group {
        flex-direction: column;
        width: 100%;
        gap: 8px;
    }
    .options-list .info-item .description-text {
        padding-left: 0;
        text-align: left;
        width: 100%;
    }
    .section.card .info-text {
        font-size: 12px;
        margin-top: 10px;
    }
}

.my_1 {
    color: black;
}

.auction-site-tag-link {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    height: 20px;
}

.auction-site-tag-link .red-tag {
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.auction-site-tag-link:hover .red-tag {
    filter: brightness(1.1);
}

.copart {
    background-color: var(--badge-copart);
    border-color: var(--badge-copart);
}

.iaai {
    background-color: var(--badge-iaai);
    border-color: var(--badge-iaai);
}

.auction-site-tag-link.copart .red-tag {
    background-color: var(--badge-copart);
    border-color: var(--badge-copart);
}

.auction-site-tag-link.iaai .red-tag {
    background-color: var(--badge-iaai);
    border-color: var(--badge-iaai);
}

i.bi.bi-plus-circle.icon-inline {
    margin-right: 6px;
}

@media (max-width: 768px) {
    .image-overlay-buttons .button-text-desktop {
        display: none;
    }
    .image-overlay-buttons button {
        padding: 2px 8px;
    }
    .main-header-bottom::after {
        display: none;
    }
    .my_new_1 {
    display: none !important;
    }
}

#scrollToTopBtn {
    position: fixed;
    bottom: 85px;
    right: 10px;
    z-index: 50;
    display: none;
    background: #1e4072;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 45px;
    height: 45px;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    transition: transform .2s, background .3s;
}

.dropdown-item.disabled-link {
    cursor: not-allowed;
    opacity: 0.6;
    pointer-events: none;
}

.dropdown-item.disabled-link:hover {
    cursor: not-allowed;
    background-color: transparent;
}

.dropdown-item.disabled-link[title]:hover:after {
    content: attr(title);
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #333;
    color: #fff;
    padding: 5px 10px;
    border-radius: 4px;
    white-space: nowrap;
    z-index: 1000;
    font-size: 12px;
    margin-top: 5px;
}

span.my_2 {
    white-space: nowrap;
    font-weight: 400 !important;
    display: flex;
    align-items: center;
    margin-top: 5px;
}

span#auctionDate {
    text-align: center;
    min-width: 90px;
    margin-right: 10px;
    background-color: #f5f6f8;
    padding: 8px;
    border-radius: 5px;
    font-size: 13px;
}

.price-item.total {
    margin-top: 10px;
}

.my_new_1 {
    position: absolute;
    right: 26px;
    top: 18px;
}

button#openRemovalRequestModal {
    background-color: #20c997;
    color: white;
    font-weight: 400;
    border-color: #20c997;
}

button#openRemovalRequestModal:hover {
    background-color: #0aac7c;
}

button.modal-close {
    position: absolute;
    top: 8px;
    right: 1px;
    width: 32px;
    height: 32px;
    font-size: 28px;
    line-height: 32px;
    text-align: center;
    color: #878787;
    background-color: transparent;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.2s ease;
    padding: 0;
    z-index: 9999;
}

.container.my-4.fade-in {
    padding: 0 0px;
    opacity: 0;
    animation: fadeInUp 0.6s forwards;
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.carousel-container {
    position: relative;
    margin-bottom: 1rem;
}

.carousel-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 1.2rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scroll-snap-stop: always;
    cursor: grab;
    margin-bottom: 10px;
    padding-bottom: 5px;
    min-height: 320px;
}

.carousel-row:active {
    cursor: grabbing;
}

.carousel-row::-webkit-scrollbar {
    display: none;
}

.car-card-wrapper {
    flex: 0 0 260px;
    scroll-snap-align: start;
}

.carousel-arrow {
    border: none;
    padding: 0.5rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 100px;
    background: rgba(0, 0, 0, 0.25);
    color: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 999;
    opacity: 0;
    transition: opacity 0.2s;
    pointer-events: none;
}

.carousel-container:hover .carousel-arrow {
    opacity: 1;
    pointer-events: auto;
}

.carousel-arrow.left {
    left: 15px;
}

.carousel-arrow.right {
    right: 15px;
}

.carousel-dots {
    text-align: center;
    margin-bottom: 3.5rem;
}

.carousel-dots .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 5px;
    border-radius: 50%;
    background-color: #ccc;
    cursor: pointer;
    transition: background-color 0.3s;
}

.carousel-dots .dot:hover {
    background-color: #999;
}

.carousel-dots .dot.active {
    background-color: #333;
}

.car-card {
    border: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    background-color: #fff;
    border-radius: 6px;
    width: 100%;
    max-width: 260px;
    position: relative;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.05);
}

.car-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

.car-card-img {
    width: 100%;
    height: auto;
    aspect-ratio: 260 / 194;
    object-fit: cover;
    border-radius: 6px 6px 0 0;
}

.p-3 {
    padding: 5px !important;
    display: flex;
    flex-direction: column;
    gap: 8px;
    color: #000;
}

.car-card-title {
    display: inline-block;
    max-width: 30ch;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 14px;
    margin: 0;
    font-weight: 500;
    line-height: 1.2;
    color: #103e6e;
}

.car-card-title:hover {
    color: #00b7ff;
}

.car-card-badge-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    margin-bottom: 5px;
}

.offer-status {
    font-size: 12px;
    font-weight: 400;
    color: #445363;
}

.badge-copart {
    background-color: var(--badge-copart);
    padding: 1px 6px;
    border-radius: 3px;
    font-weight: 600;
    font-size: 12px;
    color: #fff;
}

.badge-iaai {
    background-color: var(--badge-iaai);
    padding: 1px 6px;
    border-radius: 3px;
    font-weight: 600;
    font-size: 12px;
    color: #fff;
}

.car-card-price-info {
    display: flex;
    flex-direction: column;
    background-color: rgba(222, 226, 230, 0.33);
    border-radius: 3px;
    align-items: center;
    margin-top: 0 !important;
    padding: 4px;
}

.car-card-price-info .price-label {
    color: #555;
}

.car-card-price-info .price-value {
    font-weight: 600;
}

.car-card-time-left {
    color: #444;
    margin-bottom: 5px;
    display: flex;
    align-items: center;
    gap: 5px;
    display: none;
}

.clock-icon {
    width: 22px;
    height: 22px;
    vertical-align: middle;
    margin-left: 5px;
}

.bi-files {
    color: #6771764d;
    cursor: pointer;
}

.bi-files:hover {
    color: #575757 !important;
}

section#popular-models {
    background: #fff;
    width: 100%;
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0 2px 3px rgb(51 65 80 / 3%);
    padding: 20px;
    margin-top: 20px;
}

h3#popularModelsTitle {
    justify-self: center;
    font-size: 16px;
    margin-bottom: 1rem;
}

div#popularModelsList {
    border-top: 1px solid rgba(93, 129, 163, 0.16);
    padding-top: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    place-content: center;
}

.model-tag {
    display: inline-block;
    background-color: #e6edf678;
    color: var(--secondary-color-dark);
    padding: 5px 12px;
    border-radius: 20px;
    text-decoration: none;
    font-size: 0.9em;
    transition: background-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
    border: 1px solid var(--secondary-color-light);
}

.model-tag:hover {
    background-color: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}

@media (max-width: 992px) {
    .car-card-title {
        max-width: 21ch !important;
    }

    .my_new {
        display: none;
    }
.thumbs-row {
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr))!important;

}
.thumbs-row img {
    max-height: 62px!important;
}
}

@media (max-width: 768px) {
    .carousel-row {
        gap: 0.5rem !important;
        min-height: 330px;
    }
    .container.my-4.fade-in {
        padding: 0px !important;
    }

    .car-card-title {
        max-width: 16ch !important;
    }
    .carousel-arrow {
        height: 70px;
        width: 35px;
    }
}

@media (max-width: 576px) {
    .car-card-wrapper {
        flex: 0 0 calc((100% / 2) - 8px);
        min-width: 175px !important;
    }
    .car-card-price-info .price-label {
        font-size: 11px;
    }
}

.action-button #favoriteIcon.bi-heart-fill {
    color: red;
}

.container.my-4.fade-in {
    background: #fff;
    width: 100%;
    overflow: hidden;
    border-radius: 15px;
    box-shadow: 0 2px 3px rgb(51 65 80 / 3%);
    padding: 20px;
    margin-top: 20px;
}

.carousel-container {
    border-top: 1px solid rgba(93, 129, 163, 0.16);
    padding-top: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    place-content: center;
}

h2.mb-3 {
    justify-self: center;
    font-size: 16px;
    margin: 1rem;
}

.modal-content.my-12 {
    max-width: 780px;
    padding: 30px;
    background-color: var(--card-bg);
    box-shadow: var(--shadow-card);
    border: 1px solid var(--border-light);
    border-radius: 8px;
    position: relative;
    overflow: hidden;
}

.copy-button-small {
    background: none;
    border: none;
    cursor: pointer;
    margin-left: 5px;
    padding: 0;
    color: var(--text-medium);
}

.copy-button-small:hover {
    color: var(--primary-blue);
}

button#payuButton:hover {
    background-color: #04a172!important;
}

@media (max-width: 768px) {
    .mobile-buttons-container {
        display: flex;
        justify-content: space-around;
        padding: 10px 0;
        background-color: white;
        border-bottom: 1px solid #eee;
        z-index: 8;
        top: 0;
        width: 100%;
        position: sticky;
        transition: all .3s;
        border-radius: 8px;
    }
    section.card.vehicle-details {
        margin-top: 8px;
    }
    .mobile-buttons-container button {
        flex: 1;
        padding: 6px 12px;
        margin: 0 5px;
        border: 1px solid #cccccc78;
        border-radius: 8px;
        background-color: #f0f0f000;
        color: #333333cf;
        font-size: 12px;
        cursor: pointer;
        transition: all 0.3s ease;
    }
    .mobile-buttons-container button.active {
        background-color: #007bff;
        color: white;
        border-color: #007bff;
        box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    }
    .mobile-buttons-container button:hover:not(.active) {
        background-color: #e2e6ea;
    }
    .middle-column,
    .price-calculator,
    .cost-breakdown {
        display: block;
    }
}

@media (min-width: 769px) {
    .mobile-buttons-container {
        display: none;
    }
}

#vehicle-header,
#home-price-calculator-header,
#customs-header {
    scroll-margin-top: 80px;
}

.price-input-group {
    display: flex;
    align-items: center;
    border: 1px solid var(--border-light);
    border-radius: 6px;
    background-color: var(--input-bg);
    box-shadow: var(--shadow-input-inner);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
}

/* Obrecz tylko przy realnej edycji kwoty (klik w pole lub focus z klawiatury),
   nie po klikniecie mysza w przycisk + / - */
.price-input-group:has(input:focus),
.price-input-group:has(button:focus-visible) {
    border-color: var(--nextcars-blue);
    box-shadow: 0 0 0 3px var(--light-nextcars-shadow);
}

.price-input-group input {
    border: none;
    padding: 9px 12px;
    text-align: right;
    font-size: 15px;
    font-weight: 500;
    color: var(--text-dark);
    background-color: transparent;
    flex-grow: 1;
    outline: none;
    min-width: 40px;
}

.price-input-group button:hover {
    background-color: #E8EBEF;
    border-color: #D6DCE2;
}

.price-input-group button:first-of-type {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: none;
}

.price-input-group button:last-of-type {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: none;
}

.radio-options {
    display: flex;
    justify-content: space-between;
    margin-top: 15px;
}

.radio-option {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    color: var(--text-dark);
}

.radio-option input[type="radio"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    border: 2px solid var(--border-medium);
    border-radius: 50%;
    outline: none;
    cursor: pointer;
    transition: border-color 0.2s ease;
}

.radio-option input[type="radio"]:checked {
    border-color: var(--nextcars-blue);
    background-color: var(--nextcars-blue);
    box-shadow: inset 0 0 0 4px var(--card-bg);
}

.radio-option input[type="radio"]:hover {
    border-color: var(--nextcars-blue);
}

.radio-option label {
    cursor: pointer;
    margin-bottom: 0;
}

.radio-option label.disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.current-offer-card {
    background-color: var(--card-bg);
    padding: 0px;
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.03), 0 1px 2px rgba(0,0,0,0.015);
    position: relative;
    border: 1px solid rgba(232, 235, 239, 0.4);
}

.current-offer-card .card-header {
    margin-top: 0;
    font-weight: 400;
    color: #808fa4;
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    padding: 12px 18px 0 18px;
}

.current-offer-card .card-header span:first-child {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
    justify-content: flex-start;
    color: #808fa4;
}

.current-offer-card .card-header span:last-child {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
}

.card-header {
    background-color: #ffffff;
    border-bottom: var(--bs-card-border-width) solid rgb(0 0 0 / 9%);
}

.current-offer-card .card-header span strong {
    color: #000;
    font-size: 21px;
    margin-left: 0px;
}

.current-offer-card .price {
    margin-bottom: 10px;
    font-size: 26px;
    font-weight: 600;
    color: #000000;
    text-align: left;
    padding: 0 0px;
}

.current-offer-card .my-offer-info {
    display: flex;
    justify-content: space-between;
    font-size: 13px;
    margin-bottom: 15px;
    color: var(--text-medium);
    display: none;
}

.current-offer-card .my-offer-info strong {
    color: var(--text-dark);
}

.current-offer-card .input-row {
    margin-bottom: 0px;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 15px;
    padding: 0 15px;
}

.current-offer-card .input-row > span {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
    color: var(--text-medium);
    font-weight: 400;
}

.current-offer-card .input-row .auction-time-display {
    font-size: 13px;
    color: #16ad59;
}

.current-offer-card .price-input-group {
    display: flex;
    align-items: center;
    border: 1px solid var(--border-light);
    border-radius: 6px;
    background-color: var(--input-bg);
    box-shadow: var(--shadow-input-inner);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
    margin-top: 10px;
    margin-bottom: 12px;
}

.current-offer-card .price-input-group:has(input:focus),
.current-offer-card .price-input-group:has(button:focus-visible) {
    border-color: var(--nextcars-blue);
    box-shadow: 0 0 0 3px var(--light-nextcars-shadow);
}

.auction-status.green {
    color: #0a8a31;
}

.auction-status.green::before {
    margin-top: 2px;
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #28a745;
    border-radius: 50%;
    margin-right: 8px;
    animation: livePulse 1s infinite;
    box-shadow: 0 0 8px #28a745;
}

livePulse animation {
    box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 10.2251px;
}

.current-offer-card .price-input-group input {
    border: none;
    padding: 9px 12px;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    color: var(--text-dark);
    background-color: transparent;
    flex-grow: 1;
    outline: none;
    min-width: 40px;
}

.current-offer-card .price-input-group button {
    background-color: var(--button-bg-light);
    border: 1px solid #e0e4eb00;
    padding: 0px 7px 6px 7px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 25px;
    color: #7d7f83;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s, box-shadow 0.2s;
    height: 100%;
    display: flex;
    align-items: center;
    width: 50px;
    align-content: space-between;
    flex-wrap: nowrap;
    flex-direction: column-reverse;
    font-weight: 200;
    justify-content: center;
}

.current-offer-card .price-input-group button:hover {
    background-color: #e6f0ff;
    color: #2458a6;
}

.current-offer-card .price-input-group button:active {
    background-color: #c8e0ff;
    color: #103561;
}

.current-offer-card .price-input-group button:first-of-type {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: none;
}

.current-offer-card .price-input-group button:last-of-type {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: none;
}

.current-offer-card .bid-button {
    background-color: #2196f3;
    color: white;
    padding: 12px 12px;
    border: none;
    border-radius: 5px;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.2s;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    justify-content: center;
}

.current-offer-card .bid-button:hover {
    background-color: #0056b3;
}

.current-offer-card .info-text {
    font-size: 12px;
    color: #5f6c82;
    margin-top: 7px !important;
    line-height: 1.5;
}

.current-offer-card hr {
    border-top: 1px solid var(--border-light);
    margin: 0 15px 15px 15px;
}

.current-offer-card .buy-now-header {
    margin-bottom: 10px;
    font-weight: 400;
    font-size: 14px;
    text-align: left;
    padding: 8px 15px;
}

.current-offer-card .buy-now-price {
    font-size: 19px;
    color: #00b700;
    font-weight: 500;
    margin-bottom: 15px;
    text-align: left;
    margin: 0px 0px 2px 0px;
}

.current-offer-card .buy-now-button {
    width: calc(100% - 30px);
    margin: 0px 15px 15px 15px;
    color: #16AD59;
    float: right;
    border: 1px solid #2aa36045;
    background-color: #ffffff00;
    transition: background-color 0.2s;
}

.current-offer-card .buy-now-button:hover {
    background-color: #14cf67d1;
    color: white;
}

.current-offer-card .auction-status {
    border-radius: 6px;
    font-size: 13px;
    display: block;
    margin-left: auto;
}

.auction-status.red::before {
    margin-top: 2px;
    content: '';
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #ff0000;
    border-radius: 50%;
    margin-right: 8px;
}

.current-offer-card .auction-status.blue {
    color: #007bff;
}

.current-offer-card .auction-status.red {
    color: #dc3545;
}

.current-offer-card .auction-status.orange {
    color: #ffc107;
}

.current-offer-card .bid-button.btn-warning {
    background-color: #ffc107;
    color: #000000;
    border-color: #ffc107;
    text-shadow: none;
    margin-top: 15px;
}

.current-offer-card .bid-button.btn-warning:hover {
    background-color: #e0a800;
    border-color: #d39e00;
}

.current-offer-card .bid-button.disabled-visual {
        background-color: #95959575;
    color: #f4f4f4;
}

.my_color {
    color: #6c757d;
    padding: 24px 10px 6px 10px;
    margin: 0px -10px -8px -10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0px;
}

/* Komunikat pod polem kwoty (+/- i wpisywanie kwoty). Celowo NIE w stylu .dynamic-tooltip -
   właściciel woli ten oryginalny wygląd (27.09.2026). */
.licytacja-tooltip {
    position: absolute;
    top: 55px;
    left: 0;
    width: 100%;
    background-color: #263747e3;
    color: #fff;
    padding: 8px 12px;
    border-radius: 5px;
    font-size: 0.85rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.4s ease;
    z-index: 9999;
}

.licytacja-tooltip.show {
    opacity: 1;
    pointer-events: auto;
}


.my_new_3 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: space-between;
}

.my_new_4 {
    background-color: #f0fff77d;
}

#mainImageContainer {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

#mainImage {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.35s ease-out, opacity 0.35s ease-out;
    z-index: 2;
}

.image-clone {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    transition: transform 0.35s ease-out, opacity 0.35s ease-out;
}

i.bi.bi-info-circle.icon-inline {
    margin-left: 2px;
    margin-right: 2px;
}

/* Linia domykajaca naglowek oferty. Wczesniej byl to <div class="main_new">
   wyrwany z ukladu (position: absolute + sztywne margin-top: 86px), wiec przy
   tytule zawijanym do 2-4 linii (np. "BENTAYGA ACTIVITY EDITION/BLACK
   EDITION/MULLINER/ONYX EDITION/W12") przecinala tekst. Teraz rysuje ja
   pseudo-element przyklejony do rzedu zakladek, czyli zawsze pod tytulem
   i danymi lokalizacji, niezaleznie od liczby linii i szerokosci ekranu. */
.main-header-bottom {
    position: relative;
}

.main-header-bottom::after {
    content: "";
    position: absolute;
    top: -12px;
    left: calc(50% - 50vw);   /* pelna szerokosc ekranu, mimo ze siedzi w .container */
    width: 100vw;
    border-top: 1px solid #f0f0f0;
    pointer-events: none;
}

span#document_status {
    text-transform: uppercase;
    font-weight: 500;
}

.bi {
    cursor: pointer;
}

div#videoModal {
    padding-top: 10%;
}

#calculateFromBuyNowContainer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px dashed var(--border-light);
    margin-top: 5px;
    font-size: 13px;
    color: var(--text-medium);
}

#calculateFromBuyNowContainer span {
    font-weight: 500;
    color: var(--text-dark);
}

.calculate-from-buy-now-btn {
    background-color: var(--button-bg-light);
    color: var(--text-dark);
    border: 1px solid #e0e4eb47;
    border-radius: 4px;
    box-shadow: var(--shadow-light);
    font-weight: 500;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.calculate-from-buy-now-btn:hover {
    background-color: #E8EBEF;
    border-color: #D6DCE2;
    color: var(--primary-blue);
}

.calculate-from-buy-now-btn i {
    font-size: 1rem;
    color: var(--text-medium);
    transition: color 0.2s ease;
}

.calculate-from-buy-now-btn:hover i {
    color: var(--primary-blue);
}

#calculateFromBuyNowContainer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px dashed var(--border-light);
    margin-top: 0px;
}

#calculateFromBuyNowContainer span {
    font-weight: 500;
    color: var(--text-dark);
}

.calculate-from-buy-now-btn.active {
    background-color: #007bff;
    color: white;
    border-color: #007bff;
}

button#calculateFromBuyNowButton {
    margin-top: 0px;
}

h2#home-price-calculator-header {
    margin-bottom: 0px;
}

.row.font-weight-bold {
    font-weight: 500;
    font-size: 13px;
    color: #006aee;
}

.btn-outline-primary {
    display: inline-block;
    background-color: #e6edf678;
    color: var(--secondary-color-dark);
    padding: 5px 12px;
    border-radius: 20px;
    text-decoration: none;
    font-size: 0.9em;
    transition: background-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
    border: 1px solid var(--secondary-color-light);
}

#auctionFeeModal.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.6);
    justify-content: center;
    align-items: center;
}

#auctionFeeModal.modal.show {
    display: flex;
}

#auctionFeeModal .modal-content {
    background-color: #ffffff;
    margin: auto;
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    width: 90%;
    max-width: 600px;
    position: relative;
    color: #333333;
    animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

h2 {
    display: flex !important;
    align-items: center;
    align-content: center;
    flex-direction: row !important;
    flex-wrap: wrap !important;
}

#auctionFeeModal .modal-close {
    color: #aaaaaa;
    float: right;
    font-size: 24px;
    font-weight: 400;
    position: absolute;
    top: 7px;
    right: 1px;
    cursor: pointer;
    transition: color 0.3s ease;
}

#auctionFeeModal .modal-close:hover,
#auctionFeeModal .modal-close:focus {
    color: #000000;
    text-decoration: none;
}

#auctionFeeModal .modal-content h2 {
    font-size: 16px;
    margin-top: 0;
    margin-bottom: 20px;
    border-bottom: 2px solid #eeeeee;
    padding-bottom: 10px;
}

#auctionFeeModal #auctionFeeDetailsContent p {
    line-height: 1.6;
    margin-bottom: 15px;
}

#auctionFeeModal #auctionFeeDetailsContent ul {
    list-style-type: none;
    padding: 0;
    margin-bottom: 20px;
}

#auctionFeeModal #auctionFeeDetailsContent ul li {
    background-color: #f9f9f9;
    margin-bottom: 10px;
    padding: 12px 15px;
    border-left: 4px solid #1a73e8;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

#auctionFeeModal #auctionFeeDetailsContent ul li:hover {
    background-color: #f0f0f0;
}

#auctionFeeModal #auctionFeeDetailsContent ul li strong {
    color: #0056b3;
}

@media (max-width: 768px) {
    #auctionFeeModal .modal-content {
        width: 95%;
        padding: 20px;
    }
    #auctionFeeModal .modal-content h2 {
        font-size: 24px;
    }
    #auctionFeeModal .modal-close {
        font-size: 28px;
    }
.main-header-bottom .tabs button {
    font-size: 14px;
    padding: 10px 12px;
    border-radius: 8px;
}
.auction-site-tag-link {

    position: absolute;
    right: 15px;
    margin-top: 34px;
}
}

.detail-my-1 {
    display: revert;
    text-align-last: center;
}

*, ::after, ::before {
    box-sizing: border-box;
}

.image-gallery {
    position: relative;
    width: 100%;
    max-width: 800px;
    margin: 0px auto;
    padding: 10px;
    background-color: #f9f9f9;
}

.image-gallery img {
    width: 100%;
    height: auto;
    display: block;
}

.warning-overlay {
    position: absolute;
    z-index: 10;
    padding: 0;
    box-sizing: border-box;
    pointer-events: none;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.warning-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.warning-overlay.top-warning {
    left: 0;
    right: 0;
}

.warning-overlay.bottom-warning {
    top: 0px;
    left: 0;
    right: 0;
}

.warning-content {
        background-color: #111922bd;
        color: #ffffff;
        padding: 15px;
        border-radius: 8px 8px 0px 0px;
        display: flex;
        align-items: center;
        gap: 15px;
        width: auto;
        flex-wrap: nowrap;
        border: 1px solid #ffffff00;
}

.warning-content > i.bi {
        font-size: 3.8em;
        color: #f8c703;
        flex-shrink: 0;
        animation: icon-red-pulse 2s infinite;
        transform: none;
        border-radius: 4px;
        padding: 5px;
}

@keyframes icon-red-pulse {
0% {
        box-shadow: 0 0 0 0 #ff772d;
}
50% {
        box-shadow: 0 0 0 10px rgba(255, 0, 0, 0);
}
100% {
        box-shadow: 0 0 0 0 #ff772d;
}
}

.hide-warning-button {
        background-color: transparent;
        color: #c6c6c6;
        border: 1px solid #6f6f6f61;
        padding: 8px 15px;
        border-radius: 8px;
        cursor: pointer;
        transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 12px;
        box-shadow: var(--shadow-light);
        justify-content: center;
}

.hide-warning-button:hover {
    background-color:#ffc200;
}

.hide-warning-button i.bi {
    font-size: 1.3em;
    color: #c6c6c6;
    transition: color 0.3s ease;
    animation: none;
    box-shadow: none;
    transform: none;
    border-radius: 0;
}
.hide-warning-button i.bi:hover {
        color: #000;

}

.warning-content > i.bi {
    font-size: 3.8em;
    flex-shrink: 0;
    animation: icon-red-pulse 2s infinite;
    transform: none;
    border-radius: 4px;
}

.warning-content span {
    flex-grow: 1;
    font-size: 13px;
    line-height: 1.4;
    word-break: break-word;
    text-align: left;
}

.warning-content strong {
    font-weight: 700;
    color: #f8c703;
}

.hide-warning-button:hover {
    color: #000;
}

@media (max-width: 768px) {
    .warning-overlay {
        left: 5px;
        right: 5px;
        justify-content: center;
    }
    section.card.calculator-section {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .warning-overlay.bottom-warning {
        bottom: 5px;
    }
    .warning-content {
        font-size: 0.8em;
        padding: 8px 10px;
        flex-wrap: wrap;
        text-align: center;
        justify-content: center;
    }
    .warning-content i {
        font-size: 2em;
    }
    .warning-content span {
        width: 100%;
    }
    .hide-warning-button {
        font-size: 13px;
        margin-top: 5px;
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 992px) {
    .warning-content > i.bi {
        display: none;
    }
}

@media (max-width: 768px) {
    .warning-content > i.bi {
        display: none;
    }
}


@media (max-width: 500px) {

span#favoriteText {
    display: none !important;
}
}
@media (min-width: 769px) {
    .mobile-buttons-container {
        display: none;
    }
}

#vehicle-header,
#home-price-calculator-header,
#customs-header {
    scroll-margin-top: 80px;
}

.mobile-buttons-container button.active {
    background-color: #007bff;
    color: white;
    border-color: #007bff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

@media (max-width: 768px) {
    .mobile-buttons-container.active-mobile-buttons {
        transform: translateY(0);
        opacity: 1;
        padding: 10px 10px;
        pointer-events: auto;
    }

    .mobile-buttons-container {
        display: flex;
        justify-content: space-around;
        padding: 10px 6px;
        background-color: white;
        border-bottom: 1px solid #eee;
        transition: transform 0.3s ease-out, opacity 0.3s ease-out;
        box-sizing: border-box;
        transition: all 0.3s ease;
    }
    .mobile-buttons-container button {
        flex: 1;
        padding: 6px 12px;
        margin: 0 5px;
        border: 1px solid #cccccc78;
        border-radius: 8px;
        background-color: #f0f0f000;
        color: #333333cf;
        font-size: 12px;
        cursor: pointer;
        transition: all 0.3s ease;
        width: 100%;
    }
}

.process-steps-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 10px; /* Dodaje margines z lewej strony dla estetyki */
    position: relative;
}

.process-step-item {
    display: flex;
    align-items: flex-start; /* Lepsze wyrównanie dla wieloliniowych opisów */
    position: relative;
    padding: 10px 0 20px 0; /* Zwiększony dolny padding dla odstępu */
    transition: transform 0.2s ease-out;
}

.process-step-item:hover {
    transform: translateX(4px);
}





.process-step-item:last-child::before {
    bottom: auto;
    height: 17px; /* Zakończenie linii na środku ikony */
}

.step-icon {
    width: 32px;
    height: 32px;
    border-radius: 73px;
    background-color: #627183;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-right: 15px;
    position: relative;
    z-index: 1;
    transition: background-color 0.2s, border-color 0.2s;
    font-size: 15px;
    color: white;
    padding: 0px 0px 0px 1px;
    opacity: 0.25;
}

.process-step-item:hover .step-icon {
    background-color: #0074ff;
    border-color: var(--primary-hover);
    opacity: 0.8;

}

.process-step-item:hover .step-icon .bi {
    color: white;
}

.step-icon .bi {
    font-size: 18px;
    color: #007bff96;
    transition: color 0.2s;
}

.step-text {
    display: flex;
    flex-direction: column;
}

.step-text strong {
    font-weight: 400;
    font-size: 14px;
    color: #3a3f4a;
    line-height: 1.3;
    margin-bottom: 2px;
}

.step-text p {
    font-size: 13px;
    color: var(--text-medium);
    line-height: 1.4;
    margin: 0;
}

/* ⬆️ KONIEC KODU CSS ⬆️ */
h4.generic-modal-header {
    display: none!important;
}

.additional-tools-section {
    background-color: var(--card-bg);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.03), 0 1px 2px rgba(0,0,0,0.015);
    border: 1px solid rgba(232, 235, 239, 0.4);
}

.additional-tools-section .section-header {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-light);
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--text-dark);
}

.additional-tools-section .section-header i {
    color: var(--text-medium);
    font-size: 18px;
}

.additional-tools-section .button-row {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.additional-tools-section .button-row .btn {
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-grow: 1;
    text-align: center;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.additional-tools-section .button-row .btn-primary {
    background-color: #2196F3;
    color: #fff;
    border: 1px solid #2196F3;
    box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

.additional-tools-section .button-row .btn-primary:hover {
    background-color: #176399;
    border-color: #176399;
}

.additional-tools-section .button-row .btn-secondary {
    background-color: #F2F4F7;
    color: #3A3F4A;
    border: 1px solid #E0E4EB;
    box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}

.additional-tools-section .button-row .btn-secondary:hover {
    background-color: #E8EBEF;
    border-color: #D6DCE2;
    color: var(--primary-blue);
}



.additional-tools-section .list-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.additional-tools-section .list-item:hover {
    background-color: #F8F9FB;
}

.additional-tools-section .list-item-icon {
    flex-shrink: 0;
    margin-right: 15px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.additional-tools-section .list-item-icon .bi,
.additional-tools-section .list-item-icon .fas {
    font-size: 1.5em;
}

.additional-tools-section .list-item-text {
    flex-grow: 1;
    color: var(--text-dark);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.additional-tools-section .list-item-arrow .bi {
    font-size: 16px;
    color: #AAB2C0;
    transition: color 0.2s;
}

.additional-tools-section .list-item:hover .list-item-arrow .bi {
    color: #6A9CC7;
}

.additional-tools-section .list-item .status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
    border: 1px solid rgba(0,0,0,0.1);
}

.additional-tools-section .list-item .status-dot.green {
    background-color: #82C98F;
}

.additional-tools-section .list-item .status-dot.yellow {
    background-color: #FDD786;
}

.additional-tools-section .list-item .status-dot.red {
    background-color: #D4545D;
}

.additional-tools-section .expand-button {
    background-color: var(--button-bg-light);
    border: 1px solid var(--border-light);
    padding: 10px 20px;
    border-radius: 6px;
    width: 100%;
    margin-top: 20px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    color: var(--text-dark);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    box-shadow: var(--shadow-light);
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
}

.additional-tools-section .expand-button:hover {
    background-color: #E8EBEF;
    border-color: #D6DCE2;
    color: var(--primary-blue);
}

.additional-tools-section .expand-button .bi {
    font-size: 16px;
    transition: transform 0.3s;
}

.collapsible-content {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-out;
}

.collapsible-content.active {
    grid-template-rows: 1fr;
}

.collapsible-content > div {
    overflow: hidden;
}



button.list-item.my_nev_7 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 12px 15px;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    margin-bottom: 8px;
    background-color: var(--card-bg);
    font-size: 13px;
    line-height: 1.4;
    color: var(--text-dark);
    text-align: left;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

button.list-item.my_nev_7:last-child {
    margin-bottom: 0;
}

button.list-item.my_nev_7:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.08);
    border-color: var(--primary-blue);
}

button.list-item.my_nev_7 .list-item-icon {
    flex-shrink: 0;
    margin-right: 15px;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
}


button.list-item.my_nev_7 .list-item-text {
    flex-grow: 1;
    color: var(--text-dark);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

button.list-item.my_nev_7 .list-item-arrow .bi {
    font-size: 16px;
    color: var(--text-light);
    transition: color 0.2s;
}

button.list-item.my_nev_7:hover .list-item-arrow .bi {
    color: var(--primary-blue);
}

button.list-item.my_nev_7 .status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
    margin-left: 8px;
    vertical-align: middle;
    border: 1px solid rgba(0,0,0,0.1);
}

button.list-item.my_nev_7 .status-dot.green {
    background-color: #82C98F;
}

button.list-item.my_nev_7 .status-dot.yellow {
    background-color: #FDD786;
}

button.list-item.my_nev_7 .status-dot.red {
    background-color: #D4545D;
}

@media (max-width: 768px) {
    button.list-item.my_nev_7 {
        padding: 10px 12px;
    }
    button.list-item.my_nev_7 .list-item-icon {
        margin-right: 10px;
    }
    button.list-item.my_nev_7 .list-item-text {
        font-size: 13px;
    }
}
/* Zmienne CSS (upewnij się, że są zdefiniowane, np. w :root) */
:root {
    --card-bg: #ffffff;
    --border-light: #e0e0e0;
    --text-dark: #333;
    --text-light: #888;
    --warning-orange: #f8b400; /* Kolor pomarańczowy dla ostrzeżeń */
    --main-button-blue: #0d6efd; /* Główny kolor przycisku */
    --light-grey-bg: #f5f5f5; /* Jasnoszare tło dla niektórych elementów */
}

/* Ogólne style karty */
.card.vin-report-card {
    background-color: var(--card-bg);
    border-radius: 12px;
    padding: 0;
    overflow: hidden;
}
.warning-banner {
    background-color: #fff3cd; /* Jasnożółte tło */
    color: #856404; /* Ciemnożółty tekst */
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid #ffeeba; /* Linia pod banerem */
}

.warning-banner i {
    color: var(--warning-orange); /* Kolor ikony ostrzegawczej */
    font-size: 18px;
}

.vin-doctor-header {
    display: flex;
    align-items: flex-start;
    border-bottom: 1px solid var(--border-light);
    justify-content: space-between;
}
.blurred-car-image {
    width: 100px; /* Szerokość obrazka */
    height: 70px; /* Wysokość obrazka */
    border-radius: 6px;
    margin-right: 15px;
    object-fit: cover; /* Upewnij się, że obrazek dobrze się dopasowuje */
    filter: blur(2px); /* Efekt rozmycia */
}

.vin-doctor-info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    position: relative; /* Dla pozycjonowania ikony pytajnika */
}

.vin-doctor-title {
    font-size: 15px;
    color: var(--text-dark);
    margin: 0 0 5px 0;
}

.vin-doctor-damage {
    font-size: 13px;
    color: var(--text-light);
}

.info-icon-button {
    background: none;
    border: none;
    color: #a0a0a0;
    cursor: pointer;
    position: absolute;
    top: 5px;
    right: 5px;
    padding: 0;
    line-height: 1;
}

/* Lista rekordów VIN */
.vin-records-list {
    padding: 20px;
    border-bottom: 1px solid var(--border-light);
}

.record-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid rgba(232, 235, 239, 0.6);
    font-size: 13px;
    line-height: 1.4;
    color: var(--text-dark);
}

.record-label {
    /* Domyślny styl wystarczy */
}

.record-status {
    display: flex;
    align-items: center;
    gap: 5px;
}

.warning-icon {
    color: var(--warning-orange);
    font-size: 16px;
}

/* Przycisk Zapisy Aukcyjne */
.btn.auction-records-button {
    background-color: #fff3cd;
    color: #856404;
    border: 1px solid #ffeeba;
    border-radius: 6px;
    width: auto;
    cursor: pointer;
    font-size: 13px;
    display: flex
;
    justify-content: center;
    align-items: center;
    gap: 8px;
    box-shadow: var(--shadow-light);
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
    margin: 15px 0px 0px 0px;
}

.btn.auction-records-button:hover {
    background-color: #ffeeba; /* Delikatnie ciemniejsze po najechaniu */
}

.btn.auction-records-button .bi {
    color: var(--warning-orange); /* Kolor ikony w przycisku */
    font-size: 18px;
}

.btn.get-full-history-button {
    background-color: var(--main-button-blue);
    color: #fff;
    background-color: var(--button-bg-light);
    padding: 10px 20px;
    border-radius: 6px;
    width: auto;
    cursor: pointer;
    font-size: 13px;
    color: var(--text-dark);
    display: flex
;
    justify-content: center;
    align-items: center;
    gap: 8px;
    box-shadow: var(--shadow-light);
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
    margin: 10px 0px 15px 0px;
}
.btn.get-full-history-button:hover {
    background-color: #0056b3; 
color: white!important;


}

/* Media Queries dla responsywności (jeśli potrzebne) */
@media (max-width: 768px) {


    .warning-banner,
    .vin-records-list .record-item,
    .btn.auction-records-button,
    .btn.get-full-history-button {
        font-size: 12px;
    }
.delivery-time-box {
display: none !important;
}
    .vin-doctor-header {
        align-items: flex-start;
        gap: 10px;
    }

    .blurred-car-image {
        margin-right: 0;
        margin-bottom: 10px;
    }

.card.vin-report-card {

    margin-top: 10px;
}
}

.my_nev_9 {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease-out;
    border-bottom: 1px solid var(--border-light);
}
button.expand-button.my_nev_8 {
    width: auto;
}
img.car-thumbnail-small {
    width: 100px;
    border-radius: 6px;
    margin-right: -10px;
    object-fit: cover;
    filter: blur(2px);
    padding: 8px;
}
.delivery-time-box {
    background-color: #ffffff;
    text-decoration: none;
    cursor: pointer;
    height: 32px;
    border: 1px solid #E6EDF6;
    font-size: 13px;
    color: black;
    padding: 6px 12px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 10px;
    transition: all .3s;
    text-wrap-mode: nowrap;
}
.card.vin-report-card {
    padding: 20px;
    border-radius: 8px;
    border: 1px solid rgba(232, 235, 239, 0.4);
    background-color: var(--card-bg);
}

.card-content-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.vin-report-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0;
}

.more-info-link {
    font-size: 13px;
    color: var(--primary-blue);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.more-info-link:hover {
    text-decoration: underline;
    color: #4a7aa3;
}

.vin-records-list {
    padding: 0;
    border-bottom: none; /* Remove existing border-bottom if present */
}

.vin-records-list .record-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(232, 235, 239, 0.6);
    font-size: 13px;
    color: var(--text-dark);
}

.vin-records-list .record-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.record-label {
    flex-grow: 1;
    color: var(--text-dark);
}

.record-status {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    white-space: nowrap;
}

.record-status.green-status {
    color: #09cd0d; /* Green color for success */
}

.record-status.yellow-status {
    color: #FDD786; /* Yellow color for warnings */
}

.record-status .bi-check-circle-fill {
    font-size: 16px;
}

.record-status .bi-exclamation-triangle-fill {
    font-size: 16px;
}

.get-full-report-button {
    background-color: #ffc107; /* Yellow/orange background */
    color: #000; /* Black text */
    padding: 12px 20px;
    border: none;
    border-radius: 6px;
    width: 100%;
    margin-top: 20px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    transition: background-color 0.2s, box-shadow 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
}

.get-full-report-button:hover {
    background-color: #e0a800; /* Darker yellow on hover */
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
span.info-label {
    color: #8393a9;
}


@media (max-width: 768px) {
    .card.vin-report-card {
        padding: 15px;
    }
.card.vin-report-card{
        display: none;
    }
.location-info-container {
    gap: 5px!important;
    flex-direction: column;
        align-items: stretch;
}
    .vin-report-title {
        font-size: 14px;
    }

    .more-info-link {
        font-size: 12px;
    }

    .vin-records-list .record-item {
        padding: 10px 0;
        font-size: 12px;
    }

    .record-status {
        gap: 5px;
    }

    .record-status .bi-check-circle-fill,
    .record-status .bi-exclamation-triangle-fill {
        font-size: 14px;
    }

    .get-full-report-button {
        padding: 10px 15px;
        font-size: 13px;
    }
}
.main-image-container {
    position: relative; /* Ważne dla pozycjonowania absolutnego przycisków */
    /* Reszta twoich istniejących stylów dla .main-image-container */
}

/* Nowy kontener dla przycisku "Pobierz HD" */
.image-overlay-top-left-buttons {
    position: absolute;
    top: 10px; /* Odległość od góry */
    left: 10px; /* Odległość od lewej */
    z-index: 5; /* Upewnij się, że jest nad obrazkiem */
}

#downloadHdImagesBtn {
        border: none;
        gap: 6px;
        position: relative;
        z-index: 9;
        font-size: 13px;
        color: #fff;
        background: #111821ad;
        border-radius: 3px;
        height: 24px;
        line-height: 0px;
        margin-left: 0px;
        padding: 12 10px !important;
        display: flex;
        align-items: center;
        transition: all .2s;
        align-content: center;
        flex-wrap: wrap;
        flex-direction: row;
        justify-content: space-evenly;
}

#downloadHdImagesBtn:hover {
    background-color: #0056b3;
}
.my_nev_1o {
        padding: 0px 15px 15px 15px;
}
.price-item.my_6_nev {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    align-items: center;
    border-top: 1px dashed var(--border-light);
    background-color: #f0f8ff;
    margin: -15px;
    padding: 20px 16px 25px 16px;
    margin-top: 10px;
    border-bottom: none !important;
    position: relative; /* Dodaj tę linię */
}

.close-price-info-btn {
        position: absolute;
        top: -5px;
        right: 0px;
        background: none;
        border: none;
        font-size: 20px;
        color: #888;
        cursor: pointer;
        padding: 5px;
        line-height: 1;
        z-index: 10;
}
.close-price-info-btn:hover {
    color: #333;
}

i.bi.bi-shield-check.icon-inline {
        font-size: 23px;
        color: #01a7ff;
}
:root {
    --primary-color: #2196F3;
    --primary-hover: #176399;
    --text-dark: #3A3F4A;
    --text-medium: #7F8DA3;
    --border-light: #E0E4EB;
    --card-bg: #FFFFFF;
}

.tutorial-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    background-color: rgba(24, 42, 62, 0);
    backdrop-filter: blur(0px);
    transition: background-color 0.4s ease-out, backdrop-filter 0.4s ease-out;
    pointer-events: none;
}

.tutorial-overlay.active {
    background-color: rgba(24, 42, 62, 0.7);
    backdrop-filter: blur(4px);
    pointer-events: auto;
}

.tutorial-highlight {
    position: relative;
    z-index: 10001;
    box-shadow: 0 0 0 4px rgba(33, 150, 243, 0.8), 0 0 25px 5px rgba(33, 150, 243, 0.5);
    border-radius: 8px;
    transition: box-shadow 0.4s ease-in-out;
}

.tutorial-tooltip {
    position: absolute;
    background-color: var(--card-bg);
    padding: 0;
    border-radius: 12px;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.2), 0 3px 10px rgba(0, 0, 0, 0.1);
    z-index: 10002;
    max-width: 330px;
    min-width: 280px;
    text-align: center;
    opacity: 0;
    transform: scale(0.9);
    transform-origin: var(--arrow-left, 50%) var(--arrow-top, 100%);
    transition: opacity 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    pointer-events: none;
}

.tutorial-tooltip.visible {
    opacity: 1;
    transform: scale(0.95);
    pointer-events: auto;
}

.tutorial-tooltip::after {
    content: '';
    position: absolute;
    top: var(--arrow-top, 100%);
    left: var(--arrow-left, 50%);
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border: 12px solid transparent;
    border-top-color: #f0f3f7;
}

.tutorial-tooltip.tooltip-below::after {
    top: auto;
    bottom: 100%;
    border-top-color: transparent;
    border-bottom-color: var(--card-bg);
}

.tutorial-header {
    padding: 15px 20px 10px 20px;
    font-size: 0.9rem;
    color: var(--text-medium);
    background-color: #f8f9fb;
    border-bottom: 1px solid var(--border-light);
}

.tutorial-body {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--text-dark);
padding: 16px 12px;
}

.tutorial-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #f0f3f7;
    border-top: 1px solid #e7eaf0;
    padding: 12px;
    flex-wrap: wrap;
}

.tutorial-button-skip {
    background: none;
    border: none;
    color: var(--text-medium);
    font-size: 0.9rem;
    cursor: pointer;
    font-weight: 500;
    padding: 8px;
    transition: color 0.2s ease;
}

.tutorial-button-skip:hover {
    color: var(--text-dark);
}

.tutorial-button-next {
    background-color: var(--primary-color);
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
    box-shadow: 0 4px 12px rgba(33, 150, 243, 0.3);
}

.tutorial-button-next:hover {
    background-color: var(--primary-hover);
    transform: translateY(-2px);
}
/* --- GŁÓWNA SEKCJA I NAGŁÓWEK --- */
.car-history-section .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 8px; /* Mniejszy margines */
}

.car-history-section .header-title {
    display: flex;
    align-items: center;
    gap: 8px;
}

.car-history-section .section-description {
    font-size: 13px;
    color: var(--text-medium);
    margin-bottom: 0;
    line-height: 1.5;
    margin-top: 14px;
    border-top: 1px solid var(--border-light);
    padding-top: 10px;
}

#history-content-wrapper {
    margin-top: 15px;
}

#check-history-button {
    background-color: #ffffff;
    border: 1px solid #e0e4eb30;
    padding: 10px 20px;
    border-radius: 6px;
    width: 100%;
    margin-top: 20px;
    cursor: pointer;
    font-size: 13px;
    color: #000000;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s;
    background: #EAECEF;
    font-weight: 500;
}

#check-history-button:hover {
    background-color: #1768e0;
    color: white;
    border-color: var(--primary-blue);
}

#check-history-button:disabled {
    cursor: not-allowed;
    background-color: var(--button-bg-light);
    color: var(--text-medium);
}

/* Styl dla samego tekstu w przycisku */
#check-history-button span {
    transition: all 0.2s ease;
}

/* Stan ładowania - ikona się kręci, tekst znika */
#check-history-button.loading .bi-hourglass-split {
    animation: spin 1.5s linear infinite;
}
#check-history-button.loading span {
   display: none; /* Ukryj tekst, zachowaj ikonę */
}
@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}


/* --- LISTA SPRZEDANYCH AUT --- */
#sold-cars-list {
    list-style-type: none;
    padding: 0;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    gap: 8px; /* Mniejszy odstęp */
}

.history-list-item {
    display: grid;
    grid-template-columns: 95px 1fr auto;
    gap: 12px;
    align-items: center;
    background-color: var(--card-bg);
    padding: 10px;
    border-radius: 8px;
    border: 1px solid #e0e4eb91;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.car-item-thumbnail {
    width: 95px; /* Mniejsze zdjęcie */
    height: 70px; /* Mniejsze zdjęcie */
    object-fit: cover;
    border-radius: 6px;
    background-color: var(--page-bg);
    cursor: pointer;
}

.car-details-wrapper {
    display: flex;
    flex-direction: column;
    gap: 4px; /* Mniejszy odstęp */
}

.car-title {
    font-weight: 600;
    font-size: 14px;
    color: var(--text-dark);
}

.car-vin {
    font-family: monospace;
    font-size: 11px;
    color: #393939;
    padding: 2px 6px;
    border-radius: 4px;
    width: fit-content;
    margin-left: -5px;
}
.car-vin:hover {
    color: #000000;
}
.car-sale-info {
    font-size: 12px;
    color: var(--text-medium);
}

.car-price {
    font-weight: 500;
    color: #2b2b2b;
    font-size: 13px;
}

.offer-button-wrapper {
    padding-left: 8px;
}

.offer-button {

    text-decoration: none;
    position: absolute;
    right: 24px;
    margin-top: -43px;
}

/* --- POZOSTAŁE STYLE (BEZ WIĘKSZYCH ZMIAN) --- */
/* Karta "Przewidywana cena na aukcji" (history.js, klasy pp-*): etykieta, kwota, pasek
   najtańsza-najdroższa sprzedaż z zacienionym typowym zakresem i znacznikiem ceny,
   dwie liczby i stopka ze źródłem. Obramowania jak .history-list-item pod spodem. */
.average-price-info {
    background-color: var(--card-bg);
    border: 1px solid #e0e4eb91;
    border-radius: 8px;
    padding: 14px 16px 12px;
    margin: 0 0 12px 0;
    color: var(--text-dark);
    line-height: 1.4;
}

.pp-label {
    font-size: 11px;
    letter-spacing: .06em;
    color: var(--text-medium);
}

.pp-value {
    margin-top: 4px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.15;
    color: #1ab350;
    font-variant-numeric: tabular-nums;
}

.pp-approx {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-medium);
    margin-right: 6px;
    vertical-align: 3px;
}

.pp-bar {
    position: relative;
    height: 6px;
    margin: 14px 0 0;
    border-radius: 3px;
    background-color: var(--button-bg-light);
}

.pp-bar-fill {
    position: absolute;
    top: 0;
    bottom: 0;
    border-radius: 3px;
    background-color: #1ab35040;
}

.pp-bar-mark {
    position: absolute;
    top: 50%;
    width: 12px;
    height: 12px;
    margin-left: -6px;
    transform: translateY(-50%);
    border-radius: 50%;
    background-color: #1ab350;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px #1ab35066;
}

.pp-bar-ends {
    display: flex;
    justify-content: space-between;
    margin-top: 5px;
    font-size: 11px;
    color: var(--text-light);
    font-variant-numeric: tabular-nums;
}

.pp-bar-ends b {
    font-weight: 600;
    color: var(--text-medium);
}

.pp-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 12px;
}

.pp-stat {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    padding: 8px 10px;
    border-radius: 6px;
    background-color: var(--page-bg);
}

.pp-stat-label {
    font-size: 11px;
    color: var(--text-medium);
}

.pp-stat-value {
    font-size: 14px;
    color: #000000;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.pp-foot {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    margin-top: 10px;
    font-size: 12px;
    color: var(--text-medium);
}

.pp-foot .bi {
    flex: none;
    margin-top: 1px;
}

.pp-foot strong {
    font-weight: 600;
    color: var(--text-dark);
}

#toggle-list-button {
    width: 100%;
    margin-top: 12px;
}

.history-list-item.hidden {
    display: none;
}

/* --- LIGHTBOX (bez zmian) --- */
.image-lightbox-overlay { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: rgba(24, 42, 62, 0.85); backdrop-filter: blur(5px); justify-content: center; align-items: center; }
.image-lightbox-overlay.active { display: flex; }
.image-lightbox-content { margin: auto; display: block; max-width: 90%; max-height: 90%; object-fit: contain; animation: zoomIn 0.3s ease-out; }
@keyframes zoomIn { from { opacity: 0; transform: scale(0.9); } to { opacity: 1; transform: scale(1); } }
.image-lightbox-close {
    position: absolute;
    top: 20px;
    right: 35px;
    color: #f1f1f1;
    font-size: 45px;
    font-weight: 100;
    transition: 0.3s;
    cursor: pointer;
}
.image-lightbox-close:hover, .image-lightbox-close:focus { color: #bbb; }

@media (max-width: 768px) {
section.card.car-history-section {
	display: none;
}

section#extendedOpinionSection {
    margin-top: -3px !important;
}


}
span#car-name {
    margin-left: -4px;
}
.opinion-wrapper {
    padding: 10px 20px 20px 20px;
    border-radius: 0px 0px 4px 4px;
    transition: all 0.3s ease-in-out;
}
.opinion-title {
    margin-top: 0;
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 8px;
}
.opinion-text {
    margin-bottom: 0;
    font-size: 12px;
    line-height: 1.6;
    color: #152433;
}
.opinion-wrapper.opinion-recommended {
    border-color: #5aff802e;
    background-color: #eaf8f1 !important;
}
.opinion-wrapper.opinion-recommended .opinion-title {
    color: #28a745;
}
.opinion-wrapper.opinion-consider {
    background-color: rgba(255, 193, 7, 0.05);
}
.opinion-wrapper.opinion-consider .opinion-title {
    color: orange;
}
.opinion-wrapper.opinion-not-recommended {
    background-color: rgb(255 207 207 / 13%);
}
.opinion-wrapper.opinion-not-recommended .opinion-title {
    color: #ff0000;
}
section#extendedOpinionSection {
    padding: 0;
    border-radius: 0px 0px 4px 4px;
    min-height: 150px;
    display: block;
    margin-top: -14px;
    border-top: none;
}
h2#vehicle-header, h2#cost-breakdown-header {
    /* display: none !important; <--- TO BYŁO PRZYCZYNĄ BŁĘDU */
    visibility: hidden;
    height: 1px;
    margin: -1px;
    padding: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
}
.opinion-details {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.4s ease-in-out;
}

.opinion-details.expanded {
  grid-template-rows: 1fr;
}

.opinion-details-inner {
  min-height: 0;
}

.toggle-opinion-btn {
    background-color: #ffffff;
    border: 1px solid #dddddd91;
    border-radius: 20px;
    padding: 0px 12px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 400;
    color: #555555;
    transition: background-color 0.2s;
    position: absolute;
    bottom: 8px;
    right: 8px;
}

.toggle-opinion-btn:hover {
  background-color: #e0e0e0;
}



.loading-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
}

/* --- STYL DLA INSTRUKCJI KROK PO KROKU --- */
.import-process-guide {
    border-top: 1px dashed var(--border-light);
    background-color: #f8f9fb;
    margin: 15px -15px -25px -15px; /* Dopasowanie do kontenera nadrzędnego */
    padding: 20px 25px 25px 25px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.guide-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0 0 20px 0;
    text-align: left;
    display: flex;
    align-items: center;
    gap: 10px;
}

.guide-title .bi {
    color: var(--primary-blue);
    font-size: 18px;
}

.timeline {
    list-style: none;
    padding-left: 20px;
    margin: 0;
    position: relative;
    border-left: 2px solid var(--border-light);
}

.timeline-item {
    position: relative;
    margin-bottom: 20px;
    padding-left: 25px;
    counter-increment: timeline-counter;
}

.timeline-item:last-child {
    margin-bottom: 0;
}

.timeline-item::before {
    content: counter(timeline-counter);
    position: absolute;
    left: -34px;
    top: -1px;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: var(--card-bg);
    border: 2px solid var(--border-light);
    color: var(--text-medium);
    font-size: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.timeline-item:hover::before {
    background-color: var(--primary-blue);
    border-color: var(--primary-blue);
    color: #fff;
    transform: scale(1.1);
}

.timeline-content {
    transition: transform 0.3s ease;
}

.timeline-item:hover .timeline-content {
    transform: translateX(5px);
}

.timeline-content h4 {
    font-size: 13px;
    font-weight: 500;
    color: var(--text-dark);
    margin: 0 0 3px 0;
}

.timeline-content p {
    font-size: 12px;
    color: var(--text-medium);
    margin: 0;
    line-height: 1.4;
}
/* --- POCZĄTEK: Ulepszone Style dla Generatora Raportu VIN --- */
#vin-generator-section {
    padding: 20px;
    transition: all 0.3s ease-in-out;
}

#vin-generator-section .section-header {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border-light);
}

#vin-generator-section .generator-description {
    font-size: 13px;
    color: var(--text-medium);
    margin-bottom: 20px;
    line-height: 1.5;
}

#vin-generator-wrapper {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s ease-in-out;
}

#vin-generator-wrapper.expanded {
    grid-template-rows: 1fr;
    margin-top: 20px;
}

#vin-generator-wrapper > .inner-wrapper {
    overflow: hidden;
}

#vin-generator-section #checkButton {
    width: 100%;
}

#vin-generator-section #checkButton .bi {
    transition: transform 0.3s ease-in-out;
}

#vin-generator-section #checkButton.loading .bi-hourglass-split {
    animation: spin 1.5s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

#vin-generator-section .status-container {
    text-align: center;
    padding: 20px;
    background-color: var(--page-bg);
    border-radius: 8px;
    border: 1px solid var(--border-light);
}

#vin-generator-section .progress-bar-container {
    background-color: var(--border-light);
    border-radius: 50px;
    padding: 3px;
    margin-top: 15px;
}

#vin-generator-section .progress-bar {
    height: 18px;
    width: 0%;
    background-color: var(--primary-blue);
    border-radius: 50px;
    text-align: center;
    line-height: 18px;
    color: white;
    font-size: 12px;
    font-weight: 500;
    transition: width 0.5s ease-in-out;
}

#vin-generator-section #reportContainer {
    margin-top: 0;
}

#vin-generator-section .error-message {
    color: white;
    background-color: var(--red-main);
    padding: 15px;
    border-radius: 8px;
    text-align: center;
    margin-top: 0;
    display: none;
}

#reportContainer .vin-doctor-header {
    display: flex;
    align-items: flex-start;
    border-bottom: 1px solid var(--border-light);
    padding-bottom: 15px;
    margin-bottom: 10px;
    padding-top: 15px;
    border-top: 1px solid var(--border-light);
    margin-top: 25px;
}

#reportContainer .car-thumbnail-small {
    width: 100px;
    height: 75px;
    border-radius: 6px;
    object-fit: cover;
    filter: blur(1px);
}

#reportContainer .vin-doctor-info {
    flex-grow: 1;
    padding-left: 15px;
    margin-top: 5px;
}

#reportContainer .vin-doctor-title {
    font-size: 15px;
    color: var(--text-dark);
    font-weight: 600;
    margin: 0 0 5px 0;
}

#reportContainer .vin-doctor-damage {
    font-size: 13px;
    color: var(--text-medium);
}

#reportContainer .vin-records-list {
    padding: 0;
    margin: 0;
    list-style: none;
}

#reportContainer .record-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid rgba(232, 235, 239, 0.6);
}
#reportContainer .record-item:last-child {
    border-bottom: none;
}
#reportContainer .record-label {
    font-size: 13px;
    color: #8393a8;
}

#reportContainer .record-status {
    display: flex;
    align-items: center;
    gap: 15px;
    font-weight: 400;
    font-size: 13px;
    white-space: nowrap;
}
#reportContainer .record-status .bi {
    font-size: 16px;
    flex-shrink: 0;
    margin: -4px;
}
i.bi.bi-info-circle {
    color: var(--text-light)!important;
}
#reportContainer .record-status.status-ok {
    color: #25af70;
}

#reportContainer .record-status.status-info {
    color: orange;
}

#reportContainer .get-full-report-button {
    background-color: #ffc107;
    color: #1a1a1a;
    padding: 12px 20px;
    border: none;
    border-radius: 6px;
    width: 100%;
    margin-top: 20px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 400;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: background-color 0.2s, box-shadow 0.2s;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}

#reportContainer .get-full-report-button:hover {
    background-color: #e0a800;
    box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
/* --- Początek: Style dla sekcji historii pojazdu --- */
.vin-history-card {
    padding: 20px;
    margin-top: 8px; /* Dodatkowy odstęp od góry */
}

.vin-history-list {
    list-style: none;
    padding: 0;
    margin-top: 15px;
    border-top: 1px solid var(--border-light);
}

.history-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 5px;
    border-bottom: 1px solid var(--border-light);
    font-size: 14px;
    transition: background-color 0.2s ease;
}

.history-item:hover {
    background-color: #f8f9fb;
}

.history-item-label {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--text-dark);
    font-weight: 500;
}

.history-item-label .bi {
    font-size: 18px;
    color: var(--primary-blue);
    width: 20px;
    text-align: center;
}

.history-item-status {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    white-space: nowrap;
}

.history-item-status.status-ok {
    color: #25af70; /* Zielony dla pozytywnych informacji */
}

.history-item-status.status-warning {
    color: var(--red-main); /* Czerwony dla ostrzeżeń */
}

.history-item-status .bi {
    font-size: 16px;
}

/* Styl dla ukrytych, szczegółowych tabel */
.history-details-table {
    margin-top: 15px;
    width: 100%;
    border-collapse: collapse;
}

.history-details-table th, .history-details-table td {
    padding: 10px;
    text-align: left;
    border-bottom: 1px solid var(--border-light);
    font-size: 13px;
}

.history-details-table th {
    background-color: var(--button-bg-light);
    font-weight: 600;
    color: var(--text-dark);
}

.history-details-table tbody tr:nth-child(even) {
    background-color: #fdfefe;
}
/* --- POCZĄTEK: NOWE STYLE DLA RAPORTU VIN I HISTORII SPRZEDAŻY --- */

/* Główny kontener sekcji raportu */
#reportContainer .report-section {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid var(--border-light);
}

/* Nagłówek sekcji (np. "Historia sprzedaży") */
#reportContainer .section-title {
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 15px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--primary-blue);
}

/* Kontener dla responsywnej tabeli */
#reportContainer .table-responsive {
    overflow-x: auto;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    box-shadow: var(--shadow-light);
}

/* Główna tabela */
#reportContainer .vin-history-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    line-height: 1.5;
}

/* Nagłówki tabeli */
#reportContainer .vin-history-table thead th {
    background-color: var(--top-nav-bg-breadcrumb);
    color: var(--text-medium);
    font-weight: 500;
    padding: 12px 15px;
    text-align: left;
    white-space: nowrap;
    border-bottom: 2px solid var(--border-light);
}

/* Komórki tabeli */
#reportContainer .vin-history-table tbody td {
    padding: 12px 15px;
    border-bottom: 1px solid var(--border-light);
    color: var(--text-dark);
    vertical-align: middle;
}

/* Usuwa dolną linię dla ostatniego wiersza */
#reportContainer .vin-history-table tbody tr:last-child td {
    border-bottom: none;
}

/* Delikatne tło dla co drugiego wiersza (efekt zebry) */
#reportContainer .vin-history-table tbody tr:nth-child(even) {
    background-color: #fcfdff;
}

/* Efekt podświetlenia wiersza po najechaniu myszką */
#reportContainer .vin-history-table tbody tr:hover {
    background-color: var(--secondary-color-light);
}

/* Wyróżnienie komórki z ceną */

/* Komórka z przebiegiem */
#reportContainer .vin-history-table .odometer-cell {
    color: var(--text-dark);
}

/* Styl dla typu sprzedaży - ikony */




/* Ikona dla aukcji */
#reportContainer .vin-history-table .bi-hammer {
    color: var(--primary-blue);
}

/* Ikona dla ogłoszenia */
#reportContainer .vin-history-table .bi-card-text {
    color: #6c757d;
}

/* --- POCZĄTEK: PROFESJONALNE STYLE DLA RAPORTU VIN --- */

/* Usunięcie obramowania z głównej listy, ponieważ teraz sekcje mają swoje style */
#reportContainer .vin-records-list {
    padding: 0;
    margin: 0;
    list-style: none;
}

/* Styl dla pojedynczej sekcji w raporcie (np. Specyfikacja) */
.vin-report-subsection {
    margin-top: 20px;
}
.vin-report-subsection:first-of-type {
    margin-top: 10px;
}

/* Nagłówek dla każdej podsekcji raportu */
.subsection-title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-light);
}

.subsection-title .bi {
    font-size: 14px;
}

/* Wiersz z danymi w liście */
#reportContainer .record-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 5px; /* Dodano padding boczny dla lepszego wyglądu */
    border-bottom: 1px solid rgba(232, 235, 239, 0.7);
    transition: background-color 0.2s ease;
}
#reportContainer .vin-records-list > .record-item:last-child {
    border-bottom: none;
}
#reportContainer .record-item:hover {
    background-color: #f8f9fb;
}

/* Etykieta (np. "Marka", "Model") */
#reportContainer .record-label {
    font-size: 13px;
    color: var(--text-medium);
}


/* Definicje kolorów dla statusów */
#reportContainer .record-status.status-ok {
    color: #25af70;
}
#reportContainer .record-status.status-warning {
    color: #ff9200;
}
#reportContainer .record-status.status-info {
    color: #232425;
}

/* Tabela z historią sprzedaży (z poprzedniej odpowiedzi, dopracowana) */
#reportContainer .report-section {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid var(--border-light);
}


#reportContainer .table-responsive {
    overflow-x: auto;
    border: 1px solid var(--border-light);
    border-radius: 8px;
    box-shadow: var(--shadow-light);
}

#reportContainer .vin-history-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
    line-height: 1.5;
}

#reportContainer .vin-history-table thead th {
    background-color: var(--top-nav-bg-breadcrumb);
    color: var(--text-medium);
    font-weight: 500;
    padding: 12px 15px;
    text-align: left;
    white-space: nowrap;
    border-bottom: 2px solid var(--border-light);
}

#reportContainer .vin-history-table tbody td {
    padding: 12px 15px;
    border-bottom: 1px solid var(--border-light);
    color: var(--text-dark);
    vertical-align: middle;
}

#reportContainer .vin-history-table tbody tr:last-child td {
    border-bottom: none;
}

#reportContainer .vin-history-table tbody tr:nth-child(even) {
    background-color: #fcfdff;
}

#reportContainer .vin-history-table tbody tr:hover {
    background-color: var(--secondary-color-light);
}

#reportContainer .vin-history-table .price-cell {
    color: #1e6a2b;
    white-space: nowrap;
}
td.odometer-cell {
    text-wrap-mode: nowrap;
}
#reportContainer .vin-history-table .odometer-cell {
    color: var(--text-dark);
}

#reportContainer .vin-history-table .sale-type-cell {
    align-items: center;
    gap: 8px;
}

#reportContainer .vin-history-table .sale-type-cell .bi {
    font-size: 13px;
}

#reportContainer .vin-history-table .bi-hammer {
    color: var(--primary-blue);
}

#reportContainer .vin-history-table .bi-card-text {
    color: #6c757d;
}

.my-12 {
    position: absolute;
    right: 24px;
}
img.button-icon {
    width: 17px;
    margin-top: -2px;
}

.button-icon-svg {
    width: 17px;
    margin-top: -2px;

    display: inline-block;
    vertical-align: middle;



    content: url('/pl/images/bold.svg');
    margin-right: 5px; /* Dodaj mały margines dla odstępu od tekstu */
}

.bid-button:hover .button-icon-svg {
    content: url('/pl/images/bold_white.svg');
}

/* Sam kolor - uklad ostatniego okruszka ustawia blok .breadcrumb-trail wyzej.
   Selektor z id bil tamte reguly specyficznoscia (padding, display). */
#breadcrumbCurrentItem {
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
    line-height: inherit;
    color: #6c757d;
}
.vin-highlight {
    color: #000000;
    padding: 6px 4px;
    font-size: 12px;
    letter-spacing: 1px;
}
.location-info-block {
    display: flex;
    gap: 6px;
    align-items: center;
}
span#displayShipping {
    color: #232930;
}
span#displayLocation {
    color: #232930;
}
span#portDistanceDisplay {
    color: #232930;
}
.info-items.location-box {
    white-space: nowrap;
}


.info-items.shipping-box {
    white-space: nowrap;
}
.info-items.distance-box {
    white-space: nowrap;
}


.location-info-container {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    flex-wrap: wrap; 
    font-size: 13px;
}


@media (max-width: 768px) {
    .thumbs-row {
        grid-template-columns: repeat(auto-fill, minmax(58px, 1fr)) !important;
    }
.main-header-bottom .tabs {
    gap: 6px !important;
}
}
/* --- Style dla sekcji SEO --- */
#seo-generated-content {
    background-color: var(--card-bg);
    padding: 25px;
    border-radius: 8px;
    border: 1px solid rgba(232, 235, 239, 0.4);
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

#seo-generated-content .seo-header {
    border-bottom: 1px solid var(--border-light);
    padding-bottom: 15px;
    margin-bottom: 5px;
}

#seo-main-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--text-dark);
    margin: 0 0 8px 0;
    line-height: 1.3;
}

#seo-sub-title {
    font-size: 12px;
    color: var(--text-medium);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Układ kolumnowy */
#seo-generated-content .grid {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 30px;
}

#seo-generated-content h3 {
    font-size: 15px;
    font-weight: 600;
    color: var(--text-dark);
    margin-bottom: 12px;
    margin-top: 0;
}

/* Teksty opisowe */
#seo-intro-paragraph, 
#seo-tech-paragraph, 
#seo-condition-paragraph {
    font-size: 14px;
    line-height: 1.6;
    color: #4a5568;
    margin-bottom: 15px;
    text-align: justify;
}

#seo-intro-paragraph strong,
#seo-tech-paragraph strong,
#seo-condition-paragraph strong {
    font-weight: 500;
    color: #2d3748;
}

/* Kolumna ze specyfikacją (prawa strona) */
.seo-details-col {
    background-color: #f8f9fb;
    padding: 20px;
    border-radius: 8px;
    border: 1px solid var(--border-light);
    height: fit-content;
}

#seo-features-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

#seo-features-list li {
    display: flex;
    align-items: flex-start;
    padding: 8px 0;
    border-bottom: 1px dashed #e2e8f0;
    font-size: 13px;
    color: var(--text-dark);
    line-height: 1.4;
}

#seo-features-list li:last-child {
    border-bottom: none;
}

#seo-features-list li span.mr-2 {
    margin-right: 8px;
    font-size: 10px;
    align-self: center;
}

#seo-features-list strong {
    font-weight: 600;
    color: #555;
    min-width: 80px;
}

/* Stopka sekcji SEO */
.seo-footer {
    margin-top: 10px;
    padding-top: 20px;
    border-top: 1px solid var(--border-light);
}

#seo-cta-paragraph {
    margin-top: 15px;
    color: #0089ff;
    font-size: 14px;
    background-color: #e6f7ff57;
    padding: 10px 15px;
    border-radius: 6px;
    border-left: 2px solid #2d9eff;
}
@media (max-width: 992px) {
    #seo-generated-content .grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .seo-details-col {
        order: -1; /* Lista parametrów nad tekstem na mobile */
        background-color: #fff;
        border: 1px solid var(--border-light);
    }
}

@media (max-width: 768px) {
    #seo-generated-content {
        padding: 15px;
        margin-top: 15px;
    }
    
    #seo-main-title {
        font-size: 16px;
    }
    
    #seo-intro-paragraph, 
    #seo-tech-paragraph, 
    #seo-condition-paragraph {
        font-size: 13px;
        text-align: left; /* Na mobile lepiej czyta się tekst wyrównany do lewej */
    }
}

/* --- Konfiguracja Zmiennych --- */
:root {
    /* Kolory bez zmian */
    --active-border-color: rgba(110, 255, 110, 0.55); 
    --active-inner-shadow: rgba(110, 255, 110, 0.25);
    --border-thickness: 1px;
    --card-radius: 5px;

    /* ZMIANA 1: Zwiększona wartość, aby paski były bardzo długie */
    /* Było 100px -> jest 400px (mniej powtórzeń, dłuższe linie) */
    --dash-size: 400px; 
}

/* --- Animacja (musi być dopasowana do logicznego przesuwania wzoru) --- */
@keyframes greenBorderWalkSmooth {
    0% {
        background-position: 
            0 0, 100% 100%, 0 100%, 100% 0;
    }
    100% {
        background-position: 
            var(--dash-size) 0, 
            calc(100% - var(--dash-size)) 100%, 
            0 calc(100% - var(--dash-size)), 
            100% var(--dash-size);
    }
}

/* --- Główny element karty --- */
#currentOfferCardActive.live-auction-active {
    position: relative;
    overflow: hidden; 
    border-radius: var(--card-radius);
    border: none !important; 
    background-color: #fff !important; 
}

/* --- Pseudoelement z animacją i paskami --- */
#currentOfferCardActive.live-auction-active::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    pointer-events: none;
    
    border-radius: var(--card-radius); 

    /* Definicja pasków */
    background-image: 
        linear-gradient(90deg, var(--active-border-color) 50%, transparent 50%), /* Góra */
        linear-gradient(90deg, var(--active-border-color) 50%, transparent 50%), /* Dół */
        linear-gradient(0deg, var(--active-border-color) 50%, transparent 50%),  /* Lewo */
        linear-gradient(0deg, var(--active-border-color) 50%, transparent 50%);  /* Prawo */
        
    background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
    
    /* Rozmiary */
    background-size: 
        var(--dash-size) var(--border-thickness), 
        var(--dash-size) var(--border-thickness), 
        var(--border-thickness) var(--dash-size), 
        var(--border-thickness) var(--dash-size);
    
    /* Pozycje startowe */
    background-position: 0 0, 0 100%, 0 0, 100% 0;
    
    /* ZMIANA 2: Szybkość animacji */
    /* Było 2.5s -> jest 1s (znacznie szybciej) */
    animation: greenBorderWalkSmooth 1s infinite linear;
    
    z-index: 1;
}
/* Kontener zdjęcia */
.offer-image-section {
    position: relative !important;
    display: block !important;
}

/* 1. FIZYCZNA BIAŁA MGIEŁKA (generowana przez JS) */
.faded-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Tu ustawiasz siłę przygaszenia (0.6 to 60% bieli) */
    background-color: #e6e6e6c2 !important; 
    z-index: 15; /* Nad zdjęciem */
    pointer-events: none; /* Kliknięcia przechodzą do zdjęcia */
}

/* 2. NAPIS "SOLD" */
.sold-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-12deg);
    z-index: 20; /* Najwyżej - nad mgiełką */
    opacity: 0.5;
    border: 6px solid #d64646;
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 12px;
    color: #d64646;
    font-family: sans-serif;
    font-weight: 900;
    font-size: 42px;
    padding: 10px 40px;
    text-transform: uppercase;
    letter-spacing: 4px;
    pointer-events: none;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
    white-space: nowrap;
}

/* Ogólna szarość dla strony po zakończeniu aukcji */
.car-offer.offer-ended {
    filter: grayscale(100%);
    transition: all 0.3s ease;
}

/* Wyjątek: zdejmujemy szarość z sekcji zdjęcia, żeby napis SOLD był czerwony */
.car-offer.offer-ended .offer-image-section,
.car-offer.offer-ended .sold-overlay {
    filter: grayscale(0%) !important;
}

/* Responsywność */
@media (max-width: 768px) {
    .sold-overlay {
        font-size: 24px;
        padding: 8px 20px;
        border-width: 4px;
    }
}
p#buy-now-price-display {
    margin-right: 16px!important;
}
span#salesHistoryCount {
    display: none !important;
}
@keyframes blinkRed {
    0% { opacity: 1; color: #dc3545; }
    50% { opacity: 0.4; color: #dc3545; }
    100% { opacity: 1; color: #dc3545; }
}

@keyframes gentlePulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.08); /* Delikatne powiększenie o 8% */
    }
    100% {
        transform: scale(1);
    }
}

.bid-winning {
    color: #22b743 !important;
    font-weight: 500;
    margin-top: -4px;
    display: inline-block; 
    transform-origin: center; 
    animation: gentlePulse 1.5s ease-in-out infinite; 
}

.bid-tie {
    color: #fd7e14 !important;
    font-weight: 500;
}

.bid-losing {
    color: #ff4b4b !important;
    font-weight: 500;
    animation: blinkRed 1s infinite;
}
.opinion-wrapper.opinion-recommended .opinion-text,
.opinion-wrapper.opinion-recommended .opinion-title {
    color: #16ad59;
}
.carousel-container-wrapper {
    position: relative;
    padding: 0 2px;
    overflow: hidden;
}

/* PASEK PRZEWIJANIA */
.carousel-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 16px;
    overflow-x: auto;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    padding: 5px 5px 20px 5px; /* Padding na cień */
    scrollbar-width: none; /* Firefox */
    ms-overflow-style: none;  /* IE */
    scroll-snap-type: x mandatory;
}

.carousel-row::-webkit-scrollbar {
    display: none; 
}

/* KARTA POJAZDU (KAFELEK) */
.similar-card {
    flex: 0 0 270px; /* Desktop: stała szerokość */
    background: #fff;
    border: 1px solid #eaeff5;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
    display: flex;
    flex-direction: column;
    position: relative;
    box-shadow: 0 2px 6px rgba(0,0,0,0.04);
    scroll-snap-align: start;
}

/* Hover: Tylko delikatne wzmocnienie cienia i ramki */
.similar-card:hover {
    box-shadow: 0 6px 12px rgba(0,0,0,0.08);
    border-color: #dbe2ea;
    z-index: 2;
}

/* ZDJĘCIE */
.similar-card-img-box {
    position: relative;
    width: 100%;
    height: 200px; /* Wyższe zdjęcie na desktopie */
    background: #f4f4f4;
    overflow: hidden;
}

.similar-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Kluczowe: wypełnia kwadrat bez rozciągania */
}

/* BADGES NA ZDJĘCIU */
.card-badges {
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    display: flex;
    justify-content: space-between;
    z-index: 2;
    pointer-events: auto;
}

.badge-site {
    font-size: 10px;
    font-weight: 700;
    color: #fff;
    padding: 4px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    box-shadow: 0 2px 4px rgba(0,0,0,0.25);
    backdrop-filter: blur(4px);
    cursor: help;
}

.badge-copart { background-color: rgba(14, 90, 192, 0.95); }
.badge-iaai { background-color: rgba(217, 30, 24, 0.95); }

.badge-status {
    background: rgba(0, 0, 0, 0.75);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    gap: 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.15);
    backdrop-filter: blur(2px);
}

.dot-indicator {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    display: block;
}

.dot-green { background-color: #00c853; box-shadow: 0 0 4px #00c853; }
.dot-red { background-color: #ff3d00; }
.dot-grey { background-color: #b0bec5; }

/* TREŚĆ */
.similar-card-content {
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-grow: 1;
}

.similar-title {
    font-size: 15px;
    font-weight: 600;
    color: #2c3e50;
    margin: 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* VIN */
.similar-vin-box {
    display: flex;
    align-items: center;
    gap: 6px;
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    padding: 3px 6px;
    border-radius: 4px;
    font-family: 'Roboto Mono', monospace;
    font-size: 11px;
    color: #5c6b7f;
    width: fit-content;
    cursor: help;
}
.similar-vin-box i { font-size: 12px; color: #aab2c0; }

/* DATA I PRZEBIEG */
.similar-meta {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #7f8fa4;
    margin-top: 2px;
}
.meta-item {
    display: flex;
    align-items: center;
    gap: 5px;
}
.meta-item i { color: #cfd8dc; font-size: 13px; }

.card-divider {
    height: 1px;
    background: #f0f2f5;
    margin: 4px 0;
}

/* CENA */
.similar-price-box {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.price-col {
    display: flex;
    flex-direction: column;
    cursor: help;
}
.label-tiny {
    font-size: 10px;
    text-transform: uppercase;
    color: #9aa5b1;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin-bottom: 1px;
}
.price-val {
    font-size: 16px;
    font-weight: 500;
    color: #2d3436;
    letter-spacing: -0.5px;
}
.price-val.green { color: #27ae60; }

/* PRZYCISKI NAWIGACJI (OKRĄGŁE) */
.header-nav-btn {
    width: 32px;
    height: 32px;
    border-radius: 50%; /* Idealne koło */
    background: #fff;
    border: 1px solid #e1e8ed;
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 14px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.header-nav-btn:hover {
    background: #2196F3;
    color: #fff;
    border-color: #2196F3;
}
.header-nav-btn:active {
    background: #1976D2;
}

h3.section-header {
    font-size: 16px !important;
}

/* --- RESPONSYWNOŚĆ (MOBILE) --- */
@media (max-width: 768px) {
    .carousel-container-wrapper { padding: 0; }
    
    /* Ukrywamy przyciski na telefonie */
    .similar-nav-buttons { display: none !important; }
    
    .carousel-row { 
        gap: 10px; 
        padding: 5px 5px 15px 5px; 
    }
    
    section#similarOffersSection {
        background-color: #ffffff00 !important;
        box-shadow: none !important;
    }
    
    .similar-card { 
        /* Na mobilce sztywne kafelki */
        flex: 0 0 calc(50% - 5px); 
        min-width: 0; 
        border-radius: 8px; 
    }
    
    /* Naprawa wysokości zdjęcia na mobile - format bardziej kwadratowy */
    .similar-card-img-box { 
        height: auto; 
        aspect-ratio: 4/3; /* Utrzymuje ładne proporcje zdjęcia */
    }
    
    .similar-card-content { padding: 10px 8px; gap: 6px; }
    
    /* Zmniejszone czcionki */
    .similar-title { font-size: 12px; line-height: 1.3; }
    .similar-vin-box { font-size: 9px; padding: 2px 4px; }
    .similar-vin-box i { font-size: 10px; }
    
    .similar-meta { 
        font-size: 10px; 
        flex-direction: column; /* Data pod przebiegiem dla czytelności */
        gap: 3px;
        align-items: flex-start;
    }
    
    .price-val { font-size: 15px; }
    .label-tiny { font-size: 9px; }
    
    /* Ukrycie strzałki "Zobacz" na mobile */
    .bi-arrow-right-circle-fill { display: none; }
    
    .badge-site, .badge-status { font-size: 8px; padding: 2px 5px; }
    .card-badges { top: 6px; left: 6px; right: 6px; }
}

button#auctions_live_watch {
    position: relative;
    display: flex;
    width: 98%;
    align-items: center;
    justify-content: center;
    padding: 14px 20px;
    border-radius: 8px;
    color: #ffffff;
    font-size: 13px;
    border: none;
    margin: auto;
    cursor: pointer;
    z-index: 1;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(34, 197, 94, 0.2);
}
button#auctions_live_watch::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    aspect-ratio: 1 / 1;
    background: conic-gradient(from 0deg, transparent 75%, rgba(34, 197, 94, 0.6) 90%, /* Ciemniejsza zieleń */ #4ade80 100% /* Jasna zieleń na "czubku" światła */);
    transform: translate(-50%, -50%);
    animation: borderRotate 2.5s linear infinite;
    z-index: -2;
}

button#auctions_live_watch::after {
    content: '';
    position: absolute;
    inset: 3px;
    background: #04c752;
    border-radius: 5px;
    border: 1px solid #22c55e;
    z-index: -1;
    transition: background 0.3s ease;
}

button#auctions_live_watch:hover::after {
    background: #f0fdf4; 
}

button#auctions_live_watch:hover {
    color: #000000;
}

@keyframes borderRotate {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/* Wariant WYGASZONY przycisku "Aukcja na żywo" - identyczna geometria jak
   button#auctions_live_watch, z tą samą obrotową poświatą ("wężykiem") dookoła,
   tylko w szarej tonacji i nieklikalny. Pokazywany gdy pojazd nie ma jeszcze
   przypisanej linii aukcyjnej. */
button.live_auctions_disabled {
    position: relative;
    display: flex;
    width: 98%;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 14px 20px;
    border-radius: 8px;
    color: #ffffff;
    font-size: 13px;
    border: none;
    margin: auto;
    cursor: not-allowed;
    z-index: 1;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(100, 116, 139, 0.18);
}
/* Obrotowy "wężyk" - identyczny mechanizm jak w aktywnym przycisku, lecz szary. */
button.live_auctions_disabled::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    aspect-ratio: 1 / 1;
    background: conic-gradient(from 0deg, transparent 75%, rgba(148, 163, 184, 0.6) 90%, /* ciemniejszy szary */ #e2e8f0 100% /* jasny szary na "czubku" światła */);
    transform: translate(-50%, -50%);
    animation: borderRotate 2.5s linear infinite;
    z-index: -2;
}
button.live_auctions_disabled::after {
    content: '';
    position: absolute;
    inset: 3px;
    background: #94a3b8;
    border-radius: 5px;
    border: 1px solid #cbd5e1;
    z-index: -1;
}

/* ── WYNIK aukcji: "Sprzedano za" / "Finalna oferta" ──────────────────────────
   Wstawiane przez SSR (oferty.js) DO #currentOfferCardActive zamiast kalkulatora.
   .sold-result-mode zdejmuje białe tło karty - zostają tylko dwa różowe boxy. */
.current-offer-card.sold-result-mode {
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}
.sold-result-note {
    border-radius: 4px;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
    padding: 16px 20px;
    margin: 0 0 14px;
    background: #fffcfc;
    border: 2px solid #ffffff;
}
.sold-result-note strong { color: #3f4654; font-weight: 700; }
.sold-result-box {
    background: #fffcfc;
    border: 2px solid #ffffff;
    border-radius: 4px;
    text-align: center;
    padding: 22px 18px 24px;
    margin: 0;
}
.sold-result-headline {
    color: #dc2626;
    font-weight: 500;
    font-size: 15px;
    margin: 0 0 10px;
}
.sold-result-price {
    color: #000000;
    font-weight: 600;
    font-size: 26px;
    line-height: 1.1;
    margin-bottom: 20px;
}
.sold-result-channel {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #fff1f1;
    color: #f32121;
    font-size: 12px;
    font-weight: 400;
    padding: 4px 14px;
    border-radius: 6px;
}
.sold-result-channel i { font-size: 13px; }
/* Brak kwoty: "---" + "Oczekujemy na wynik" zamiast pustego miejsca. */
.sold-result-price.is-empty { color: #9ca3af; letter-spacing: 3px; margin-bottom: 6px; }
.sold-result-waiting { color: #6b7280; font-size: 13px; margin: 0 0 16px; }

/* Telefony: delikatnie mniejsze czcionki karty wyniku. */
@media (max-width: 768px) {
    .sold-result-note { font-size: 12px; }
    .sold-result-headline { font-size: 14px; }
    .sold-result-price { font-size: 23px; }
    .sold-result-channel { font-size: 11px; }
    .sold-result-channel i { font-size: 12px; }
}

/* Dymki podpowiedzi (27.09.2026) - 1:1 z listą ofert (.dynamic-tooltip w aktualne-oferty.css),
   rysuje je nc_tooltip.js. Zmieniając wygląd, zmień w obu plikach. */
.dynamic-tooltip { position: fixed; background-color: #334559; color: white; padding: 0.4rem 0.8rem; border-radius: 3px; font-size: 12px; line-height: 1.3; text-align: left; white-space: normal; max-width: 200px; z-index: 10000; opacity: 0; visibility: hidden; transition: opacity 0.2s, visibility 0.2s; pointer-events: none; font-weight: 400 !important; font-family: system-ui; backdrop-filter: blur(5px); }
.dynamic-tooltip::after { content: ''; position: absolute; left: var(--nc-tip-arrow, 50%); margin-left: -5px; border-width: 5px; border-style: solid; }
.dynamic-tooltip.tooltip-on-top::after { top: 100%; border-color: #334559 transparent transparent transparent; }
.dynamic-tooltip.tooltip-on-bottom::after { bottom: 100%; border-color: transparent transparent #334559 transparent; }
.dynamic-tooltip.visible { opacity: 1; visibility: visible; }

/* Szerszy dymek dla dłuższych objaśnień (np. Title pending przy rodzaju tytułu). */
.dynamic-tooltip.dynamic-tooltip--wide { max-width: 320px; }

/* Podpowiedź "Sugerowana stawka" przy polu kwoty - ten sam dymek, tylko szerszy i z układem:
   etykieta, zakres kwot, rozbicie na dwie kwoty z opisem i na końcu podstawa wyliczenia.
   Klasy bh-* są wspólne ze stroną "Moje konto" (HTML dymka składa serwer, patrz price_hint.js). */
.dynamic-tooltip.dynamic-tooltip--bid-hint { max-width: 340px; padding: 13px 15px; line-height: 1.45; }

.bh-etykieta {
    display: block;
    font-size: 0.78em;
    font-weight: 500;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    opacity: 0.55;
}

.bh-zakres {
    display: block;
    margin-top: 3px;
    font-size: 1.25em;
    font-weight: 600;
    letter-spacing: 0.01em;
    white-space: nowrap;
    color: #7ee2a8;
}

.bh-kreska {
    display: block;
    height: 1px;
    margin: 11px 0;
    background: rgba(255, 255, 255, 0.16);
}

.bh-tabela {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 12px;
    row-gap: 6px;
    align-items: baseline;
}

.bh-kwota {
    font-weight: 600;
    white-space: nowrap;
}

.bh-opis {
    opacity: 0.7;
}

.bh-podstawa {
    display: block;
    font-size: 0.85em;
    line-height: 1.5;
    opacity: 0.6;
}

.bh-cecha::before {
    content: "\00a0· ";
    opacity: 0.55;
}


/* ─────────────────────────────────────────────────────────────────────────
   POPRZEDNIE LICYTACJE TEGO VIN-u (#vinLotsSection)
   Wygląd zgrany z listą „Sprawdź przewidywaną cenę" (.history-list-item): ta sama
   siatka miniatura | opis | wynik, te same promienie i obramowania, kolory portali
   z tych samych zmiennych co plakietki w tabeli historii sprzedaży.
   UWAGA na układ: o szerokości decyduje KARTA, nie okno. Lewa kolumna ma ~410 px przy
   oknie 1600 px (siatka 3-kolumnowa), ~530 px przy 1366 px i ~370 px na tablecie, więc
   zwykłe media query dobierałyby układ na odwrót. Stąd container queries, a dla starszych
   przeglądarek (Safari < 16) awaryjny wariant po szerokości okna niżej.
   Sekcję wypełnia SSR (oferty.js); bez innych lotów zostaje ukryta.
   ───────────────────────────────────────────────────────────────────────── */
.vin-lots-section .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 8px;
}

.vin-lots-section .header-title {
    display: flex;
    align-items: center;
    gap: 8px;
}

.vin-lots-count {
    font-size: 12px;
    font-weight: 600;
    color: var(--text-medium);
    background-color: var(--button-bg-light);
    border: 1px solid var(--border-light);
    border-radius: 20px;
    padding: 1px 9px;
    line-height: 18px;
}

.vin-lots-intro {
    font-size: 13px;
    color: var(--text-medium);
    line-height: 1.5;
    margin: 0;
}

.vin-lots-list {
    list-style: none;
    padding: 0;
    margin: 15px 0 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    container-type: inline-size;
    container-name: vinlots;
}

/* Baza = układ wąski (telefon albo wąska kolumna): miniatura + opis, wynik paskiem pod spodem. */
.vin-lots-item {
    position: relative;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    column-gap: 10px;
    row-gap: 8px;
    align-items: center;
    background-color: var(--card-bg);
    padding: 10px;
    border-radius: 8px;
    border: 1px solid #e0e4eb91;
    transition: border-color var(--transition-base), box-shadow var(--transition-base);
}

.vin-lots-item:hover {
    border-color: var(--border-medium);
    box-shadow: var(--shadow-light);
}

/* Cały wiersz prowadzi do tego wystawienia (adres z ?lot=). Przezroczysta nakładka zamiast
   opakowywania treści w <a>, żeby nie ruszać siatki i container queries. */
.vin-lots-link {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: 8px;
    text-indent: -9999px;
    overflow: hidden;
}

.vin-lots-link:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

.vin-lots-item:hover { cursor: pointer; }

.vin-lots-thumb {
    width: 72px;
    height: 54px;
    overflow: hidden; /* wygasle zdjecie starego lotu: tekst alt nie wylewa sie poza miniature */
    color: transparent;
    object-fit: cover;
    border-radius: 6px;
    background-color: var(--page-bg);
    display: block;
}

.vin-lots-info {
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
}

.vin-lots-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.vin-lots-site {
    color: #fff;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    padding: 3px 9px;
    border-radius: 4px;
    white-space: nowrap;
}

.vin-lots-site.is-copart { background-color: var(--badge-copart); }
.vin-lots-site.is-iaai   { background-color: var(--badge-iaai); }
.vin-lots-site.is-other  { background-color: var(--nextcars-grey); }

.vin-lots-lot {
    font-size: 12px;
    color: var(--text-medium);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.vin-lots-date {
    font-size: 12px;
    color: var(--text-medium);
}

.vin-lots-date strong {
    color: var(--text-dark);
    font-weight: 600;
}

.vin-lots-meta {
    font-size: 11px;
    /* --text-medium, a nie --text-light: przy 11 px jasnoszary miał kontrast 2,1:1 na białym
       (WCAG wymaga 4,5:1), a to jest ten sam odcień co opisy w sąsiedniej liście historii. */
    color: var(--text-medium);
    line-height: 1.4;
}

.vin-lots-result {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    padding: 6px 10px;
    border-radius: 6px;
    /* Bez obramowania - kolorowa ramka wokół kolorowego tła wyglądała ciężko (uwaga właściciela). */
    border: 0;
    text-align: left;
}

.vin-lots-result-label {
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.vin-lots-result-value {
    font-size: 14px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    color: var(--text-dark);
}

.vin-lots-result-note {
    font-size: 11px;
    color: var(--text-medium);
    margin-left: auto;
    text-align: right;
}

/* Stany wyniku - te same rodziny kolorów co plakietki .status-tag w tabeli historii,
   tylko przygaszone, bo tu tło jest większą plamą niż mała plakietka w tabeli. */
.vin-lots-item.is-sold .vin-lots-result {
    background-color: #e9fbf0;
}
.vin-lots-item.is-sold .vin-lots-result-label,
.vin-lots-item.is-sold .vin-lots-result-value { color: #0b671c; }

.vin-lots-item.is-pending .vin-lots-result {
    background-color: #f4eeff;
}
.vin-lots-item.is-pending .vin-lots-result-label,
.vin-lots-item.is-pending .vin-lots-result-value { color: #6f2bb5; }

.vin-lots-item.is-unsold .vin-lots-result {
    background-color: var(--red-light-bg);
}
/* Ciemniejsza czerwień niż --red-main: na różowym tle boxu tamta dawała 3,75:1, ta 6,1:1. */
.vin-lots-item.is-unsold .vin-lots-result-label,
.vin-lots-item.is-unsold .vin-lots-result-value { color: #b02a37; }

.vin-lots-item.is-upcoming .vin-lots-result {
    background-color: #eef6ff;
}
.vin-lots-item.is-upcoming .vin-lots-result-label,
.vin-lots-item.is-upcoming .vin-lots-result-value { color: #1768e0; }

.vin-lots-item.is-none .vin-lots-result {
    background-color: var(--button-bg-light);
}
.vin-lots-item.is-none .vin-lots-result-label,
.vin-lots-item.is-none .vin-lots-result-value { color: var(--text-medium); }

/* Karta na tyle szeroka, że wynik mieści się z prawej strony wiersza. */
@container vinlots (min-width: 350px) {
    /* Trzecia kolumna ma SUFIT szerokości - bez niego dłuższy wynik („Aukcja 26.08.2026")
       zjadał kolumnę opisu i data wystawienia łamała się na dwie linie. */
    .vin-lots-item {
        grid-template-columns: 80px minmax(0, 1fr) minmax(92px, 112px);
        row-gap: 0;
    }
    .vin-lots-thumb { width: 80px; height: 60px; }
    .vin-lots-meta {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .vin-lots-result {
        grid-column: auto;
        flex-direction: column;
        align-items: flex-end;
        gap: 2px;
        min-width: 96px;
        text-align: right;
    }
    .vin-lots-result-note { margin-left: 0; }
}

/* Szeroka karta (np. widok 2-kolumnowy): pełnowymiarowa miniatura jak na liście historii. */
@container vinlots (min-width: 470px) {
    .vin-lots-item {
        grid-template-columns: 95px minmax(0, 1fr) minmax(104px, 128px);
        column-gap: 12px;
    }
    .vin-lots-thumb { width: 95px; height: 70px; }
}

/* Awaryjnie dla przeglądarek bez container queries (Safari < 16): decyduje szerokość okna,
   powyżej 768 px karta zawsze mieści układ wierszowy. */
@supports not (container-type: inline-size) {
    @media (min-width: 769px) {
        .vin-lots-item {
            grid-template-columns: 80px minmax(0, 1fr) minmax(92px, 112px);
            row-gap: 0;
        }
        .vin-lots-thumb { width: 80px; height: 60px; }
        .vin-lots-meta {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .vin-lots-result {
            grid-column: auto;
            flex-direction: column;
            align-items: flex-end;
            gap: 2px;
            min-width: 96px;
            text-align: right;
        }
        .vin-lots-result-note { margin-left: 0; }
    }
}

/* ── ZGŁOSZENIE USUNIĘCIA OFERTY - okno trzykrokowe (dane → opłata 200 zł → gotowe) ───────────
   Okno trzyma się języka strony oferty: karty 8 px, wiersze etykieta/wartość jak w
   ".detail-row", ikonki-kopiuj jak ".copy-button", notka w palecie czerwonej (--red-light-bg).
   Układ: NIERUCHOMY pasek nagłówka (tytuł + zamknięcie) i osobno przewijana treść. Wcześniej
   krzyżyk był przyklejony nad treścią i na telefonie nachodził na pola formularza.
   Odstępy trzymają jeden rytm: sekcja 22 px, wiersz 11 px, pola formularza 14 px.
   Przyciski: grubość 400 (reszta strony też nie krzyczy). */
#removalRequestModal {
    align-items: flex-start;
    padding: 20px 12px;
}

#removalRequestModal .modal-content {
    display: flex;
    flex-direction: column;
    max-width: 760px;
    width: 100%;
    max-height: calc(100vh - 40px);
    margin: auto;
    padding: 0;
    overflow: hidden;
    background-color: var(--card-bg);
    border: 1px solid var(--border-light);
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(31, 48, 73, 0.18);
}

/* Nagłówek okna */
#removalRequestModal .removal-head {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
    padding: 15px 22px;
    border-bottom: 1px solid var(--border-light);
    background-color: var(--card-bg);
    border-radius: 8px 8px 0 0;
}

#removalRequestModal .removal-head .section-header {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: none;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--text-dark);
}

#removalRequestModal .removal-head .section-header i {
    color: var(--red-main);
    font-size: 16px;
    flex-shrink: 0;
}

#removalRequestModal .modal-close {
    position: static;
    flex-shrink: 0;
    width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    line-height: 1;
    color: var(--text-medium);
    background-color: var(--card-bg);
    border: 1px solid var(--border-light);
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

#removalRequestModal .modal-close:hover,
#removalRequestModal .modal-close:focus-visible {
    background-color: var(--button-bg-light);
    border-color: var(--border-medium);
    color: var(--text-dark);
}

/* Przewijana treść */
#removalRequestModal .removal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 20px 22px 22px;
}

/* Pasek kroków - kółko z numerem, pod nim opis, między kółkami łącznik.
   Krok zaliczony: zielone kółko z ptaszkiem i zielony łącznik za sobą.
   Krok bieżący: firmowy błękit z delikatną poświatą. Krok przyszły: wygaszony.
   Łączniki rysują ::before/::after wiersza (a nie osobne elementy), więc siatka
   zostaje trzykolumnowa i nic się nie rozjeżdża przy zawijaniu opisów. */
.removal-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    list-style: none;
    margin: 2px 0 22px;
    padding: 0;
}

.removal-steps li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 0 6px;
    text-align: center;
    font-size: 12.5px;
    line-height: 1.35;
    color: var(--text-light);
    transition: color 0.2s ease;
}

/* Łączniki: lewy kończy się przed kółkiem, prawy zaczyna za nim. */
.removal-steps li::before,
.removal-steps li::after {
    content: "";
    position: absolute;
    top: 12px;
    height: 2px;
    border-radius: 2px;
    background-color: var(--border-light);
    transition: background-color 0.2s ease;
}

.removal-steps li::before {
    left: 0;
    right: 50%;
    margin-right: 19px;
}

.removal-steps li::after {
    left: 50%;
    right: 0;
    margin-left: 19px;
}

.removal-steps li:first-child::before,
.removal-steps li:last-child::after {
    content: none;
}

.removal-steps li.is-done::before,
.removal-steps li.is-done::after,
.removal-steps li.is-active::before {
    background-color: var(--green-dot);
}

.removal-steps .rs-num {
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--card-bg);
    border: 1.5px solid var(--border-light);
    color: var(--text-light);
    font-size: 12px;
    line-height: 1;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.removal-steps .rs-num b {
    font-weight: 500;
}

/* Ptaszek pojawia się dopiero na kroku zaliczonym - w innych stanach jest cyfra. */
.removal-steps .rs-num i {
    display: none;
    font-size: 13px;
}

.removal-steps li.is-done .rs-num b {
    display: none;
}

.removal-steps li.is-done .rs-num i {
    display: inline-flex;
}

.removal-steps .rs-txt,
.removal-steps .rs-short {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.removal-steps .rs-short {
    display: none;
}

.removal-steps li.is-active {
    color: var(--text-dark);
}

.removal-steps li.is-active .rs-num {
    background-color: #2196f3;
    border-color: #2196f3;
    color: #fff;
    box-shadow: 0 0 0 4px rgba(33, 150, 243, 0.13);
}

.removal-steps li.is-active .rs-txt,
.removal-steps li.is-active .rs-short {
    font-weight: 500;
}

.removal-steps li.is-done {
    color: var(--text-medium);
}

.removal-steps li.is-done .rs-num {
    background-color: var(--green-dot);
    border-color: var(--green-dot);
    color: #fff;
}

/* Delikatny przedzielacz między opisem usługi a formularzem: włos grubości 1 px,
   który wygasa na obu końcach, żeby nie ciąć okna twardą kreską. */
#removalRequestModal .removal-sep {
    height: 1px;
    margin: 20px 0;
    border: 0;
    opacity: 1;
    background: linear-gradient(to right,
        rgba(224, 228, 235, 0) 0%,
        var(--border-light) 18%,
        var(--border-light) 82%,
        rgba(224, 228, 235, 0) 100%);
}

/* Krok 1 - tekst wstępny i podtytuł trzymają ten sam rytm co reszta okna
   (bazowa reguła h3 w tym oknie rysuje kreskowaną linię - tu ma być taka sama
   jak w podtytułach kroku 2). */
#removalRequestModal #removalRequestContent > h3 {
    margin: 22px 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-light);
    font-size: 13px;
    font-weight: 600;
    color: var(--text-dark);
}

/* Główna akcja kroku 1 prowadzi dalej (nie kasuje niczego), więc dostaje firmowy
   błękit z przycisków licytacji. Czerwony zostaje dla ostatecznego zlecenia. */
#removalRequestModal #submitRemovalRequest {
    background-color: #2196f3;
    border-color: #2196f3;
    color: #fff;
    box-shadow: none;
}

#removalRequestModal #submitRemovalRequest:hover {
    background-color: #0056b3;
    border-color: #0056b3;
    color: #fff;
    box-shadow: 0 4px 10px rgba(33, 150, 243, 0.22);
}

#removalRequestModal #submitRemovalRequest i,
#removalRequestModal #submitRemovalRequest:hover i {
    color: #fff;
}

#removalRequestModal ul {
    margin-bottom: 18px;
}

/* Krok 2 - notka o opłacie */
.removal-fee-banner {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    padding: 14px 16px;
    border: 1px solid var(--red-light-border);
    background-color: var(--red-light-bg);
    border-radius: 8px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-dark);
}

.removal-fee-banner i {
    font-size: 18px;
    color: var(--red-main);
    line-height: 1.3;
    flex-shrink: 0;
}

.removal-fee-banner strong {
    display: block;
    margin-bottom: 3px;
    font-weight: 600;
}

/* Podtytuły sekcji - ten sam krój co ".section-header" na kartach oferty */
#removalRequestModal .removal-h {
    margin: 22px 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--border-light);
    font-size: 13px;
    font-weight: 600;
    color: var(--text-dark);
}

/* Wiersze etykieta/wartość - język ".detail-row" ze strony oferty */
.removal-rows {
    border: 1px solid var(--border-light);
    border-radius: 8px;
    padding: 0 14px;
    background-color: var(--card-bg);
}

.removal-rows .rr-line {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(232, 235, 239, 0.6);
    font-size: 13px;
    line-height: 1.4;
}

.removal-rows .rr-line:last-child {
    border-bottom: none;
}

.removal-rows .rr-line > span {
    flex: 0 0 128px;
    color: #7e8ea2;
    font-size: 12.5px;
}

.removal-rows .rr-line > strong {
    flex: 1 1 auto;
    min-width: 0;
    text-align: right;
    color: #232425;
    font-weight: 500;
    overflow-wrap: anywhere;
}

.removal-rows .rr-mono {
    letter-spacing: 0.2px;
    font-variant-numeric: tabular-nums;
}

.removal-rows .rr-amount > strong {
    color: var(--red-main);
    font-weight: 600;
    font-size: 14px;
}

.removal-rows .rr-copy {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    padding: 0;
    background: none;
    border: none;
    border-radius: 4px;
    color: #72889e;
    font-size: 14px;
    cursor: pointer;
    transition: color 0.2s ease, background-color 0.2s ease;
}

.removal-rows .rr-copy:hover {
    color: var(--nextcars-blue);
    background-color: var(--button-bg-light);
}

/* Formularz kroku 2. Reguła bazowa (#removalRequestModal form) robi na desktopie siatkę
   2-kolumnową dla kroku 1 - tutaj mamy własną, z polami pełnej szerokości tam, gdzie trzeba. */
#removalRequestModal #removalPaymentForm {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    align-items: start;
    margin-top: 14px;
}

#removalRequestModal #removalPaymentForm .form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
    min-width: 0;
}

@media (min-width: 769px) {
    #removalRequestModal #removalPaymentForm {
        grid-template-columns: 1fr 1fr;
        gap: 14px 20px;
    }
    #removalRequestModal #removalPaymentForm .rp-wide {
        grid-column: 1 / -1;
    }
}

/* Wgrywanie potwierdzenia */
.removal-upload {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 92px;
    padding: 16px;
    border: 1px dashed var(--border-medium);
    border-radius: 8px;
    background-color: var(--top-nav-bg-breadcrumb);
    text-align: center;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    cursor: pointer;
}

.removal-upload:hover,
.removal-upload.is-dragging {
    border-color: var(--nextcars-blue);
    background-color: #F4F8FC;
}

.removal-upload.has-file {
    border-style: solid;
    border-color: #D8EEDB;
    background-color: #F6FBF7;
}

.removal-upload input[type="file"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}

.removal-upload .ru-placeholder {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    color: var(--text-medium);
    pointer-events: none;
}

.removal-upload .ru-placeholder i {
    font-size: 20px;
    color: var(--nextcars-blue);
}

.removal-upload .ru-placeholder small {
    font-size: 11.5px;
    color: var(--text-light);
}

.removal-file-chip {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    padding: 7px 10px;
    border: 1px solid #D8EEDB;
    background-color: #F6FBF7;
    border-radius: 6px;
    font-size: 12.5px;
    color: #3F7A50;
}

.removal-file-chip span {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.removal-file-chip button {
    flex-shrink: 0;
    border: none;
    background: none;
    color: var(--red-main);
    font-size: 17px;
    line-height: 1;
    padding: 0 2px;
    cursor: pointer;
}

.removal-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 12.5px;
    line-height: 1.5;
    color: var(--text-medium);
    cursor: pointer;
}

.removal-consent input[type="checkbox"] {
    margin: 1px 0 0;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    accent-color: var(--nextcars-blue);
    cursor: pointer;
}

#removalRequestModal .removal-note {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid var(--border-light);
    border-left: 3px solid var(--nextcars-blue);
    border-radius: 6px;
    background-color: var(--top-nav-bg-breadcrumb);
    font-size: 12px;
    line-height: 1.55;
    color: var(--text-medium);
}

/* Przyciski okna - grubość 400 wszędzie */
#removalRequestModal .form-submit-button {
    font-weight: 400;
    border-radius: 6px;
    padding: 11px 16px;
    font-size: 13.5px;
}

.removal-actions {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}

#removalRequestModal .removal-actions .form-submit-button {
    width: auto;
    flex: 1 1 auto;
}

#removalRequestModal .removal-actions .removal-back {
    flex: 0 0 auto;
    background-color: var(--card-bg);
    border-color: var(--border-light);
    color: var(--text-medium);
}

#removalRequestModal .removal-actions .removal-back:hover {
    background-color: var(--button-bg-light);
    border-color: var(--border-medium);
    color: var(--text-dark);
}

#removalRequestModal .removal-actions .removal-confirm {
    background-color: var(--red-main);
    border-color: var(--red-main);
    color: #fff;
    box-shadow: none;
}

#removalRequestModal .removal-actions .removal-confirm i,
#removalRequestModal .removal-actions .removal-confirm:hover i {
    color: #fff;
}

#removalRequestModal .removal-actions .removal-confirm:hover {
    background-color: #C24651;
    border-color: #C24651;
    color: #fff;
    box-shadow: 0 4px 10px rgba(212, 84, 93, 0.22);
}

#removalRequestModal .removal-actions .removal-confirm:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
    box-shadow: none;
}

/* Krok 3 */
.removal-done {
    text-align: center;
    padding: 22px 8px 6px;
}

.removal-done > i {
    display: block;
    margin-bottom: 12px;
    font-size: 42px;
    color: var(--green-dot);
}

#removalRequestModal .removal-done h3 {
    margin: 0 0 8px;
    padding: 0;
    border: none;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-dark);
}

#removalRequestModal .removal-done p {
    max-width: 420px;
    margin: 0 auto 20px;
}

#removalRequestModal .removal-done .form-submit-button {
    max-width: 200px;
    margin: 0 auto;
}

.removal-response {
    margin-top: 18px;
}

/* ── Tablety i telefony ─────────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
    #removalRequestModal {
        padding: 10px 8px;
    }
    #removalRequestModal .modal-content {
        max-height: calc(100vh - 20px);
    }
    #removalRequestModal .removal-head {
        padding: 13px 16px;
    }
    #removalRequestModal .removal-body {
        padding: 16px 16px 18px;
    }
    .removal-rows {
        padding: 0 12px;
    }
    .removal-rows .rr-line > span {
        flex: 0 0 96px;
    }
    .removal-actions {
        flex-direction: column-reverse;
    }
    #removalRequestModal .removal-actions .form-submit-button {
        width: 100%;
        flex: 1 1 auto;
    }
    #removalRequestModal .removal-done .form-submit-button {
        max-width: none;
    }
}

@media (max-width: 560px) {
    /* Numer rachunku i tytuł przelewu to długie ciągi - na wąskim ekranie łamały się
       w połowie numeru. Siatka (a nie zawijany flex) trzyma etykietę nad wartością,
       a ikonę kopiowania ZAWSZE w linii wartości, po prawej. */
    .removal-rows .rr-copyable {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas:
            "label label"
            "value copy";
        align-items: center;
        row-gap: 2px;
        column-gap: 8px;
    }
    .removal-rows .rr-copyable > span {
        grid-area: label;
    }
    .removal-rows .rr-copyable > strong {
        grid-area: value;
        text-align: left;
    }
    .removal-rows .rr-copyable > .rr-copy {
        grid-area: copy;
    }
    /* Pełne opisy kroków nie mieszczą się w jednej linii - wchodzą krótkie. */
    .removal-steps li {
        padding: 0 4px;
        gap: 7px;
        font-size: 12px;
    }
    .removal-steps .rs-txt {
        display: none;
    }
    .removal-steps .rs-short {
        display: block;
    }
}

@media (max-width: 400px) {
    #removalRequestModal .removal-head .section-header {
        font-size: 13.5px;
    }
    .removal-rows .rr-line > span {
        flex: 0 0 84px;
        font-size: 12px;
    }
    .removal-steps .rs-num {
        width: 24px;
        height: 24px;
        font-size: 11.5px;
    }
    /* Łącznik trzyma się środka mniejszego kółka. */
    .removal-steps li::before,
    .removal-steps li::after {
        top: 11px;
    }
    .removal-steps li::before {
        margin-right: 18px;
    }
    .removal-steps li::after {
        margin-left: 18px;
    }
}

/* =========================================================================
   CTA "Pobierz Carfax" - karta miedzy opinia a danymi pojazdu
   -------------------------------------------------------------------------
   Nic wlasnego poza ukladem: karta to zwykly .card, a przycisk zwykly
   .expand-button - dokladnie jak reszta kolumny. Odstepy sterowane sa
   marginesem samego przycisku (20 px z .expand-button), zeby siedzial tak
   samo jak "Pokaz wiecej" w sasiednich kartach.
   ========================================================================= */
.carfax-cta-head {
    display: flex;
    align-items: center;
    margin-bottom: 11px;
}

.carfax-cta-logo {
    height: 21px;
    width: auto;
    display: block;
    flex-shrink: 0;
}

.carfax-cta-desc {
    margin: 0;
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--text-medium);
}

.carfax-cta-btn {
    text-decoration: none;
    flex-wrap: wrap;
    justify-content: space-between;
}

.carfax-cta-btn:hover,
.carfax-cta-btn:focus,
.carfax-cta-btn:focus-visible {
    color: #000000;
    text-decoration: none;
}

.carfax-cta-btn:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

.carfax-cta-btn-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.carfax-cta-btn-vin {
    max-width: 100%;
    padding: 1px 7px;
    border-radius: 3px;
    background-color: #ffffff;
    font-size: 10.5px;
    font-weight: 400;
    letter-spacing: .5px;
    color: #5f6f85;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 768px) {
    .carfax-cta-card {
        margin-top: 8px;
    }
    .carfax-cta-logo {
        height: 19px;
    }
    .carfax-cta-desc {
        font-size: 12px;
    }
}

/* Ciasne telefony: plakietka oddaje kilka pikseli, zeby przy szerokim foncie
   systemowym (monospace bywa rozny na Androidzie i Windowsie) nie przycinala
   ostatnich znakow numeru. */
@media (max-width: 420px) {
    .carfax-cta-btn-vin {
        padding: 2px 6px;
        font-size: 10px;
        letter-spacing: .3px;
    }
}

/* =====================================================================
   Szczegółowe koszty jako oś czasu (24.09.2026)
   Pozycje 1-7 z numerem na pionowej linii, sumy z zakresem pozycji ("1-4", "1-7"),
   linia z ostatniej pozycji zakręca w ramkę sumy. Markup: public/pl/oferta.html
   (.cost-breakdown). Kwoty wpisuje JS po id, więc tu wyłącznie wygląd.
   ===================================================================== */
.cost-breakdown {
    --cb-step: 26px;          /* średnica kółka z numerem */
    --cb-gap: 12px;           /* odstęp kółko → etykieta */
    --cb-line: #dde4ee;       /* linia osi */
    --cb-ink: #1e3a5f;        /* granat numerów i sum */
    --cb-accent: #2563eb;     /* akcent (hover, suma końcowa) */
    --cb-muted: #7e8ea2;
}

/* Nagłówki grup: tytuł + podpis co zawiera grupa, flaga po prawej */
.cost-breakdown .cost-group-header {
    align-items: center;
    padding-bottom: 10px;
    margin-bottom: 6px;
    border-bottom: 1px solid #eef2f6;
}
.cost-breakdown .cost-group-header + .cb-track { margin-top: 4px; }
.cost-breakdown .cb-track + .cost-group-header { margin-top: 22px; }
.cost-breakdown .cbg-title {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 14px;
    font-weight: 600;
    color: #192b3e;
    line-height: 1.25;
}
.cost-breakdown .cbg-sub {
    font-size: 11.5px;
    font-weight: 400;
    color: var(--cb-muted);
    letter-spacing: .1px;
}
.cost-breakdown .cost-group-header .flag-icon {
    width: 22px;
    border-radius: 2px;
    border-color: #e3e8ef;
    opacity: .85;
    flex-shrink: 0;
}

/* Oś */
.cost-breakdown .cb-track {
    position: relative;
}
.cost-breakdown .cb-row {
    position: relative;
    display: grid;
    grid-template-columns: var(--cb-step) minmax(0, 1fr) auto;
    column-gap: var(--cb-gap);
    align-items: center;
    padding: 9px 8px 9px 0;
    border-bottom: 0;
    border-radius: 8px;
    font-variant-numeric: tabular-nums;
    transition: background-color .15s ease;
}
/* odcinek linii przez całą wysokość wiersza, na środku kolumny z numerem;
   pierwszy wiersz zaczyna się od kółka */
.cost-breakdown .cb-row::before,
.cost-breakdown .cb-track > .ev-freight-note::before {
    content: "";
    position: absolute;
    left: calc(var(--cb-step) / 2 - .5px);
    top: 0;
    bottom: 0;
    width: 1px;
    background: var(--cb-line);
    z-index: 0;
}
.cost-breakdown .cb-track > .cb-row:first-child::before { top: 50%; }
.cost-breakdown .cb-track--sub > .cb-row:last-child::before { bottom: 50%; }

.cost-breakdown .cb-step {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--cb-step);
    height: var(--cb-step);
    border-radius: 50%;
    background: #fff;
    border: 1.5px solid #c9d5e3;
    color: var(--cb-ink);
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    box-shadow: 0 0 0 3px #fff;   /* odcina linię tuż przy kółku */
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.cost-breakdown .cb-row > span:nth-child(2) {
    color: #5b6b80;
    min-width: 0;
    line-height: 1.35;
}
.cost-breakdown .cb-row > .value {
    color: #1f2937;
    font-weight: 600;
    white-space: nowrap;
    justify-content: flex-end;
}
@media (hover: hover) and (pointer: fine) {
    .cost-breakdown .cb-row:hover { background-color: #f6f9fd; }
    .cost-breakdown .cb-row:hover > .cb-step {
        background: var(--cb-ink);
        border-color: var(--cb-ink);
        color: #fff;
    }
}

/* Dopisek o elektryku leży na osi, pod pozycją 4 */
.cost-breakdown .cb-track > .ev-freight-note {
    position: relative;
    margin-top: -4px;
    padding: 0 8px 6px calc(var(--cb-step) + var(--cb-gap));
    text-align: right;
}

/* Sumy: ramka odsunięta do kolumny etykiet, linia osi zakręca w jej lewą krawędź */
.cost-breakdown .cb-total {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: 10px;
    align-items: center;
    width: auto;
    margin: 10px 0 0 calc(var(--cb-step) + var(--cb-gap));
    padding: 11px 12px 11px 10px;
    background: white;
    border: 1px dashed #e3e9f1;
    border-radius: 8px;
    font-variant-numeric: tabular-nums;
}
.cost-breakdown .cb-total::before {
    content: "";
    position: absolute;
    right: calc(100% + 1px);                 /* right liczy się od wewnętrznej krawędzi ramki (1 px) */
    top: -11px;                              /* margin-top + ramka: styk z linią wyżej */
    bottom: 50%;
    width: calc(var(--cb-step) / 2 + var(--cb-gap) + .5px);
    border-left: 1px solid var(--cb-line);
    border-bottom: 1px solid var(--cb-line);
    border-bottom-left-radius: 10px;
    margin-bottom: -.5px;
}
.cost-breakdown .cb-range {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: var(--cb-ink);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .3px;
    line-height: 1;
    white-space: nowrap;
}
.cost-breakdown .cb-total > span:nth-child(2) {
    color: var(--cb-ink);
    font-weight: 600;
    min-width: 0;
}
.cost-breakdown .cb-total > .value {
    color: var(--cb-ink);
    font-weight: 700;
    font-size: 14px;
    white-space: nowrap;
}

/* Suma końcowa: mocniejszy akcent + podpis, z czego się bierze */
.cost-breakdown .cb-grand {
    background: white;
    border-color: #d3e1fb;
    padding-top: 12px;
    padding-bottom: 12px;
}
.cost-breakdown .cb-grand .cb-range { background: var(--cb-accent); }
.cost-breakdown .cb-total-label { line-height: 1.25; }
/* podpis w drugim rzędzie pod etykietą i kwotą - na telefonie nie łamie "Cena pod dom (PLN)" */
.cost-breakdown .cb-total-note {
    grid-column: 2 / -1;
    margin-top: 3px;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.3;
    color: var(--cb-muted);
}
/* stary .cost-breakdown .cost-item span:first-child (szary kolor etykiet) trafiał w numer i zakres */
.cost-breakdown .cost-item > span.cb-step { color: var(--cb-ink); font-weight: 600; border-style: dashed; }
.cost-breakdown .cost-item > span.cb-range { color: #fff; font-weight: 600; }
.cost-breakdown .cb-grand > .value {
    font-size: 16px;
    color: #0f2a4a;
}

/* Rozwinięcie: składniki pozycji 5 */
.cost-breakdown .cb-sub-caption {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 14px 0 6px;
    font-size: 12px;
    color: var(--cb-muted);
}
.cost-breakdown .cb-ref {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 50%;
    border: 1.5px solid #c9d5e3;
    background: #fff;
    color: var(--cb-ink);
    font-size: 10.5px;
    font-weight: 600;
    line-height: 1;
}
.cost-breakdown .cb-track--sub .cost-item > .cb-step {
    font-size: 10px;
    border-style: dashed;
    color: #5b6b80;
}
.cost-breakdown .cb-row > .value.cb-included {
    font-weight: 400;
    font-size: 12px;
    color: var(--cb-muted);
    gap: 6px;
}

/* Telefony: ciaśniej, ale bez ucinania kwot */
@media (max-width: 768px) {
    .cost-breakdown {
        --cb-step: 24px;
        --cb-gap: 10px;
    }
    .cost-breakdown .cb-row {
        padding: 10px 2px 10px 0;
        font-size: 13px;
    }
    .cost-breakdown .cb-step { font-size: 11.5px; }
    .cost-breakdown .cb-track--sub .cost-item > .cb-step { font-size: 9.5px; }
    /* Sumy na telefonie: ciaśniejsza ramka, mniejsza pigułka i czcionki */
    .cost-breakdown .cb-total {
        column-gap: 8px;
        margin-top: 8px;
        padding: 8px 10px 8px 8px;
        border-radius: 7px;
    }
    /* zakręt linii: right liczy się od wewnętrznej krawędzi ramki (1 px obramowania),
       więc bez +1px pionowy odcinek wypadał 1 px na prawo od linii nad nim */
    .cost-breakdown .cb-total::before {
        right: calc(100% + 1px);
        top: -9px;                           /* margin-top 8px + ramka */
        width: calc(var(--cb-step) / 2 + var(--cb-gap) + .5px);
        border-bottom-left-radius: 8px;
    }
    .cost-breakdown .cb-range {
        min-width: 28px;
        height: 18px;
        padding: 0 6px;
        font-size: 10px;
        letter-spacing: .2px;
    }
    .cost-breakdown .cb-total > span:nth-child(2) { font-size: 12.5px; }
    .cost-breakdown .cb-total > .value { font-size: 13px; }
    .cost-breakdown .cb-grand {
        padding-top: 9px;
        padding-bottom: 9px;
    }
    .cost-breakdown .cb-grand > .value { font-size: 14px; }
    .cost-breakdown .cb-total-note {
        margin-top: 2px;
        font-size: 10.5px;
    }
}
@media (max-width: 380px) {
    .cost-breakdown .cb-row > span:nth-child(2) { font-size: 12.5px; }
    .cost-breakdown .cb-total > span:nth-child(2) { font-size: 12px; }
    .cost-breakdown .cb-total-note { font-size: 10px; }
}
.cost-breakdown .cb-total-note b { font-weight: 600; color: #5b6b80; white-space: nowrap; }

/* 26.09.2026: status "Odpala" (Starts) - silnik odpalił, jazdy nie sprawdzano. */
span.status-dot.orange {
    background-color: #f39c12;
}
/* 26.10.2026: ocena stanu i indeks AutoCheck w kolorystyce aukcje-automax.pl (plakietka .dk-badge-cond,
   pasek .dk-progress 6 px na torze #f1f5f9, procent 12px/600 w kolorze paska). Kolory liczy manheim_card.js. */
.mh-cond { display: inline-flex; align-items: center; gap: 5px; font: inherit; color: inherit; white-space: nowrap; }
.mh-cond i { font-size: 11px; margin: 0 !important; }
.mh-cond b { font-weight: 700; }
.mh-ac { display: inline-flex; align-items: center; gap: 8px; width: 100%; min-width: 0; }
.mh-ac-num { font-size: 14px; font-weight: 700; color: #0f172a; white-space: nowrap; }
.mh-ac-num small { font-size: 11px; font-weight: 500; color: #475569; margin-left: 2px; }
.mh-ac-track { flex: 1 1 auto; min-width: 40px; max-width: 110px; height: 6px; background: #f1f5f9; border-radius: 4px; overflow: hidden; }
.mh-ac-fill { display: block; height: 100%; border-radius: 4px; }
.mh-ac-pct { font-size: 12px; font-weight: 600; white-space: nowrap; }
.mh-cond i { font-size: 12px; margin: 0 !important; }
.mh-cond b { font-weight: inherit; }

/* ======================================================================
 * MANHEIM - dopiski do kopii offer-details.css (26.10.2026). Strona oferty Copart/IAAI
 * z tego pliku nie korzysta.
 * ====================================================================== */
.red-tag.mh-site-tag { background-color: #1b2a4a; color: #fff; display: inline-block; border-radius: 4px; }
.mh-equipment-section .section-header { margin-bottom: 14px; }
.mh-eq-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px 28px; margin: 0; padding: 0; list-style: none; }
.mh-eq-grid li { position: relative; padding-left: 18px; font-size: 13px; line-height: 1.45; color: var(--text-medium, #475569); break-inside: avoid; }
.mh-eq-grid li::before { content: "\F26E"; font-family: "bootstrap-icons"; position: absolute; left: 0; top: 0; color: #27ae60; font-size: 12px; }
.mh-pack-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.mh-pack { border: 1px solid #e3e8ef; border-radius: 8px; padding: 10px 12px; }
.mh-pack-name { font-size: 13px; font-weight: 600; color: var(--text-dark, #1e293b); margin-bottom: 6px; }
.mh-pack ul { margin: 0; padding-left: 16px; font-size: 12.5px; color: var(--text-medium, #475569); }
.mh-dmg-list { margin: 6px 0 0; padding-left: 18px; font-size: 13px; color: var(--text-medium, #475569); }
.mh-dmg-list li { margin-bottom: 3px; }
.mh-ann-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.mh-ann-list li { font-size: 13px; padding: 7px 10px; border-radius: 6px; background: #f3f5f8; border-left: 3px solid #9aa5b5; color: var(--text-dark, #1e293b); }
.mh-ann-list li.is-ok { background: #ecf8f1; border-left-color: #27ae60; }
.mh-ann-list li.is-warn { background: #fff6e8; border-left-color: #e39b2d; }
.mh-ann-list li.is-bad { background: #fdeeee; border-left-color: #e53935; }
.mh-notice { background: #fff; border: 1px solid #e3e8ef; border-radius: 10px; padding: 18px 20px; margin-bottom: 24px; font-size: 13px; line-height: 1.6; color: var(--text-medium, #475569); }
.mh-notice p { margin: 0 0 10px; }
.mh-notice p:last-child { margin-bottom: 0; }
.mh-notice strong { color: var(--text-dark, #1e293b); }
.mh-inactive-banner { background: #fff4e5; border: 1px solid #f5c98b; color: #7a4a00; border-radius: 8px; padding: 10px 14px; margin: 0 0 12px; font-size: 13px; }
@media (max-width: 991px) {
    .mh-eq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mh-pack-list { grid-template-columns: 1fr; }
}
@media (max-width: 575px) {
    .mh-eq-grid { grid-template-columns: 1fr; }
}
.badge-site.badge-manheim { background: #1b2a4a; color: #fff; }
/* Opinia: kolorowe tło na całą wysokość karty (karta ma min-height 150px, a przy krótkim opisie tło
   kończyło się w połowie). */
section#extendedOpinionSection { display: flex !important; flex-direction: column; }
#extendedOpinionSectionInner { flex: 1 1 auto; display: flex; flex-direction: column; }
#opinionContentWrapper { flex: 1 1 auto; }
span.auction-site-tag.manheim-navy { color: #fff; padding: 5px 9px; border-radius: 4px; font-size: 12px; font-weight: 400; white-space: nowrap; display: inline-flex; align-items: center; position: relative; background-color: #1b2a4a; width: 100%; border: none; }
/* Kropka przy „Data dodania” bez pulsowania (u aut pulsuje przy trwającej aukcji). */
#auctionStatusDot, #auctionStatusDot::before, #auctionStatusDot::after { animation: none !important; box-shadow: none !important; transform: none !important; }

/* ======================================================================
 * Karta ceny Manheim (.mhb) - przebudowa 27.10.2026 w języku reszty strony: padding 15 px jak .card,
 * nagłówek .section-header (ikona, 14 px, kreska), wiersze .detail-row, przyciski 13 px / promień 5 px
 * jak .bid-button, drugorzędny szary jak „Pobierz Carfax”. Bez pigułek i kolorowych boksów.
 * ====================================================================== */
.mh-inactive-banner { background: #fff4e5; border: 1px solid #ffe3bb2e; color: #7a4a00; border-radius: 5px; padding: 10px 14px; margin: 10px 0px 12px; font-size: 13px; }
#currentOfferCardActive.mhb { padding: 15px; display: flex !important; flex-direction: column; gap: 0; }
.mhb-head { margin-bottom: 14px; }
.mhb-head-txt { display: inline-flex; align-items: center; gap: 5px; }
.mhb-head .icon-inline { font-size: 12px; color: var(--text-light); font-weight: 400; cursor: help; }
.mhb-house { margin-left: auto; font-size: 11px; font-weight: 400; color: #fff; background: #1b2a4a; border-radius: 4px; padding: 3px 8px; white-space: nowrap; }
.mhb-price { font-size: 26px; line-height: 1.2; font-weight: 600; color: #000; letter-spacing: -.01em; }
.mhb-price small { font-size: 13px; font-weight: 400; color: var(--text-medium); margin-left: 2px; letter-spacing: 0; }
.mhb-price.is-muted { color: var(--text-medium); }
.mhb-sub { margin-top: 2px; font-size: 13px; color: var(--text-medium); }
.mhb-rows { margin-top: 10px; border-top: 1px solid rgba(232, 235, 239, 0.6); }
.mhb-rows .detail-row { padding: 11px 0; }
.mhb-rows .detail-row:last-child { padding-bottom: 11px; border-bottom: 1px solid rgba(232, 235, 239, 0.6); }
.mhb-state { display: inline-flex; align-items: center; gap: 6px; color: #16ad59; }
.mhb-state .mhb-dot { width: 8px; height: 8px; border-radius: 50%; background: #16ad59; }
.mhb-state.is-ended { color: var(--red-main); }
.mhb-state.is-ended .mhb-dot { background: var(--red-main); }
a.mhb-total { text-decoration: none !important; cursor: pointer; }
.mhb-total .value strong { font-size: 15px; font-weight: 600; color: #000; }
.mhb-total .value i { font-size: 12px; color: var(--text-light); transition: transform .15s ease, color .15s ease; }
.mhb-total:hover span:first-child { color: var(--text-dark); }
.mhb-total:hover .value i { color: var(--primary-color); transform: translateX(2px); }
.mhb-offer { margin-top: 14px; display: flex; flex-direction: column; gap: 4px; }
.mhb-offer label { font-size: 13px; color: var(--text-medium); }
.mhb-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 44px; margin-top: 15px; padding: 10px 12px; border-radius: 5px; font-size: 13px; font-weight: 400; line-height: 1.3; text-decoration: none !important; cursor: pointer; transition: background-color .2s, color .2s; }
.mhb-btn i { font-size: 14px; line-height: 1; display: inline-flex; align-items: center; }
.mhb-btn i::before { vertical-align: 0; }
.mhb-btn--primary { background: #16ad59; color: #fff !important; border: 1px solid #16ad59; }
.mhb-btn--primary:hover { background: #12924b; border-color: #12924b; }
.mhb-btn--ghost { background: var(--button-bg-light); color: var(--text-dark) !important; border: 1px solid transparent; }
.mhb-btn--ghost:hover { background: #e8ebf0; color: #000 !important; }
.mhb-btn + .mhb-btn { margin-top: 8px; }
.mhb-offer .mhb-btn { margin-top: 0; }
.mhb-points { list-style: none; margin: 15px 0 0; padding: 0; display: grid; gap: 7px; }
.mhb-points li { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; color: #5f6c82; line-height: 1.45; }
.mhb-points li i { color: #16ad59; font-size: 13px; line-height: 1.35; }
.mhb-how { margin-top: 15px; min-height: 40px; }
.mhb-how i { font-size: 13px; transition: transform .15s ease; }
.mhb-how:hover i { transform: translateX(2px); }
.mhb-note { display: flex; gap: 10px; align-items: flex-start; margin-top: 15px; padding: 10px 12px; border-radius: 5px; background: #fffbeb; border: 1px solid #fde68a33; font-size: 12px; line-height: 1.45; color: #78350f; }
.mhb-note i { color: #d97706; font-size: 14px; line-height: 1.25; }
/* Okno „Szczegóły opłaty aukcyjnej” - tabela progów Manheim */
.mh-fee-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.mh-fee-table th { text-align: left; font-weight: 500; color: #64748b; padding: 8px 10px; border-bottom: 1px solid #e2e8f0; }
.mh-fee-table th:last-child, .mh-fee-table td:last-child { text-align: right; }
.mh-fee-table td { padding: 8px 10px; border-bottom: 1px solid #f1f5f9; color: #334155; }
.mh-fee-table tr.mh-fee-current td { background: #f0f8ff; color: #0f172a; font-weight: 600; }
.mh-fee-badge { display: inline-block; margin-left: 6px; font-size: 10.5px; font-weight: 500; color: #1d4ed8; background: #dbeafe; border-radius: 4px; padding: 1px 6px; }
.mh-fee-note { margin: 10px 0 0; font-size: 12px; color: #64748b; }

/* 27.10.2026: na telefonie .bottom-warning ma top:0 i bottom:5px, więc przezroczyste pudełko
   ostrzeżenia rozciąga się na całą galerię i zjada stuknięcia w miniatury. Kliknięcia łapie
   tylko widoczna ramka z tekstem. */
.warning-overlay.active { pointer-events: none; }
.warning-overlay.active .warning-content { pointer-events: auto; }
