/* ==========================================================================
   listing.css — device-listing page chrome (.lst-*), WS2/WS5 pass 2026-07-22
   Companion to product_card.css: the cards are the page — everything here
   recedes. White surfaces on the soft-grey page (body.pc-soft), hairline
   borders, one radius language (--sw-r-card / --sw-r-pill).
   Color duty: teal = interactive state (checked, focus, active link) ·
   purple = THE primary action (apply, active page) · orange = never chrome.
   Used by templates/phones/phones_new.php + gaming_new.php. No rules here
   depend on black.css/mobile.css — the .lst-* namespace is self-contained.
   ========================================================================== */


/* ---- shell: sidebar + main */
.lst-shop {
     display: flex;
     flex-direction: row;
     width: 100%;
     align-items: flex-start;
}
.lst-side {
     flex: 0 0 264px;
     min-width: 0;
}
.lst-main {
     flex: 1;
     min-width: 0;
     margin-left: 24px;
     padding-bottom: 20px;
}

/* ---- title row */
/* title row: the text group (h1+count, baseline-locked to each other) centers
   vertically against the taller sort/show pills */
.lst-titlebar { display: flex; align-items: center; }
/* tgrp is a plain block so the title + count flow as ONE inline phrase.
   (Was flex — that let a wrapped h1 fill the width and shove the count out
   to the right edge next to the toolbar.) */
