/* Every rule here is deliberately scoped under .carbid-app (the wrapper
   theme_wrap.php's carbid_theme_header()/carbid_theme_footer() render
   around all CarBid content) -- this stylesheet now shares a page with
   inexauto.com's real Woodmart/WooCommerce/Elementor theme, and unscoped
   rules like a bare `body`/`a`/`*` would leak into (or fight with) that
   theme's own header, cart, and menu markup. See DECISIONS.md. */

.carbid-app {
    /* Woodmart renders the real page content area as a flex child (.row.
       content-layout-wrapper) with no defined width on its children -- a
       flex item with no width/flex-basis shrink-wraps to its content
       instead of filling the row, confirmed live 2026-08-20 as the actual
       cause of a persistent right-side gap that survived both the is_404
       fix and a page-level sidebar setting change (neither was the real
       cause). width:100% makes this fill whatever space Woodmart's layout
       actually gives it. */
    width: 100%;
    --accent: #16897a;
    --accent-deep: #0f5c52;
    --accent-soft: #e4f3ef;
    --bg: #f4f6f7;
    --surface: #ffffff;
    --text: #1f2a2e;
    --text-muted: #5b6b6e;
    --text-faint: #8b9799;
    --border: #dee4e5;
    --border-soft: #eaeeee;
    --navy: #1a3b8f;
    --iaai-red: #cc1414;
    --seller-blue-bg: #e6eefc;
    --seller-blue-fg: #1254cc;
    --warn-bg: #fef3e6;
    --warn-fg: #a1520a;
    --danger: #b3352a;
    --danger-soft: #fbeae8;
    --ok: #16897a;
    --img-bg: #e9edee;
    --shadow: 0 1px 2px rgba(20,30,32,0.05), 0 1px 8px rgba(20,30,32,0.04);
    background: var(--bg);
    color: var(--text);
    font-family: "Segoe UI", -apple-system, Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.carbid-app * { box-sizing: border-box; }

.carbid-app a { color: inherit; }
.carbid-app .tabular { font-variant-numeric: tabular-nums; }

/* ---------- Header (index / auctions / detail / account) ---------- */

/* top: var(--wd-header-h) rather than a plain 0 -- Woodmart's own real site
   header (.whb-main-header, see header.php's measuring script) becomes
   position:fixed at the top of the viewport once the visitor scrolls far
   enough, at a z-index far above this header's own. Before this fix, both
   headers tried to stick to the very top of the viewport at once: Woodmart's
   (z-index 390) won, silently covering the top ~60px of this one (z-index
   10) -- confirmed live 2026-09-13, screenshot showed this header's search
   bar sliced off/overlapping Woodmart's real menu while scrolling. The
   `--wd-header-h` custom property (set by an inline script in header.php,
   continuously mirroring Woodmart's actual real-time header height -- it
   changes between an in-flow ~90px and a stuck ~60px, and could change again
   if Woodmart's own header settings ever do) means this header always sticks
   directly BELOW Woodmart's real one instead of underneath/behind it. The
   `0px` fallback keeps today's old (if imperfect) behavior if that script
   ever fails to find Woodmart's header element at all. */
.carbid-app header.site { position: sticky; top: var(--wd-header-h, 0px); z-index: 10; background: var(--surface); border-bottom: 1px solid var(--border); }
.carbid-app .nav-row1 { max-width: 1400px; margin: 0 auto; padding: 14px 20px; display: flex; align-items: center; gap: 16px; }
.carbid-app .logo { display: flex; flex-direction: column; line-height: 1; gap: 1px; font-weight: 800; letter-spacing: -0.01em; text-decoration: none; color: var(--text); white-space: nowrap; }
.carbid-app .logo-top { color: var(--accent); font-size: 17px; }
.carbid-app .logo-bottom { font-size: 10.5px; letter-spacing: 0.06em; }

/* One shared pill-button style for every top-nav control (Aukcionai/Pirk
   dabar, Admin/Pirkimai/Statymai/Įsiminti/Prisijungti) -- per Karolis,
   2026-09-04: these three groups used to be three different visual styles
   (borderless soft-tint tabs, a bordered 20px pill, and a mismatched search
   button); now one flat border + square-ish radius + solid-green-when-active
   look, applied identically to both .nav-tabs a and .account-link. */
.carbid-app .nav-tabs { display: flex; gap: 6px; flex: none; }
.carbid-app .nav-tabs a,
.carbid-app .account-link {
  display: flex; align-items: center; gap: 6px;
  padding: 7px 14px;
  border: 1.5px solid var(--border);
  border-radius: 8px;
  font-weight: 700; font-size: 13px;
  text-decoration: none;
  color: var(--text-muted);
  white-space: nowrap;
  transition: border-color 0.15s, color 0.15s, background 0.15s;
}
.carbid-app .nav-tabs a:hover,
.carbid-app .account-link:hover { border-color: var(--accent); color: var(--accent); }
.carbid-app .nav-tabs a.active,
.carbid-app .account-link.active { background: var(--accent); border-color: var(--accent); color: #fff; }
.carbid-app .nav-tabs a.active:hover,
.carbid-app .account-link.active:hover { background: var(--accent-deep); border-color: var(--accent-deep); color: #fff; }
.carbid-app .account-link svg { flex: none; width: 16px; height: 16px; }

/* Search button is fused into the search bar itself (fills its full height,
   flush against the right edge, only the outer corner rounded via the
   bar's own overflow:hidden clip) instead of floating as a separate pill
   with a gap around it. Always solid green regardless of any other state. */
.carbid-app .searchbar { flex: 1; max-width: 620px; display: flex; align-items: center; gap: 8px; background: var(--bg); border: 1px solid var(--border); border-radius: 9px; padding: 0 0 0 12px; height: 42px; overflow: hidden; }
.carbid-app .searchbar svg { flex: none; color: var(--text-faint); }
.carbid-app .searchbar input { flex: 1; min-width: 0; border: none; background: transparent; outline: none; font-size: 13.5px; color: var(--text); height: 100%; font-family: inherit; }
.carbid-app .searchbar input::placeholder { color: var(--text-faint); }
.carbid-app .searchbar button { flex: none; align-self: stretch; background: var(--accent); color: #fff; border: none; border-radius: 0; padding: 0 20px; font-weight: 700; font-size: 12.5px; letter-spacing: 0.02em; cursor: pointer; font-family: inherit; }
.carbid-app .searchbar button:hover { background: var(--accent-deep); }

.carbid-app .account-group { margin-left: auto; display: flex; align-items: center; gap: 10px; }

@media (max-width: 700px) {
    /* Below this width, .searchbar used to just be display:none -- per
       Karolis, 2026-09-07: search (by make/model/VIN/lot number) is the
       site's main feature, so hiding it entirely on mobile instead of
       fitting it in was the wrong tradeoff. It's given its own full-width
       row instead (via `order` + a 100% flex-basis, which forces it onto a
       line by itself since nothing else fits alongside a 100%-wide flex
       item), styled first/most prominent, same as bid.cars puts its own
       search bar right under the header on mobile.
       .nav-tabs (Aukcionai/Pirk dabar) plus every .account-link
       (Admin/Pirkimai/Statymai/Isiminti/Prisijungti) also no longer fit on
       one nowrap row -- confirmed live 2026-09-07 (390px viewport): the
       row's own overflow was `visible` with no wrap, so anything past
       "Pirkimai" rendered off the right edge of the screen with no
       scrollbar, making those links completely unreachable, not just
       visually cut off. Wrapping onto as many lines as needed keeps every
       link visible and tappable instead. */
    .carbid-app .nav-row1 { flex-wrap: wrap; row-gap: 10px; }
    .carbid-app .searchbar { order: 1; flex: 1 1 100%; max-width: none; }
    .carbid-app .nav-tabs { order: 2; }
    .carbid-app .account-group { order: 3; margin-left: 0; width: 100%; flex-wrap: wrap; }
}

/* ---------- Page layout ---------- */

.carbid-app .page {
    max-width: 1400px;
    margin: 0 auto;
    padding: 20px 20px 60px;
    display: grid;
    grid-template-columns: 250px 1fr;
    gap: 20px;
    align-items: start;
}

/* ---------- Filters sidebar ---------- */

/* Wraps the whole <aside class="filters"> in a native <details> (buy-now.php
   / index.php) so it becomes a collapsed-by-default drawer on any width
   where .page has already stacked to one column (see the max-width: 1100px
   rule below) -- below that width the full filter form used to render
   inline, in full, ABOVE every listing, so a mobile visitor had to scroll
   past the entire form just to see a single car (confirmed live
   2026-09-07). Matches bid.cars' own mobile pattern: a "Filters" pill that
   opens the panel on demand instead of it always occupying the top of the
   page.

   The <details> ships with the `open` attribute by default (so with no JS
   at all it's simply always-expanded, i.e. today's desktop behavior) and a
   tiny inline script right after it (see buy-now.php/index.php) strips that
   attribute on load if the viewport is already narrow. Tried forcing it
   open on desktop purely in CSS first (`details:not([open]) .filters {
   display: block !important }`) -- confirmed live 2026-09-08 that this
   does NOT work: current Chrome doesn't just `display: none` a closed
   <details>'s content, it also collapses the <details> element's OWN box
   to zero height and stops painting its children outright, in a way no
   child-side `display` override can undo (this reads as the same
   content-visibility-style skip browsers use for `hidden=until-found`).
   Only the real `open` attribute makes Chrome lay out and paint the
   content at all, hence the JS. */
.carbid-app .filters-toggle-summary {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    cursor: pointer; list-style: none;
    padding: 12px 14px; margin-bottom: 14px;
    background: var(--surface); border: 1px solid var(--border); border-radius: 8px;
    font-weight: 800; font-size: 13px; letter-spacing: 0.03em; color: var(--text);
    box-shadow: var(--shadow);
}
.carbid-app .filters-toggle-summary::-webkit-details-marker { display: none; }
.carbid-app .filters-toggle-count { color: var(--text-faint); font-weight: 700; }
.carbid-app .filters-toggle-summary svg { flex: none; transition: transform 0.15s; }
.carbid-app .filters-toggle[open] > .filters-toggle-summary svg { transform: rotate(180deg); }

@media (min-width: 1101px) {
    .carbid-app .filters-toggle-summary { display: none; }
}

.carbid-app .filters { background: var(--surface); border: 1px solid var(--border-soft); border-radius: 10px; padding: 6px 16px 16px; box-shadow: var(--shadow); }
.carbid-app .filters-head { display: flex; justify-content: space-between; align-items: baseline; font-weight: 800; font-size: 12.5px; letter-spacing: 0.05em; color: var(--text-faint); padding: 14px 2px 12px; }
.carbid-app .clear-link { color: var(--accent); text-decoration: none; font-weight: 700; font-size: 11.5px; }

/* "Mano filtrai" -- up to 2 saved presets, shown above the filter form
   itself (includes/saved_filters.php) so a returning customer can
   quick-apply a preset before touching any individual field. Sits inside
   the same .filters card, so it borrows that card's own padding rather
   than adding its own box. */
.carbid-app .saved-filters { padding: 12px 2px 10px; border-bottom: 1px solid var(--border-soft); margin-bottom: 4px; }
.carbid-app .saved-filters-label { display: block; font-weight: 800; font-size: 11px; letter-spacing: 0.05em; color: var(--text-faint); margin-bottom: 8px; }
.carbid-app .saved-filters-slots { display: flex; flex-direction: column; gap: 6px; }
.carbid-app .saved-filters-slot { display: flex; align-items: center; gap: 6px; }
.carbid-app .saved-filters-chip {
    flex: 1; min-width: 0; padding: 7px 10px; border-radius: 6px; border: 1px solid var(--border);
    background: var(--bg); color: var(--text); font-size: 12px; font-weight: 700; text-decoration: none;
    overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.carbid-app .saved-filters-chip:hover { border-color: var(--accent); color: var(--accent-deep); }
.carbid-app .saved-filters-chip-empty { color: var(--text-faint); font-weight: 500; font-style: italic; cursor: default; }
.carbid-app .saved-filters-chip-empty:hover { border-color: var(--border); color: var(--text-faint); }
.carbid-app .saved-filters-save-form { flex: none; margin: 0; }
.carbid-app .saved-filters-save-btn {
    flex: none; width: 30px; height: 30px; padding: 0; border: 1px solid var(--border); border-radius: 6px;
    background: var(--surface); font-size: 14px; line-height: 1; cursor: pointer;
}
.carbid-app .saved-filters-save-btn:hover { border-color: var(--accent); background: var(--accent-soft); }

.carbid-app .field { margin-bottom: 14px; }
.carbid-app .field label { display: block; font-size: 11.5px; font-weight: 700; color: var(--text-muted); margin-bottom: 5px; }
.carbid-app .field select, .carbid-app .field input { width: 100%; padding: 8px 9px; border: 1px solid var(--border); border-radius: 6px; font-size: 12.5px; background: var(--surface); color: var(--text); font-family: inherit; }
.carbid-app .field select:disabled { background: var(--bg); color: var(--text-faint); }
.carbid-app .range-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.carbid-app .range-pair input, .carbid-app .range-pair select { width: 100%; min-width: 0; box-sizing: border-box; padding: 8px 9px; border: 1px solid var(--border); border-radius: 6px; font-size: 12.5px; background: var(--surface); color: var(--text); font-family: inherit; }

.carbid-app .apply-btn { width: 100%; background: var(--accent); color: #fff; border: none; border-radius: 6px; padding: 11px; font-weight: 700; font-size: 12.5px; letter-spacing: 0.03em; cursor: pointer; margin-top: 10px; font-family: inherit; }
.carbid-app .apply-btn:hover { background: var(--accent-deep); }

.carbid-app .fsec { border-top: 1px solid var(--border-soft); }
.carbid-app .fsec:first-child { border-top: none; }
.carbid-app .fsec > summary { list-style: none; cursor: pointer; user-select: none; display: flex; align-items: center; justify-content: space-between; padding: 11px 2px; font-size: 12px; font-weight: 700; color: var(--text); }
.carbid-app .fsec > summary::-webkit-details-marker { display: none; }
.carbid-app .fsec > summary .chev { color: var(--text-faint); transition: transform 0.15s; flex: none; }
.carbid-app .fsec[open] > summary .chev { transform: rotate(180deg); }
.carbid-app .fsec-body { padding: 0 2px 14px; }

.carbid-app .chip-grid { display: grid; gap: 6px; margin-bottom: 12px; }
.carbid-app .chip-grid:last-child { margin-bottom: 0; }
.carbid-app .chip-grid.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.carbid-app .chip-grid.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.carbid-app .chip-grid.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.carbid-app .chip-toggle { position: absolute; opacity: 0; pointer-events: none; }
.carbid-app .chip-toggle + label {
    display: flex; align-items: center; justify-content: center; text-align: center;
    min-height: 32px; padding: 6px 6px; border-radius: 6px; border: 1px solid var(--border);
    font-size: 11.5px; font-weight: 700; color: var(--text-muted); background: var(--surface);
    cursor: pointer; line-height: 1.15; transition: background 0.12s, color 0.12s, border-color 0.12s;
}
.carbid-app .chip-toggle + label:hover { border-color: var(--accent); color: var(--accent-deep); }
.carbid-app .chip-toggle:checked + label { background: var(--accent); border-color: var(--accent); color: #fff; }
.carbid-app .chip-toggle.src-toggle:checked + label { background: var(--navy); border-color: var(--navy); }
.carbid-app .chip-toggle:focus-visible + label { outline: 2px solid var(--accent); outline-offset: 1px; }
.carbid-app .chip-toggle:disabled + label { cursor: not-allowed; opacity: 0.45; }
.carbid-app .chip-toggle:disabled + label:hover { border-color: var(--border); color: var(--text-muted); }

/* Markė/Modelis facet checklists (includes/facet_checklist.php) -- Copart-
   style checkbox list with per-option counts, scrolling past a fixed
   height rather than a search box (dropped per Karolis, 2026-09-09:
   "scrolling is enough"). Uses real <input type=checkbox>+<label> rows (not
   the hidden-
   checkbox .chip-toggle pattern above), so every property that broke last
   time this page tried raw checkboxes (2026-09-08: a batched dropdown
   version got its row layout and checkbox size clobbered by Woodmart/
   WooCommerce's own global form CSS at the same .carbid-app X specificity)
   is pinned with !important here on purpose -- not defensive-by-habit, a
   deliberate repeat of the fix already proven in account.css's
   .bid-row-raise-btn for the identical kind of collision. */
.carbid-app .facet-options { max-height: 220px; overflow-y: auto; padding-right: 2px; }
.carbid-app .facet-option {
    display: flex !important; align-items: center !important; gap: 7px !important;
    padding: 5px 4px !important; margin: 0 !important; border-radius: 5px; cursor: pointer; font-size: 12.5px;
}
.carbid-app .facet-option:hover { background: var(--bg); }
.carbid-app .facet-option input[type="checkbox"] {
    appearance: checkbox !important; -webkit-appearance: checkbox !important;
    width: 14px !important; height: 14px !important; min-width: 14px !important;
    margin: 0 !important; padding: 0 !important; float: none !important; position: static !important;
    flex: none !important; accent-color: var(--accent);
}
.carbid-app .facet-option-label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); }
.carbid-app .facet-option-count { flex: none; color: var(--text-faint); font-size: 11px; }

/* ---------- Listing head ---------- */

/* min-width: 0 overrides a CSS grid item's default `min-width: auto`, which
   otherwise refuses to shrink below its content's intrinsic width -- with
   the homepage shelves' unshrinkable flex row of fixed-width tiles inside
   it (.lot-shelf-track below), that let the whole `.listing` column (and
   the shelves inside it) balloon past `.page`'s own 1fr track and spill off
   the right edge of the page instead of scrolling within it. Confirmed
   live, 2026-08-31. */
.carbid-app .listing { min-width: 0; }

.carbid-app .listing-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; gap: 12px; flex-wrap: wrap; }
.carbid-app .results-count { font-size: 15px; color: var(--text-muted); }
.carbid-app .results-count strong { color: var(--accent); font-variant-numeric: tabular-nums; }
.carbid-app .sort-control { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-muted); }
.carbid-app .sort-control select { padding: 8px 10px; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: var(--text); font-family: inherit; }

/* ---------- Row card ---------- */

.carbid-app .lot-list { display: flex; flex-direction: column; gap: 14px; }

.carbid-app .lot-row {
    background: var(--surface);
    border: 1px solid var(--border-soft);
    border-radius: 12px;
    box-shadow: var(--shadow);
    display: grid;
    grid-template-columns: 240px 1fr 200px;
    overflow: hidden;
}
@media (max-width: 1100px) {
    .carbid-app .page { grid-template-columns: 1fr; }
    .carbid-app .lot-row { grid-template-columns: 220px 1fr; }
    .carbid-app .lot-rail { grid-column: 1 / -1; flex-direction: row; justify-content: space-between; align-items: center; border-left: none; border-top: 1px solid var(--border-soft); }
}
@media (max-width: 640px) {
    .carbid-app .lot-row { grid-template-columns: 1fr; }
    .carbid-app .lot-gallery { aspect-ratio: 16/9; }
}

.carbid-app .lot-gallery { position: relative; display: block; background: var(--img-bg); min-height: 100%; }
.carbid-app .lot-gallery img { width: 100%; height: 100%; object-fit: cover; display: block; }
.carbid-app .badge-row { position: absolute; top: 8px; left: 8px; right: 8px; display: flex; justify-content: space-between; gap: 6px; }
.carbid-app .src-badge { display: inline-block; font-size: 10.5px; font-weight: 700; letter-spacing: 0.02em; padding: 1.5px 5px; border-radius: 6px; border: 1.5px solid transparent; line-height: 1.3; }
.carbid-app .src-badge.src-copart { background: var(--navy); border-color: #fff; color: #fff; }
.carbid-app .src-badge.src-iaai { background: #fff; border-color: var(--iaai-red); color: var(--iaai-red); }
.carbid-app .buynow-badge { background: var(--accent); color: #fff; font-size: 10.5px; font-weight: 800; letter-spacing: 0.03em; padding: 3px 7px; border-radius: 4px; }

/* Homepage category shelves (index.php, unfiltered visit only -- see
   $showHomepage there) -- a horizontally-scrolling row of compact tile
   cards (card_auction_tile.php) per category, auto-rotating via that
   page's own inline script. */
.carbid-app .lot-shelf { margin-bottom: 26px; }
.carbid-app .lot-shelf-head { margin-bottom: 12px; }
.carbid-app .lot-shelf-title { font-size: 17px; font-weight: 800; color: var(--text); margin: 0; }
.carbid-app .lot-shelf-viewport { position: relative; }
.carbid-app .lot-shelf-track {
    display: flex; gap: 14px; overflow-x: auto; scroll-behavior: smooth; scroll-snap-type: x proximity;
    padding: 2px 2px 6px; -ms-overflow-style: none; scrollbar-width: none;
}
.carbid-app .lot-shelf-track::-webkit-scrollbar { display: none; }
.carbid-app .lot-shelf-card { flex: 0 0 240px; scroll-snap-align: start; }

.carbid-app .lot-tile {
    display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--border-soft);
    border-radius: 10px; box-shadow: var(--shadow); overflow: hidden; text-decoration: none; color: inherit; height: 100%;
}
.carbid-app .lot-tile-img { position: relative; background: var(--img-bg); }
.carbid-app .lot-tile-img img { display: block; width: 100%; height: 140px; object-fit: cover; }
.carbid-app .lot-tile-body { padding: 12px 13px 14px; display: flex; flex-direction: column; gap: 5px; flex: 1; }
.carbid-app .lot-tile-title { font-size: 13.5px; font-weight: 800; color: var(--text); line-height: 1.25; }
.carbid-app .lot-tile-sub { font-size: 11.5px; color: var(--text-faint); }
.carbid-app .lot-tile-countdown { font-size: 12px; }
.carbid-app .lot-tile-price { margin-top: auto; padding-top: 6px; display: flex; flex-direction: column; gap: 1px; }
/* Esamas statymas + Lietuvoje (landed EUR, Buy-Now lots only) side by side
   in one row instead of two stacked blocks -- per Karolis, 2026-08-31.
   justify-content: flex-start (not space-between) -- space-between was
   stretching the two columns out to the card's full width, which read as a
   much bigger gap than the `gap` value itself; packing them together with
   one explicit gap looks tighter. */
.carbid-app .lot-tile-price-row { flex-direction: row; justify-content: flex-start; align-items: flex-end; gap: 14px; }
.carbid-app .lot-tile-price-col { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
/* Same font as "Esamas statymas" (.meta-label) -- size/weight/color all
   match, just without .meta-label's own uppercase transform: "Lietuvoje"
   reads better sentence-case than shouted, per Karolis. */
.carbid-app .lot-tile-price-label-sentence { text-transform: none; }
.carbid-app .lot-tile-price-col-final .price { color: var(--ok); }
.carbid-app .lot-tile-price .price { font-size: 15px; font-weight: 800; }
/* After the general rule above so it wins the tie on equal specificity --
   both classes are on the same element when this row layout is showing. */
.carbid-app .lot-tile-price-row .price { font-size: 13px; }

@media (max-width: 640px) {
    .carbid-app .lot-shelf-card { flex-basis: 200px; }
}

.carbid-app .lot-content { padding: 15px 18px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.carbid-app .lot-title { margin: 0; font-size: 16px; font-weight: 800; color: var(--text); line-height: 1.25; }
.carbid-app .lot-title a { text-decoration: none; }
.carbid-app .lot-title a:hover { color: var(--accent); }

.carbid-app .lot-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.carbid-app .lot-subtitle { font-size: 12px; color: var(--text-faint); font-weight: 600; }

.carbid-app .lot-specs { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 12.5px; color: var(--text-muted); padding: 7px 0; border-top: 1px solid var(--border-soft); border-bottom: 1px solid var(--border-soft); }
.carbid-app .lot-specs span { display: inline-flex; align-items: center; gap: 5px; }
.carbid-app .lot-specs svg { width: 13px; height: 13px; flex: none; color: var(--text-faint); }

.carbid-app .lot-meta-grid { display: grid; grid-template-columns: repeat(3, auto); gap: 8px 22px; }
@media (max-width: 900px) { .carbid-app .lot-meta-grid { grid-template-columns: repeat(2, auto); } }
.carbid-app .meta-cell { display: flex; flex-direction: column; gap: 2px; }
.carbid-app .meta-label { font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-faint); }
.carbid-app .meta-value { font-size: 13px; font-weight: 700; color: var(--text); }
.carbid-app .meta-value.odometer-stack { line-height: 1.4; white-space: nowrap; }
.carbid-app .meta-value.danger { color: var(--danger); }
.carbid-app .meta-value.ok { color: var(--ok); }
.carbid-app .meta-value.warn { color: var(--warn-fg); }

.carbid-app .lot-rail { padding: 15px 18px; display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; gap: 10px; border-left: 1px solid var(--border-soft); background: var(--bg); }
.carbid-app .countdown { display: flex; align-items: center; gap: 5px; font-size: 15px; font-weight: 800; color: var(--accent-deep); }
.carbid-app .countdown.live { color: var(--danger); }
.carbid-app .countdown-icon { flex: 0 0 auto; }
.carbid-app .countdown-ended { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.02em; color: var(--text-muted); background: var(--border-soft); padding: 4px 8px; border-radius: 4px; }
.carbid-app .price-wrap { text-align: right; }
.carbid-app .price-label { display: block; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.03em; color: var(--text-faint); }
.carbid-app .price-label-final { color: var(--danger); }
.carbid-app .price-label-final .pl-line1 { display: block; font-weight: 800; }
.carbid-app .price-label-final .pl-line2 { display: block; font-weight: 500; }
.carbid-app .price { font-size: 21px; font-weight: 800; color: var(--text); }
.carbid-app .bid-btn, .carbid-app .details-btn { display: block; text-align: center; width: 100%; background: var(--accent); color: #fff; border: none; border-radius: 7px; padding: 10px 14px; font-weight: 800; font-size: 12.5px; text-decoration: none; letter-spacing: 0.02em; box-sizing: border-box; font-family: inherit; cursor: pointer; }
.carbid-app .bid-btn:hover, .carbid-app .details-btn:hover { background: var(--accent-deep); }

/* Per-card "Įsiminti" watchlist toggle (includes/card_auction.php) -- same
   component/behavior as detail.php's hero watch-toggle-btn (detail.css),
   sat in its own row next to the title, same spot detail.php uses for it.
   Defined here (not detail.css) since index.php doesn't load detail.css. */
.carbid-app .lot-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.carbid-app .lot-title-row .lot-title { min-width: 0; }
.carbid-app .watch-toggle-form { flex: none; margin: 0; }
.carbid-app .watch-toggle-btn { display: flex; align-items: center; justify-content: center; gap: 4px; box-sizing: border-box; background: var(--surface); color: var(--text-muted); border: 1px solid var(--border); border-radius: 5px; padding: 2px 8px; font-weight: 700; font-size: 10.5px; line-height: 1.6; font-family: inherit; cursor: pointer; white-space: nowrap; }
.carbid-app .watch-toggle-btn:hover { border-color: var(--accent); color: var(--accent-deep); }
.carbid-app .watch-toggle-btn.is-watched { background: var(--accent-soft); border-color: var(--accent); color: var(--accent-deep); }

/* ---------- Status / seller tags (used as chips) ---------- */

.carbid-app .tag { display: inline-block; font-size: 10.5px; font-weight: 800; letter-spacing: 0.02em; padding: 3px 8px; border-radius: 4px; }
.carbid-app .tag-green { background: var(--accent-soft); color: var(--accent-deep); }
.carbid-app .tag-yellow { background: var(--warn-bg); color: var(--warn-fg); }
.carbid-app .tag-grey { background: var(--border-soft); color: var(--text-muted); }
.carbid-app .tag-blue { background: var(--seller-blue-bg); color: var(--seller-blue-fg); }
.carbid-app .tag-red { background: var(--danger-soft); color: var(--danger); }
.carbid-app .usa-stamp { display: inline-block; background: var(--navy); color: #fff; border-radius: 4px; padding: 2px 7px; font-size: 9.5px; font-weight: 800; letter-spacing: 0.03em; white-space: nowrap; vertical-align: middle; outline: 2px dashed #b31942; outline-offset: 0; margin: 3px; }
/* Windows doesn't render country-flag emoji as actual flags (font limitation, not a rendering bug) -- drawn in CSS instead so it's visible everywhere. */
.carbid-app .lt-flag { display: inline-block; width: 18px; height: 12px; border-radius: 2px; vertical-align: middle; margin-right: 4px; box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12); background-image: linear-gradient(to bottom, #fdb913 0%, #fdb913 33.33%, #006a44 33.33%, #006a44 66.66%, #c1272d 66.66%, #c1272d 100%); }
.carbid-app .sale-datetime { font-size: 11px; color: var(--text-muted); text-align: right; line-height: 1.5; }

.carbid-app .empty-state { background: var(--surface); border: 1px solid var(--border-soft); border-radius: 10px; padding: 60px 20px; text-align: center; color: var(--text-muted); }

/* ---------- Pagination ---------- */

.carbid-app .pagination { display: flex; justify-content: center; gap: 6px; margin-top: 30px; flex-wrap: wrap; }
.carbid-app .pagination a { padding: 8px 13px; border-radius: 6px; background: var(--surface); color: var(--text); text-decoration: none; font-size: 13px; box-shadow: var(--shadow); }
.carbid-app .pagination a.active { background: var(--accent); color: #fff; font-weight: 700; }