.lst-tgrp { min-width: 0; align-self: center; }
.lst-h1 {
     display: inline;
     font-size: 26px;
     font-weight: 700;
     color: var(--sw-ink, #1a1a1a);
     letter-spacing: -.01em;
     line-height: 1.25;
}
.lst-count {
     display: inline-block;
     white-space: nowrap;
     /* optically centered on the title (vertical-align:middle reads ~2px low
        next to caps, so a -2px nudge lands it dead-center). Final. */
     vertical-align: middle;
     position: relative;
     top: -2px;
     font-size: 15px;
     font-weight: 500;
     color: var(--sw-muted, #9ca3af);
}

/* ---- brand quick links: white tiles, same card language as the grid */
.lst-brands { display: flex; gap: 10px; }
.lst-brand {
     flex: 1;
     display: block;
     background: #fff;
     border: 1px solid var(--sw-line, #eaeaea);
     border-radius: 12px;
     height: 76px;
     padding: 10px;
     transition: transform .25s cubic-bezier(.4,0,.2,1), box-shadow .25s cubic-bezier(.4,0,.2,1);
}
.lst-brand-in {
     display: block;
     height: 100%;
     background-position: center;
     background-repeat: no-repeat;
     background-size: contain;
}
@media (hover: hover) {
     .lst-brand:hover {
          transform: translateY(-2px);
          box-shadow: var(--sw-sh, 0 8px 24px rgba(0,0,0,.07));
     }
}
/* Samsung's file is a wordmark lost in a square canvas — contain renders it
   tiny in the wide desktop tile. Zoom past the empty canvas (center-crop);
   mobile tiles are square, where contain is fine. */
@media only screen and (min-width: 768px) {
     .lst-brand-in--samsung { background-size: auto 240%; }
}

/* ==========================================================================
   Sidebar — ONE white card, groups separated by hairlines
   ========================================================================== */
/* boxed white sidebar — the site's own card language (magazini/prodai/kontakti
   are all white-on-soft). Tried the naked Backmarket pattern 07-22: floats on
   our grey page (their base is white) — owner + review both rejected it. */
.lst-side-in {
     background: #fff;
     border: 1px solid var(--sw-line, #eaeaea);
     border-radius: var(--sw-r-card, 16px);
     overflow: hidden;
}
.lst-drawerhead { display: none; }

.lst-group { padding: 14px 16px; }
.lst-group + .lst-group,
.lst-group + form .lst-group:first-child { border-top: 1px solid var(--sw-line, #eaeaea); }

.lst-group-title {
     display: flex;
     align-items: center;
     font-size: 13px;
     font-weight: 700;
     color: var(--sw-ink, #1a1a1a);
     cursor: pointer;
     user-select: none;
}
.lst-group-title:hover { color: var(--sw-ink, #1a1a1a); }
.lst-carr {
     margin-left: auto;
     color: var(--sw-muted, #9ca3af);
     font-size: 10px;
     transition: transform .25s ease;
}
.lst-group-title.collapsed .lst-carr { transform: rotate(-90deg); }

.lst-list {
     list-style: none;
     margin: 0;
     padding: 10px 0 2px;
}
.lst-list li { padding: 0; margin: 0 0 2px; }

/* category links (plain <a> list) */
.lst-list li > a {
     display: flex;
     align-items: center;
     padding: 5px 0;
     font-size: 13.5px;
     color: var(--sw-grey, #6b7280);
     text-decoration: none;
}
.lst-list li > a:hover { color: var(--sw-ink, #1a1a1a); }
.lst-list li > a i { font-size: 10px; color: var(--sw-line-2, #d4d4d8); }
.lst-list li > a.active_filter_url {
     color: var(--sw-teal-ink, #2bbbbc);
     font-weight: 700;
}
.lst-list li > a.active_filter_url i { color: var(--sw-teal-ink, #2bbbbc); }

/* ---- check / radio rows */
.lst-fin {
     position: absolute;
     opacity: 0;
     width: 0;
     height: 0;
     pointer-events: none;
}
.lst-check {
     display: flex;
     align-items: center;
     gap: 9px;
     padding: 5px 0;
     margin: 0;
     font-size: 13.5px;
     color: var(--sw-ink, #1a1a1a);
     font-weight: 500;
     color: var(--sw-grey, #6b7280);
     cursor: pointer;
     transition: color .15s ease;
}
.lst-check:hover { color: var(--sw-ink, #1a1a1a); }
.lst-box {
     flex: 0 0 18px;
     width: 18px;
     height: 18px;
     border: 1.5px solid var(--sw-line-2, #d4d4d8);
     border-radius: 6px;
     background: #fff;
     position: relative;
     transition: background .15s ease, border-color .15s ease;
}
.lst-fin:checked + .lst-check .lst-box {
     background: var(--sw-teal-ink, #2bbbbc);
     border-color: var(--sw-teal-ink, #2bbbbc);
}
.lst-fin:checked + .lst-check .lst-box::after {
     content: "";
     position: absolute;
     left: 5.5px;
     top: 2px;
     width: 5px;
     height: 9px;
     border: solid #fff;
     border-width: 0 2px 2px 0;
     transform: rotate(45deg);
}
.lst-fin:checked + .lst-check {
     color: var(--sw-ink, #1a1a1a);
     font-weight: 600;
}
.lst-fin:focus-visible + .lst-check .lst-box {
     outline: 2px solid var(--sw-teal-ink, #2bbbbc);
     outline-offset: 2px;
}
/* radio variant */
.lst-box--round { border-radius: 50%; }
.lst-fin:checked + .lst-check .lst-box--round {
     background: #fff;
     border-color: var(--sw-teal-ink, #2bbbbc);
}
.lst-fin:checked + .lst-check .lst-box--round::after {
     left: 3.5px;
     top: 3.5px;
     width: 8px;
     height: 8px;
     border: none;
     border-radius: 50%;
     background: var(--sw-teal-ink, #2bbbbc);
     transform: none;
}
.lst-txt { min-width: 0; }
.lst-txt .fa-battery-full { color: var(--sw-teal-ink, #2bbbbc); }

/* scrollable long lists */
.lst-scroll {
     max-height: 270px;
     overflow-y: auto;
}
.lst-scroll::-webkit-scrollbar { width: 6px; }
.lst-scroll::-webkit-scrollbar-thumb {
     background: var(--sw-line-2, #d4d4d8);
     border-radius: 100px;
}
.lst-scroll::-webkit-scrollbar-track { background: transparent; }

/* search inside a group */
.lst-search {
     position: relative;
     padding: 8px 0 4px;
}
.lst-search-in {
     width: 100%;
     box-sizing: border-box;
     height: 36px;
     border: 1px solid var(--sw-line-2, #d4d4d8);
     border-radius: 10px;
     outline: none;
     padding: 0 30px 0 10px;
     font-size: 13px;
     color: var(--sw-ink, #1a1a1a);
     background: #fff;
     transition: border-color .15s ease, box-shadow .15s ease;
}
.lst-search-in:focus {
     border-color: var(--sw-teal-ink, #2bbbbc);
     box-shadow: 0 0 0 3px rgba(43,187,188,.12);
}
.lst-search-ic {
     position: absolute;
     right: 10px;
     top: 19px;
     font-size: 12px;
     color: var(--sw-muted, #9ca3af);
     pointer-events: none;
}

/* price slider (ion-rangeslider "round" skin) → system teal.
   black.css recolors the bar #000 with !important site-wide, so the
   scoped overrides here need !important too. */
.lst-group .irs--round .irs-bar { background: var(--sw-teal-ink, #2bbbbc) !important; }
.lst-group .irs--round .irs-handle {
     background: #fff !important;
     border: 3px solid var(--sw-teal-ink, #2bbbbc) !important;
     box-shadow: 0 1px 4px rgba(43,187,188,.35) !important;
}
.lst-group .irs--round .irs-handle:hover { background: #fff !important; }
.lst-group .irs--round .irs-line { background: var(--sw-line, #eaeaea) !important; }

/* the "61 € - 1500 €" readout above the slider */
.lst-group .pb-1 {
     font-size: 13px;
     color: var(--sw-grey, #6b7280);
}
.lst-group .pb-1 .font-weight-bold { color: var(--sw-ink, #1a1a1a); }

/* the mobile apply bar (hidden on desktop) */
.lst-apply { display: none; }

/* ==========================================================================
   Toolbar (sort / per-page / pagination) — quiet pills, no band
   ========================================================================== */
.lst-toolbar {
     display: flex;
     align-items: center;
     gap: 22px;
}
/* top toolbar lost its pagination (redundant before the products; bottom
   one navigates) — the two self-labeled pills anchor right instead */
.lst-toolbar--top { justify-content: flex-end; margin-left: auto; }

/* the shelf: brand tiles left + sort/show pills right on ONE row (each alone
   half-filled its row and left a diagonal void). Wraps on mobile, where the
   toolbar hides and the Филтри/Сортирай pair takes over. */
/* shelf now holds only the brand tiles (desktop) / tiles + Филтри row (mobile) */
.lst-shelf .lst-brands { width: 100%; }
.lst-shelf {
     display: flex;
     align-items: center;
     justify-content: space-between;
     flex-wrap: wrap;
     gap: 14px 16px;
     margin-bottom: 15px;
}
.lst-tool { display: flex; align-items: center; gap: 8px; }
.lst-dd-link {
     display: inline-flex;
     align-items: center;
     background: #fff;
     border: 1px solid var(--sw-line-2, #d4d4d8);
     border-radius: var(--sw-r-pill, 100px);
     padding: 7px 14px;
     font-size: 13px;
     font-weight: 600;
     color: var(--sw-ink, #1a1a1a);
     text-decoration: none;
     transition: border-color .15s ease, box-shadow .15s ease;
}
.lst-dd-link:hover, .lst-dd-link:focus {
     color: var(--sw-ink, #1a1a1a);
     text-decoration: none;
     border-color: var(--sw-ink, #1a1a1a);
}
.lst-dd-link.dropdown-toggle::after {
     margin-left: 8px;
     color: var(--sw-muted, #9ca3af);
}
.lst-dd .dropdown-menu {
     border: 1px solid var(--sw-line, #eaeaea);
     border-radius: 12px;
     box-shadow: var(--sw-sh-lg, 0 16px 48px rgba(0,0,0,.10));
     padding: 6px;
     font-size: 13px;
}
.lst-dd .dropdown-item {
     border-radius: 8px;
     padding: 7px 10px;
     color: var(--sw-grey, #6b7280);
     font-weight: 500;
}
.lst-dd .dropdown-item:hover {
     background: var(--sw-bg-soft, #f5f5f7);
     color: var(--sw-ink, #1a1a1a);
}
/* the option you're on — same purple-tint state language as the chips */
.lst-dd .dropdown-item.active,
.lst-msort .dropdown-item.active {
     background: #f1ecfb;
     color: #5b3da8;
     font-weight: 600;
}

/* pagination (markup from base/Controller.php — bootstrap classes).
   Borderless: plain numbers, the active page is the only filled circle —
   it's a minor control and shouldn't dress like a major one. */
.pc-soft .pagination { gap: 2px; }
.pc-soft .page-link {
     min-width: 32px;
     height: 32px;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     padding: 0 8px;
     border: none;
     border-radius: var(--sw-r-pill, 100px) !important;
     background: transparent;
     color: var(--sw-grey, #6b7280);
     font-size: 13px;
     font-weight: 600;
     line-height: 1;
     box-shadow: none;
}
.pc-soft .page-link:hover {
     background: #eaeaea;
     color: var(--sw-ink, #1a1a1a);
}
.pc-soft .page-item.active .page-link {
     background: var(--sw-purple, #7735d5);
     color: #fff;
}
.pc-soft .page-link:focus { box-shadow: 0 0 0 3px rgba(119,53,213,.18); }

/* bottom toolbar = centered pagination ONLY (sort/show are pre-browse
   decisions and live in the title row; duplicating them below the grid was
   noise). Bigger circles — it's the sole control down there and the main
   touch target after scrolling. */
.lst-toolbar--bottom { justify-content: center; }
.lst-toolbar--bottom .pagination { gap: 6px; }
.lst-toolbar--bottom .page-link {
     min-width: 44px;
     height: 44px;
     padding: 0 12px;
     font-size: 14.5px;
     background: #fff;
     border: 1px solid var(--sw-line, #eaeaea);
     color: var(--sw-ink, #1a1a1a);
}
.lst-toolbar--bottom .page-link:hover {
     background: #fff;
     border-color: var(--sw-ink, #1a1a1a);
}
.lst-toolbar--bottom .page-item.active .page-link {
     border-color: var(--sw-purple, #7735d5);
}

/* ---- mobile tools row (Филтри + sort) */
.lst-mtools { display: none; }
.lst-mtools-in { display: flex; gap: 10px; }
.lst-fbtn {
     flex: 1;
     display: inline-flex;
     align-items: center;
     justify-content: center;
     background: #fff;
     border: 1px solid var(--sw-line-2, #d4d4d8);
     border-radius: var(--sw-r-pill, 100px);
     padding: 10px 16px;
     font-size: 13.5px;
     font-weight: 700;
     color: var(--sw-ink, #1a1a1a);
     cursor: pointer;
     user-select: none;
}
.lst-msort { flex: 1; display: flex; }
.lst-msort > a {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 100%;
     height: 42px;
     background: #fff;
     border: 1px solid var(--sw-line-2, #d4d4d8);
     border-radius: var(--sw-r-pill, 100px);
     color: var(--sw-ink, #1a1a1a);
     font-size: 13.5px;
     font-weight: 700;
}
.lst-msort > a:hover { color: var(--sw-ink, #1a1a1a); }
.lst-msort .dropdown-menu {
     border: 1px solid var(--sw-line, #eaeaea);
     border-radius: 12px;
     box-shadow: var(--sw-sh-lg, 0 16px 48px rgba(0,0,0,.10));
     padding: 6px;
     font-size: 13px;
}
.lst-msort .dropdown-item { border-radius: 8px; padding: 8px 10px; }

/* active-filter count on the mobile Филтри button — purple = state */
.lst-fbtn-n {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     min-width: 19px;
     height: 19px;
     margin-left: 7px;
     padding: 0 5px;
     border-radius: var(--sw-r-pill, 100px);
     background: var(--sw-purple, #7735d5);
     color: #fff;
     font-size: 11px;
     font-weight: 700;
     line-height: 1;
}

/* ---- empty state: the dead-end moment gets a way out */
.lst-empty {
     background: #fff;
     border: 1px solid var(--sw-line, #eaeaea);
     border-radius: var(--sw-r-card, 16px);
     padding: 48px 24px;
     margin-top: 8px;
     text-align: center;
}
.lst-empty-ic {
     display: inline-flex;
     align-items: center;
     justify-content: center;
     width: 46px;
     height: 46px;
     border-radius: 50%;
     background: var(--sw-bg-soft, #f5f5f7);
     color: var(--sw-muted, #9ca3af);
     font-size: 17px;
     margin-bottom: 12px;
}
.lst-empty-title {
     font-size: 16px;
     font-weight: 700;
     color: var(--sw-ink, #1a1a1a);
     margin-bottom: 4px;
}
.lst-empty-sub {
     font-size: 13.5px;
     color: var(--sw-grey, #6b7280);
     margin: 0 0 16px;
}

/* ==========================================================================
   Active filters
   ========================================================================== */
.lst-active { margin-bottom: 20px; }
.lst-active-title {
     font-size: 13px;
     font-weight: 700;
     color: var(--sw-ink, #1a1a1a);
     margin-bottom: 8px;
}
.lst-active-in { display: flex; flex-wrap: wrap; gap: 8px; }
/* selected-state pills = the kit chip (purple tint, like prodai/stores).
   Purple marks STATE; the neutral white pills stay controls (sort/pages). */
.lst-chip {
     display: inline-flex;
     align-items: center;
     background: #f1ecfb;
     border: none;
     border-radius: var(--sw-r-pill, 100px);
     padding: 6px 13px;
     font-size: 12.5px;
     font-weight: 600;
     color: #5b3da8;
     text-decoration: none;
     transition: background .15s ease;
     width: fit-content;
}
.lst-chip:hover {
     background: var(--sw-tint-purple, #f0e6ff);
     color: #5b3da8;
     text-decoration: none;
}
.lst-chip span { margin-right: 0; }
.lst-chip i { color: var(--sw-purple, #7735d5); font-size: 12px; margin-right: 5px; }
.lst-chip:hover i { color: var(--sw-purple-d, #650ce4); }
.lst-active-in .lst-clear {
     display: inline-flex;
     align-items: center;
     background: #fff;
     border: 1px solid var(--sw-ink, #1a1a1a);
     border-radius: var(--sw-r-pill, 100px);
     padding: 5px 12px;
     font-size: 12.5px;
     font-weight: 600;
     color: var(--sw-ink, #1a1a1a);
     text-decoration: none;
     transition: all .15s ease;
}
.lst-active-in .lst-clear:hover {
     background: var(--sw-ink, #1a1a1a);
     color: #fff;
}

/* ==========================================================================
   Model-page newsletter + SEO description + misc
   ========================================================================== */
.lst-news {
     display: flex;
     flex-direction: column;
     gap: 20px;
     background: #fff;
     border: 1px solid var(--sw-line, #eaeaea);
     border-radius: var(--sw-r-card, 16px);
     padding: 24px;
}
.lst-news-title {
     font-size: 16px;
     font-weight: 700;
     color: var(--sw-ink, #1a1a1a);
}
.lst-news-info {
     display: flex;
     gap: 20px;
     justify-content: space-between;
}
.lst-news-info > div:first-child {
     display: flex;
     flex-direction: column;
     gap: 5px;
     font-size: 13.5px;
     color: var(--sw-grey, #6b7280);
}
.lst-news-info > div:first-child i { color: var(--sw-teal-ink, #2bbbbc); }
.lst-news-info > div:last-child { width: 50%; }
/* email + button on one line, button never glued to the input */
.lst-news-form {
     display: flex;
     align-items: stretch;
     gap: 10px;
     width: 100%;
}
.lst-news-form .sw-input { flex: 1; min-width: 0; }
.lst-news-form .subscribe_newsletter_button { display: flex; flex: none; }
.lst-news-form .subscribe_newsletter_button .sw-btn { height: 100%; white-space: nowrap; }
@media only screen and (max-width: 767px) {
     .lst-news-info { flex-direction: column; }
     .lst-news-info > div:last-child { width: 100%; }
     .lst-news-form { flex-direction: column; }
     .lst-news-form .subscribe_newsletter_button .sw-btn { width: 100%; }
}

.lst-desc { background: transparent; }
.lst-desc .category-description {
     background: #fff;
     border: 1px solid var(--sw-line, #eaeaea);
     border-radius: var(--sw-r-card, 16px);
     padding: 24px;
     font-size: 13.5px;
     line-height: 1.7;
     color: var(--sw-grey, #6b7280);
}
.lst-desc .category-description h2 {
     font-size: 20px !important;
     font-weight: 700 !important;
     color: var(--sw-ink, #1a1a1a);
     margin-bottom: .5rem;
}
.lst-desc .show-more-btn {
     display: inline-block;
     margin-top: 8px;
     color: var(--sw-teal-ink, #2bbbbc);
     font-weight: 600;
     text-decoration: none;
}
.lst-desc .show-more-btn:hover { text-decoration: none; color: var(--sw-teal-ink, #2bbbbc); }

.lst-midbanner img { display: block; }

/* ==========================================================================
   Mobile: drawer + tools (≤767px)
   ========================================================================== */
@media only screen and (max-width: 767px) {
     .lst-main { margin-left: 0; flex-basis: 100%; width: 100%; }
     .lst-h1 { font-size: 20px; }
     .lst-brands { flex-wrap: wrap; }
     .lst-brand { flex: 1 1 calc(25% - 8px); min-width: 70px; height: auto; aspect-ratio: 1 / 1; padding: 12px; }

     /* toolbars: top one disappears (mobile tools row takes over);
        bottom one keeps only the pagination */
     .lst-toolbar--top { display: none; }
     .lst-tool--sort, .lst-tool--show { display: none; }
     .lst-mtools { display: block; margin-bottom: 15px; }

     /* the sidebar becomes a full-screen drawer, opened by jQuery .show() */
     .lst-side {
          display: none;
          position: fixed;
          left: 0;
          top: 0;
          width: 100%;
          height: 100vh;
          height: 100dvh;
          z-index: 3000;
          background: #fff;
          overflow-y: auto;
          -webkit-overflow-scrolling: touch;
     }
     .lst-side-in {
          border: none;
          border-radius: 0;
          padding-bottom: 90px;
     }
     .lst-drawerhead {
          display: block;
          position: sticky;
          top: 0;
          z-index: 5;
          background: #fff;
          border-bottom: 1px solid var(--sw-line, #eaeaea);
     }
     .lst-drawerrow {
          display: flex;
          align-items: center;
          padding: 14px 16px;
     }
     .lst-drawerrow h3 {
          font-size: 16px;
          font-weight: 700;
          margin: 0;
          color: var(--sw-ink, #1a1a1a);
     }
     .lst-x {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 34px;
          height: 34px;
          border-radius: 50%;
          background: var(--sw-bg-soft, #f5f5f7);
          color: var(--sw-ink, #1a1a1a);
          font-size: 14px;
          cursor: pointer;
     }
     .lst-group { padding: 14px 16px; }

     /* sticky apply bar at the bottom of the drawer */
     .lst-apply {
          display: block;
          position: fixed;
          left: 0;
          bottom: 0;
          width: 100%;
          padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
          background: #fff;
          border-top: 1px solid var(--sw-line, #eaeaea);
          z-index: 6;
     }
}

@media (prefers-reduced-motion: reduce) {
     .lst-brand, .lst-carr, .lst-box, .lst-check, .lst-dd-link, .lst-chip { transition: none; }
     .lst-brand:hover { transform: none; }
}

/* ==========================================================================
   Head + guarantees — owner-approved final 2026-07-22 (was the ?newcard=2
   working copy; folded into the baseline).
   ========================================================================== */

/* ---- the 4 guarantees lane: 1:1 with the homepage band (home.css
   .home-guarantees — same geometry, type scale and breakpoints; change there,
   change here), only the SURFACE differs: white, because on categories with
   no SEO text this band sits directly above the black footer — dark would
   fuse into one slab. Placement: BOTTOM of the listing (top = second banner
   before products; tried & rejected). */
.lst-guar {
     background: #fff;
     border-top: 1px solid var(--sw-line, #eaeaea);
     border-bottom: 1px solid var(--sw-line, #eaeaea);
     padding: 30px 0;
}
.lst-guar__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.lst-guar__item {
     position: relative; display: flex; align-items: center; justify-content: center;
     gap: 14px; padding: 4px 16px; text-decoration: none;
}
.lst-guar__item:hover { text-decoration: none; }
.lst-guar__item + .lst-guar__item::before {
     content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%);
     width: 1px; height: 44px; background: var(--sw-line, #eaeaea);
}
.lst-guar__ico {
     width: 48px; height: 48px; border-radius: 50%; flex: none; display: grid; place-items: center;
     background: var(--sw-teal-bright, #00dfcd); border: none;
     transition: transform .15s ease, box-shadow .15s ease;
}
.lst-guar__ico i { color: var(--sw-surface-dark, #0c0c0c); font-size: 19px; line-height: 1; }
.lst-guar__item span { color: var(--sw-grey, #6b7280); font-size: .85rem; line-height: 1.4; }
.lst-guar__item b { display: block; color: var(--sw-ink, #1a1a1a); font-weight: 700; font-size: .95rem; transition: color .15s ease; }
.lst-guar__item b::after {
     content: '\f054';
     font-family: 'Font Awesome 5 Free'; font-weight: 900;
     font-size: .62em; margin-left: 7px; vertical-align: 1px;
     color: var(--sw-teal-ink, #2bbbbc);
     transition: transform .15s ease, opacity .15s ease;
     display: inline-block; opacity: .75;
}
@media (hover: hover) {
     .lst-guar__item:hover .lst-guar__ico { transform: scale(1.06); box-shadow: 0 0 0 5px rgba(0,223,205,.18); }
     .lst-guar__item:hover b { color: var(--sw-teal-ink, #2bbbbc); }
     .lst-guar__item:hover b::after { transform: translateX(3px); opacity: 1; }
}
.lst-guar__item:focus-visible {
     outline: 2px solid var(--sw-teal-ink, #2bbbbc); outline-offset: 3px; border-radius: 10px;
}
@media (prefers-reduced-motion: reduce) {
     .lst-guar__ico, .lst-guar__item b::after { transition: none; }
     .lst-guar__item:hover .lst-guar__ico { transform: none; }
     .lst-guar__item:hover b::after { transform: none; }
}
@media (max-width: 991px) {
     .lst-guar__grid { grid-template-columns: repeat(2, 1fr); gap: 22px 8px; }
     .lst-guar__item { justify-content: flex-start; padding: 0 8px; }
     .lst-guar__item + .lst-guar__item::before { display: none; }
}
@media (max-width: 767px) {
     .lst-guar { padding: 22px 0; }
     .lst-guar__grid { grid-template-columns: repeat(2, 1fr); gap: 18px 2px; }
     .lst-guar__item { padding: 0; gap: 8px; }
     .lst-guar__ico { width: 34px; height: 34px; }
     .lst-guar__ico i { font-size: 15px; }
     .lst-guar__item b { font-size: .8rem; }
     .lst-guar__item span { font-size: .72rem; }
     .lst-guar__item b::after { display: inline; font-size: .58em; margin-left: 5px; }
}
@media (max-width: 359px) {
     .lst-guar__item b { font-size: .74rem; }
     .lst-guar__item span { font-size: .68rem; }
}

/* ---- head: crumb + v1's titlebar (muted count in brackets). Eyebrow-with-
   count was tried & rejected: eyebrows label themes, a stock count is
   metadata — it reads best muted next to the title. */
/* head: crumb, then the title ROW — h1 + count left, sort/show pills right,
   pills vertically centered on the title line (flex-end against the whole
   head looked off: the crumb skewed the optical center) */
.lst-head { margin-bottom: 12px; }
.lst-titlebar .lst-toolbar--top { margin-left: auto; align-self: center; }

/* ---- sidebar option counters (brands only — brand counts don't shift with
   the other filter groups the way faceted counts would) */
.lst-cnt {
     margin-left: auto;
     padding-left: 8px;
     font-size: 12px;
     color: var(--sw-muted, #9ca3af);
}

/* ---- breadcrumbs (v2): first line of the title block (crumb → eyebrow → H1
   in the main column, aligned with the content, not the page edge) — chevron
   separators, current page in ink; scrolls sideways on mobile, never wraps */
.lst-head .lst-crumbs2-row { margin-bottom: 6px; }
.lst-crumbs2-row {
     display: flex;
     align-items: center;
     font-size: 12.5px;
     color: var(--sw-grey, #6b7280);
     white-space: nowrap;
     overflow-x: auto;
     -webkit-overflow-scrolling: touch;
     scrollbar-width: none;
     margin-bottom: 0;
}
.lst-crumbs2-row::-webkit-scrollbar { display: none; }
.lst-crumbs2-row a {
     color: var(--sw-grey, #6b7280);
     text-decoration: none;
     flex: none;
}
.lst-crumbs2-row a:hover { color: var(--sw-ink, #1a1a1a); text-decoration: none; }
.lst-crumbs2-sep {
     font-size: 8px;
     color: var(--sw-muted, #9ca3af);
     margin: 0 9px;
     flex: none;
}
.lst-crumbs2-cur {
     color: var(--sw-ink, #1a1a1a);
     font-weight: 600;
     flex: none;
}

/* ==========================================================================
   Chip filters — Състояние / Памет / Цвят / Батерия / Съвместимост as tap
   chips (kept from the „Бутик" preview, owner-picked 2026-07-22). The inputs
   stay checkboxes/radios — only the label becomes a pill; selected = the
   kit's purple chip. Long searchable lists (Марка/Модел/Магазин) stay rows.
   ========================================================================== */
#all_conditions, #all_storages, #all_colors, #all_batteries, #all_series {
     display: flex;
     flex-wrap: wrap;
     gap: 8px;
     padding-top: 12px;
}
#all_conditions.collapse:not(.show), #all_storages.collapse:not(.show),
#all_colors.collapse:not(.show), #all_batteries.collapse:not(.show),
#all_series.collapse:not(.show) { display: none; }
#all_conditions li, #all_storages li, #all_colors li,
#all_batteries li, #all_series li { margin: 0; }
#all_conditions .lst-box, #all_storages .lst-box, #all_colors .lst-box,
#all_batteries .lst-box, #all_series .lst-box { display: none; }
#all_conditions .lst-check, #all_storages .lst-check, #all_colors .lst-check,
#all_batteries .lst-check, #all_series .lst-check {
     border: 1px solid var(--sw-line-2, #d4d4d8);
     border-radius: 100px;
     padding: 6px 13px;
     font-size: 13px;
     gap: 0;
     transition: background .15s ease, border-color .15s ease, color .15s ease;
}
#all_conditions .lst-check:hover, #all_storages .lst-check:hover,
#all_colors .lst-check:hover, #all_batteries .lst-check:hover,
#all_series .lst-check:hover { border-color: var(--sw-ink, #1a1a1a); }
#all_conditions .lst-fin:checked + .lst-check, #all_storages .lst-fin:checked + .lst-check,
#all_colors .lst-fin:checked + .lst-check, #all_batteries .lst-fin:checked + .lst-check,
#all_series .lst-fin:checked + .lst-check {
     background: #f1ecfb;
     border-color: #5b3da8;
     color: #5b3da8;
}

/* ==========================================================================
   Toolbar: bare pills on the page — the grey tray holder was tried and
   rejected (owner 2026-07-22: wrong, remove bg+padding). Labels stay FOLDED
   into the pills („Сортирай: …" / „Покажи: …") — floating grey labels were
   unreadable and don't come back.
   ========================================================================== */
.lst-dd-pre { color: var(--sw-grey, #6b7280); font-weight: 500; margin-right: 2px; }

/* ==========================================================================
   WS2 rollout — accessories + outlet listings (2026-07-23)
   Reuse the whole .lst-* chrome + shared p3--x card. Two additions only:
   outlet defect-note chips on the card, and the outlet intro info card.
   ========================================================================== */

/* Outlet defect notes — coloured chips under the card sub line.
   Colours come inline from the tag table; here we only shape them. */
.p3-notes { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 5px; }
.p3-note {
     font-size: 10.5px;
     line-height: 1.35;
     padding: 2px 7px;
     border-radius: 6px;
     font-weight: 600;
     white-space: nowrap;
     max-width: 100%;
     overflow: hidden;
     text-overflow: ellipsis;
}

/* Outlet intro card — the "why buy outlet" reassurance, quiet white card
   sitting above the grid (replaces the old grey_holder block). */
.lst-outletnote {
     background: #fff;
     border: 1px solid var(--sw-line, #eaeaea);
     border-radius: var(--sw-r-card, 16px);
     padding: 16px 18px;
     margin-bottom: 16px;
     font-size: 13px;
     line-height: 1.5;
     color: var(--sw-ink, #1a1a1a);
}
.lst-outletnote-grid {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 6px 22px;
     margin-top: 10px;
}
.lst-outletnote-grid span { display: block; font-size: 12.5px; }
.lst-outletnote-grid .fa-check,
.lst-outletnote-grid .fas.fa-check { color: var(--sw-teal-ink, #0f7f7c); }
@media (max-width: 767px) {
     .lst-outletnote-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Two-line sort/show buttons (phones, 2026-07-23) — action word bold on top,
   current selection muted below. Scoped to .lst-dd-link--stacked; the other
   listings (accessories/outlet/gaming) still use the one-line .lst-dd pills
   until this is rolled out to them. Count/title = the shared inline treatment
   (the eyebrow + bigger-title experiment was tried and dropped).
   ========================================================================== */
.lst-dd-link--stacked {
     flex-direction: column;
     align-items: flex-start;
     justify-content: center;
     gap: 0;
     border-radius: 12px;
     padding: 5px 28px 5px 13px;
     position: relative;
}
/* primary line = the ACTION (bold ink); secondary = the current selection
   (muted, smaller) — the action is what you scan for, the value is a detail */
.lst-dd-label {
     font-size: 13px;
     font-weight: 600;
     color: var(--sw-ink, #1a1a1a);
     line-height: 1.3;
}
.lst-dd-val {
     font-size: 11.5px;
     font-weight: 500;
     color: var(--sw-muted, #9ca3af);
     line-height: 1.25;
     white-space: nowrap;
}
.lst-dd-link--stacked.dropdown-toggle::after {
     position: absolute;
     right: 14px;
     top: 50%;
     transform: translateY(-50%);
     margin: 0;
}
