/* ============================================================
   Portal ogłoszeń – arkusz stylów strony publicznej
   ============================================================ */
:root {
    --ink: #1F2D3D;
    --ink-2: #3B4A5A;
    --muted: #5B6B7B;
    --line: #E3E8ED;
    --bg: #F1F4F6;
    --band: #E8EEF2;
    --card: #FFFFFF;
    --accent: #E4572E;
    --accent-dark: #C2410C;
    --blue: #2E86DE;
    --blue-dark: #1F6FBF;
    --star: #F5B700;
    --radius: 10px;
    --shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);
    --font: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --display: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font); font-size: 15px; line-height: 1.5; color: var(--ink); background: #fff; }
img { max-width: 100%; display: block; }
a { color: var(--blue); text-decoration: none; }
a:hover { color: var(--blue-dark); }
h1, h2, h3 { font-family: var(--display); margin: 0; line-height: 1.2; letter-spacing: -.01em; color: var(--ink); }
h1 { font-size: clamp(22px, 1.4vw + 16px, 30px); font-weight: 800; }
h2 { font-size: clamp(18px, .6vw + 15px, 22px); font-weight: 700; }
button, input, select, textarea { font: inherit; color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
.wrap { max-width: 1200px; margin: 0 auto; padding-inline: clamp(12px, 3vw, 24px); }
[hidden] { display: none !important; }
.muted { color: var(--muted); }
.small { font-size: 13px; }

/* ---------- przyciski ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: 6px; border: 0; font-weight: 700; font-size: 15px; cursor: pointer; white-space: nowrap; text-decoration: none; transition: background .15s; }
.btn--add { background: var(--accent); color: #fff; box-shadow: 0 2px 6px rgba(228, 87, 46, .35); }
.btn--add:hover { background: var(--accent-dark); color: #fff; }
.btn--blue { background: var(--blue); color: #fff; }
.btn--blue:hover { background: var(--blue-dark); color: #fff; }
.btn--ghost { background: #fff; color: var(--ink); border: 1px solid #CBD5E1; }
.btn--ghost:hover { background: #F8FAFC; color: var(--ink); }
.btn--light { background: #fff; color: var(--ink); }
.btn--block { width: 100%; white-space: normal; text-align: center; line-height: 1.25; padding-top: 8px; padding-bottom: 8px; }
.btn--sm { min-height: 36px; padding: 0 14px; font-size: 14px; }
.btn--danger { background: #fff; color: #B91C1C; border: 1px solid #FCA5A5; }
.danger-zone { border-top: 1px solid var(--line); padding-top: 10px; }
.danger-zone summary { cursor: pointer; color: #B91C1C; font-weight: 600; font-size: 14px; }
.link-btn { background: none; border: 0; padding: 0; color: var(--blue); cursor: pointer; font-weight: 600; }

/* ---------- nagłówek ---------- */
.topbar { background: #fff; border-bottom: 1px solid var(--line); }
.topbar__inner { display: flex; align-items: center; gap: 16px; min-height: 72px; }
.logo { display: flex; align-items: center; gap: 10px; color: var(--ink); font: 800 clamp(21px, .8vw + 17px, 27px)/1 var(--display); letter-spacing: -.02em; }
.logo:hover { color: var(--ink); }
.logo__mark { flex: none; }
.tagline { color: var(--muted); font-size: 14px; margin-left: 8px; }
.topnav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.topnav__icon { width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border-radius: 8px; color: var(--ink); position: relative; }
.topnav__icon:hover { background: #F1F5F9; color: var(--ink); }
.topnav__badge { position: absolute; top: 4px; right: 4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--accent); color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.topnav__link { display: inline-flex; align-items: center; gap: 8px; padding: 10px 12px; color: var(--ink); font-weight: 700; border-radius: 8px; white-space: nowrap; }
/* węższe laptopy: „Poradnik” jako sama ikona (z podpowiedzią), żeby „Moje konto” i „Dla firm” nie łamały się na dwie linie */
.topnav__link:hover { background: #F1F5F9; color: var(--ink); }
.topnav__sep { width: 1px; height: 28px; background: var(--line); margin: 0 6px; }

.dropdown { position: relative; }
.dropdown summary { list-style: none; cursor: pointer; }
.dropdown summary::-webkit-details-marker { display: none; }
.dropdown__menu { position: absolute; right: 0; top: calc(100% + 6px); min-width: 220px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 10px 30px rgba(15, 23, 42, .12); padding: 6px; z-index: 50; display: flex; flex-direction: column; }
.dropdown__menu a, .dropdown__menu button { padding: 10px 12px; border-radius: 6px; color: var(--ink); text-align: left; background: none; border: 0; font-weight: 500; cursor: pointer; }
.dropdown__menu a:hover, .dropdown__menu button:hover { background: #F1F5F9; color: var(--ink); }
.dropdown__menu hr { border: 0; border-top: 1px solid var(--line); margin: 6px 0; }
.chev { transition: transform .15s; }
.dropdown[open] .chev { transform: rotate(180deg); }

/* ---------- pas wyszukiwarki ---------- */
.searchband { background: var(--band); padding: 16px 0; }
.searchband__inner { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.searchbox { flex: 1 1 520px; display: flex; gap: 10px; min-width: 0; }
.searchbox input, .searchbox select { min-width: 0; height: 46px; padding: 0 16px; border: 1px solid #fff; border-radius: 6px; background: #fff; box-shadow: var(--shadow); font-size: 15px; color: var(--ink); }
.searchbox .searchbox__q { flex: 2 1 0; }
.searchbox__loc { flex: 1 1 0; min-width: 0; position: relative; display: flex; }
.searchbox__loc svg { position: absolute; left: 12px; top: 14px; color: var(--muted); pointer-events: none; }
.searchbox__loc input { width: 100%; padding-left: 36px; }
.searchbox .searchbox__radius { flex: 0 0 auto; width: 112px; padding: 0 10px; }
.searchbox input:focus, .searchbox select:focus { outline: 2px solid var(--blue); }
.searchbox .btn { height: 46px; }
.searchband .btn--add { margin-left: auto; height: 46px; }

/* ---------- sekcje ---------- */
.section { padding: 22px 0; }
.section--gray { background: var(--bg); }
.section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.section__head a { font-weight: 600; font-size: 14px; }

/* kategorie */
.cats { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 6px 10px; }
.cat { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 8px 4px 12px; border-radius: 10px; color: var(--ink-2); text-align: center; font-size: 14px; line-height: 1.25; }
.cat:hover { background: #F6F8FA; color: var(--ink); }
.cat:hover span { text-decoration: underline; }
.cat img { width: 92px; height: 92px; object-fit: contain; }
@media (max-width: 1000px) { .cats { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 680px) { .cats { grid-template-columns: repeat(4, minmax(0, 1fr)); } .cat img { width: 64px; height: 64px; } .cat { font-size: 12.5px; } }
@media (max-width: 400px) { .cats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* karuzela */
.carousel { position: relative; }
.carousel__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 32px) / 3); gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding: 2px; }
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__track > * { scroll-snap-align: start; }
.carousel__btn { position: absolute; top: 40%; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); background: #fff; box-shadow: var(--shadow); display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; color: var(--ink); }
.carousel__btn--prev { left: -22px; }
.carousel__btn--next { right: -22px; }
.dots { display: flex; justify-content: center; gap: 6px; margin-top: 12px; }
.dots button { width: 8px; height: 8px; border-radius: 50%; border: 1px solid #94A3B8; background: #fff; padding: 0; cursor: pointer; }
.dots button.is-active { background: var(--ink); border-color: var(--ink); }
@media (max-width: 900px) { .carousel__track { grid-auto-columns: calc((100% - 16px) / 2); } }
@media (max-width: 560px) { .carousel__track { grid-auto-columns: 82%; } .carousel__btn { display: none; } }
/* karuzela „kompaktowa” (np. Polecani wykonawcy): więcej mniejszych kart w rzędzie, niższe obrazki */
.carousel--compact .carousel__track { grid-auto-columns: calc((100% - 48px) / 5); gap: 12px; }
.carousel--compact .card__img { aspect-ratio: 16 / 10; margin: 6px 6px 0; }
.carousel--compact .card__img--placeholder img { width: 30%; }
.carousel--compact .card__body { padding: 8px 10px 10px; gap: 3px; }
.carousel--compact .card__title { font-size: 13px; }
.carousel--compact .card__price { font-size: 15px; }
.carousel--compact .carousel__btn { top: 30%; width: 38px; height: 38px; }
.carousel--compact .carousel__btn--prev { left: -12px; }
.carousel--compact .carousel__btn--next { right: -12px; }
@media (max-width: 1100px) { .carousel--compact .carousel__track { grid-auto-columns: calc((100% - 36px) / 4); } }
@media (max-width: 860px) { .carousel--compact .carousel__track { grid-auto-columns: calc((100% - 24px) / 3); } }
@media (max-width: 560px) { .carousel--compact .carousel__track { grid-auto-columns: 44%; } }

/* slider banerów */
/* (style banerów – sekcja „banery slidera” niżej) */

/* karty ogłoszeń */
.grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1000px) { .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) { .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
.card { position: relative; display: flex; flex-direction: column; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); color: var(--ink); transition: box-shadow .15s; }
.card:hover { box-shadow: 0 6px 18px rgba(15, 23, 42, .12); color: var(--ink); }
.card__link { position: absolute; inset: 0; z-index: 1; }
.card__img { position: relative; aspect-ratio: 4 / 3; background: #F3F5F7; overflow: hidden; margin: 8px 8px 0; border-radius: 6px; }
.card__img img { width: 100%; height: 100%; object-fit: cover; }
.card__img--placeholder { display: flex; align-items: center; justify-content: center; }
.card__img--placeholder img { width: 46%; height: auto; object-fit: contain; opacity: .9; }
.card__body { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 4px; }
.card__title { font-weight: 600; font-size: 14px; line-height: 1.35; color: var(--blue-dark); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.7em; }
.card__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.card__price { font: 800 17px/1.2 var(--display); color: var(--accent); }
/* bez kwoty („Wycena indywidualna”, „Zapytaj o cenę”) – mniejszy napis w jednej linii zamiast wielkiego w dwóch */
.card__price.card__price--text { font-size: 14px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.card__meta { color: var(--muted); font-size: 12.5px; display: flex; gap: 4px; align-items: flex-start; }
.card__meta svg { flex: none; margin-top: 2px; }
.card__meta span { overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.card__meta small { font-size: 11.5px; }
.pill-damaged { position: absolute; bottom: 8px; left: 8px; background: #B91C1C; color: #fff; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 6px; z-index: 1; }
.fav { position: relative; z-index: 2; width: 34px; height: 34px; border-radius: 50%; border: 0; background: transparent; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: var(--ink); padding: 0; }
.fav:hover { background: #F1F5F9; }
.fav.is-on svg { fill: var(--star); stroke: var(--star); }
.ribbon { position: absolute; top: 14px; left: -30px; transform: rotate(-45deg); width: 120px; text-align: center; background: #FACC15; color: #1F2937; font-size: 10px; font-weight: 800; letter-spacing: .06em; padding: 3px 0; z-index: 1; box-shadow: 0 1px 2px rgba(0, 0, 0, .15); }
/* promowanie: żółte podświetlenie i wyróżnienie z ramką (mogą być razem) */
.card--highlight, .row-card--highlight { background: var(--hl-bg, #FFF8D6); border-color: var(--hl-line, #F2D46A); }
.card--badged, .row-card--badged { border: 2px solid #F59E0B; box-shadow: 0 0 0 3px rgba(245, 158, 11, .14); }
.row-card .pill-premium { top: 6px; right: 6px; font-size: 10px; padding: 2px 6px; }
.pill-premium { position: absolute; top: 8px; right: 8px; display: inline-flex; align-items: center; gap: 4px; background: #6D5BD0; color: #fff; font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 6px; z-index: 1; }

/* SEO */
.seo { color: var(--muted); font-size: 14px; line-height: 1.6; padding: 28px 0 8px; }
.seo strong { color: var(--ink-2); }
.seo a { color: var(--muted); text-decoration: underline; }
.seo--category { border-top: 1px solid var(--line); margin-top: 24px; }
.seo h2, .seo h3 { color: var(--ink-2); font-size: 16px; margin: 14px 0 6px; }

/* stopka */
.footer { background: #fff; border-top: 1px solid var(--line); padding-top: 28px; }
.footer__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 18px; }
.footer__social { display: flex; gap: 10px; }
.footer__social a { width: 44px; height: 44px; border-radius: 50%; background: #F1F5F9; display: flex; align-items: center; justify-content: center; color: var(--ink); }
.footer__cols { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; padding: 8px 0 26px; }
.footer__col h3 { font-size: 16px; font-weight: 700; margin-bottom: 10px; }
.footer__col h3::after { content: ""; display: block; width: 18px; height: 2px; background: var(--accent); margin-top: 12px; }
.footer__col ul { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.footer__col a { color: var(--ink-2); }
.footer__col a:hover { color: var(--ink); text-decoration: underline; }
.footer__bottom { border-top: 1px solid var(--line); padding: 18px 0 26px; color: var(--muted); font-size: 13px; }
@media (max-width: 900px) { .footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .footer__cols { grid-template-columns: minmax(0, 1fr); } }

/* ---------- podstrony ---------- */
.page { padding-top: 20px; padding-bottom: 40px; }
.crumbs { font-size: 13px; color: var(--muted); margin-bottom: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
.crumbs a { color: var(--muted); }
.crumbs a:hover { color: var(--ink); text-decoration: underline; }
.layout { display: flex; flex-wrap: wrap; gap: 20px; align-items: flex-start; }
.layout__side { flex: 1 1 260px; max-width: 100%; }
.layout__main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 18px; box-shadow: var(--shadow); }
.panel + .panel { margin-top: 14px; }
.panel h2, .panel h3 { margin-bottom: 12px; }
.panel--soft { background: #F8FAFC; box-shadow: none; }

.filters { display: flex; flex-direction: column; gap: 14px; }
.field { display: flex; flex-direction: column; gap: 6px; }
.field label, .field .label { font-weight: 600; font-size: 14px; color: var(--ink-2); }
.field small { color: var(--muted); font-size: 12.5px; }
.input, .select, .textarea { width: 100%; height: 44px; padding: 0 12px; border: 1px solid #CBD5E1; border-radius: 6px; background: #fff; font-size: 15px; }
.textarea { height: auto; padding: 10px 12px; min-height: 160px; resize: vertical; }
.input:focus, .select:focus, .textarea:focus { outline: 2px solid var(--blue); border-color: transparent; }
.row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.form-steps .row2 > .field, .form-steps .row2 > div { min-width: 0; }
@media (max-width: 600px) { .form-steps .row2, .auth .row2, .layout__main .row2, .contact-grid .row2 { grid-template-columns: minmax(0, 1fr); } }
.select { text-overflow: ellipsis; padding-right: 32px; }
.input { text-overflow: ellipsis; }
.check { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; }
.check input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--accent); }
.radio-row { display: flex; flex-wrap: wrap; gap: 8px; }
.radio-chip { position: relative; }
.radio-chip input { position: absolute; opacity: 0; }
.radio-chip span { display: inline-block; padding: 9px 14px; border: 1px solid #CBD5E1; border-radius: 6px; cursor: pointer; font-weight: 500; }
.radio-chip input:checked + span { border-color: var(--blue); background: #EAF3FC; color: var(--blue-dark); font-weight: 700; }
.radio-chip input:focus-visible + span { outline: 2px solid var(--blue); }
.error { color: #B91C1C; font-size: 13px; }
.errors { background: #FEF2F2; border: 1px solid #FECACA; color: #991B1B; border-radius: 8px; padding: 12px 16px; }
.errors ul { margin: 6px 0 0; padding-left: 18px; }
.flash { background: #ECFDF5; border: 1px solid #A7F3D0; color: #065F46; border-radius: 8px; padding: 12px 16px; margin-bottom: 14px; }
.flash--warn { background: #FFFBEB; border-color: #FDE68A; color: #92400E; }

.toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.toolbar .select { width: auto; min-width: 200px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { padding: 7px 12px; border: 1px solid var(--line); border-radius: 999px; font-size: 13.5px; color: var(--ink-2); background: #fff; }
.chip:hover { border-color: #94A3B8; color: var(--ink); }
.chip.is-active { background: var(--ink); color: #fff; border-color: var(--ink); }

.list { display: flex; flex-direction: column; gap: 10px; }
.row-card { position: relative; display: flex; gap: 14px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 10px; box-shadow: var(--shadow); color: var(--ink); }
.row-card:hover { box-shadow: 0 6px 18px rgba(15, 23, 42, .1); color: var(--ink); }
.row-card__img { flex: 0 0 180px; aspect-ratio: 4 / 3; border-radius: 6px; overflow: hidden; background: #F3F5F7; position: relative; }
.row-card__img img { width: 100%; height: 100%; object-fit: cover; }
.row-card__img--placeholder { display: flex; align-items: center; justify-content: center; }
.row-card__img--placeholder img { width: 50%; height: auto; }
.row-card__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.row-card__title { font-weight: 700; font-size: 16px; }
.row-card__price { font: 800 20px/1.2 var(--display); margin-top: auto; }
.row-card__side { display: flex; flex-direction: column; align-items: flex-end; justify-content: space-between; }
@media (max-width: 560px) { .row-card__img { flex-basis: 120px; } .row-card__title { font-size: 14.5px; } .row-card__price { font-size: 17px; } }
/* lista (komputer, tablet): tytuł zawsze w jednej linii – do 70 znaków czcionka zmniejsza się tylko tyle, ile trzeba (--tl = długość tytułu) */
@media (min-width: 641px) {
    .row-card__body { container-type: inline-size; }
    .row-card__title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; line-height: 1.3;
        font-size: clamp(12px, calc(100cqi / (var(--tl, 40) * .56)), 16.5px); }
}

.pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin-top: 18px; }
.pagination__item { padding: 10px 16px; border-radius: 6px; border: 1px solid #CBD5E1; background: #fff; color: var(--ink); font-weight: 600; }
.pagination__item.is-disabled { color: #94A3B8; }
.empty { padding: 36px 20px; background: #fff; border: 1px dashed #CBD5E1; border-radius: var(--radius); text-align: center; color: var(--muted); }

/* ogłoszenie */
.gallery { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 10px; }
.gallery__main { position: relative; aspect-ratio: 4 / 3; background: #0F172A; border-radius: 8px; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.gallery__main img { width: 100%; height: 100%; object-fit: contain; }
.gallery__main--placeholder { background: #F3F5F7; }
.gallery__main--placeholder img { width: 40%; height: auto; }
.gallery__nav { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255, 255, 255, .92); cursor: pointer; display: flex; align-items: center; justify-content: center; }
.gallery__nav--prev { left: 10px; }
.gallery__nav--next { right: 10px; }
.gallery__count { position: absolute; bottom: 10px; right: 10px; background: rgba(15, 23, 42, .7); color: #fff; font-size: 13px; padding: 3px 9px; border-radius: 6px; }
.gallery__thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; }
.gallery__thumbs button { flex: 0 0 84px; aspect-ratio: 4 / 3; border: 2px solid transparent; border-radius: 6px; overflow: hidden; padding: 0; cursor: pointer; background: #F3F5F7; }
.gallery__thumbs button.is-active { border-color: var(--blue); }
.gallery__thumbs img { width: 100%; height: 100%; object-fit: cover; }
.price-big { font: 800 clamp(26px, 1.2vw + 20px, 34px)/1.1 var(--display); }
.params { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0; }
.params div { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.params dt { color: var(--muted); }
.params dd { margin: 0; font-weight: 600; text-align: right; }
@media (max-width: 560px) { .params { grid-template-columns: minmax(0, 1fr); } }
.desc { white-space: pre-line; line-height: 1.65; }
.seller { display: flex; flex-direction: column; gap: 12px; }
.seller__head { display: flex; align-items: center; gap: 12px; }
.seller__head > div { min-width: 0; }
.seller__head strong { display: block; font-size: 16px; line-height: 1.25; overflow-wrap: anywhere; }
.seller__head .verified { margin: 4px 0 0; }
.seller__meta { margin-top: 3px; font-size: 13px; line-height: 1.35; color: var(--muted); }
.presence.seller__presence { margin: 0; padding: 8px 12px; border-radius: 10px; background: #F8FAFC; border: 1px solid var(--line); flex-wrap: nowrap; }
.seller__presence .presence__ago { margin-left: auto; padding-left: 8px; white-space: nowrap; font-size: 12.5px; }
.presence--on.seller__presence { background: #F0FDF4; border-color: #BBF7D0; }
/* status sprzedającego: zielona kropka online / szara offline */
.presence { display: flex; align-items: center; gap: 6px; margin: 3px 0 2px; font-size: 13px; font-weight: 600; line-height: 1.2; color: #64748B; }
.presence i { width: 9px; height: 9px; border-radius: 50%; background: #A3AEBD; flex: none; }
.presence--on { color: #15803D; }
.presence--on i { background: #22C55E; animation: presence-pulse 2.2s ease-out infinite; }
.presence__ago { margin-left: 4px; font-weight: 400; color: var(--muted); }
label .presence { display: inline-flex; margin: 0; vertical-align: middle; }
@keyframes presence-pulse { 0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, .5); } 70% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); } 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); } }
@media (prefers-reduced-motion: reduce) { .presence--on i { animation: none; box-shadow: 0 0 0 3px rgba(34, 197, 94, .2); } }
.avatar { width: 48px; height: 48px; border-radius: 50%; background: #E0E7FF; color: #3730A3; font-weight: 800; display: flex; align-items: center; justify-content: center; font-size: 18px; flex: none; }
.phone-box { display: flex; align-items: center; justify-content: center; gap: 8px; font: 800 20px/1 var(--display); letter-spacing: .02em; padding: 10px; border: 1px dashed #CBD5E1; border-radius: 6px; }
.notice { background: #FFFBEB; border: 1px solid #FDE68A; color: #92400E; border-radius: 8px; padding: 12px 16px; }
.meta-row { display: flex; flex-wrap: wrap; gap: 6px 18px; color: var(--muted); font-size: 13px; }
details.report summary { cursor: pointer; color: var(--muted); font-size: 14px; }

/* treść CMS */
.prose { line-height: 1.7; font-size: 15.5px; max-width: 820px; }
.prose h2 { margin: 24px 0 10px; font-size: 22px; }
.prose h3 { margin: 18px 0 8px; font-size: 18px; }
.prose p { margin: 0 0 12px; }
.prose ul, .prose ol { padding-left: 22px; margin: 0 0 12px; }
.prose li { margin: 4px 0; }

/* mapa kategorii */
.catmap { columns: 3 260px; column-gap: 24px; }
.catmap__group { break-inside: avoid; margin-bottom: 22px; }
.catmap__group h2 { display: flex; align-items: center; gap: 10px; font-size: 17px; margin-bottom: 8px; }
.catmap__group h2 img { width: 36px; height: 36px; }
.catmap__group ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 6px; }
.catmap__group a { color: var(--ink-2); }

/* formularz dodawania */
.form-steps { display: flex; flex-direction: column; gap: 16px; max-width: 860px; }
.form-steps .panel { display: flex; flex-direction: column; gap: 14px; }
.form-steps h2 { margin-bottom: 2px; }
.photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 110px), 1fr)); gap: 10px; }
.photo-drop { aspect-ratio: 4 / 3; border: 2px dashed #94A3B8; border-radius: 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--muted); cursor: pointer; font-size: 13px; text-align: center; background: #F8FAFC; }
.photo-drop:hover { border-color: var(--blue); color: var(--blue); }
.photo-item { position: relative; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: #F3F5F7; }
.photo-item img { width: 100%; height: 100%; object-fit: cover; }
.photo-item button { position: absolute; top: 4px; right: 4px; width: 28px; height: 28px; border-radius: 50%; border: 0; background: rgba(15, 23, 42, .75); color: #fff; cursor: pointer; font-size: 16px; line-height: 1; }
.photo-item .main-badge { position: absolute; left: 4px; bottom: 4px; background: var(--blue); color: #fff; font-size: 11px; font-weight: 700; padding: 2px 6px; border-radius: 4px; }
.counter { font-size: 12.5px; color: var(--muted); text-align: right; }
.hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

/* panel klienta */
.account-nav { display: flex; flex-direction: column; gap: 2px; }
.account-nav a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px; border-radius: 8px; color: var(--ink-2); font-weight: 600; }
.account-nav a:hover { background: #F1F5F9; color: var(--ink); }
.account-nav a.is-active { background: #EAF3FC; color: var(--blue-dark); }
.status { display: inline-block; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.status--pending { background: #FEF3C7; color: #92400E; }
.status--active { background: #D1FAE5; color: #065F46; }
.status--rejected { background: #FEE2E2; color: #991B1B; }
.status--expired { background: #E5E7EB; color: #374151; }
.actions { display: flex; flex-wrap: wrap; gap: 8px; }
.msg { border-bottom: 1px solid var(--line); padding: 12px 0; }
.msg:last-child { border-bottom: 0; }
.msg--unread { background: #F8FAFF; margin: 0 -18px; padding: 12px 18px; }
/* skrzynka „Od wystawisz.pl” – wiadomości od obsługi */
.ntc-list { padding: 4px 0; }
.ntc-row { display: flex; gap: 12px; align-items: flex-start; padding: 14px 18px; border-bottom: 1px solid var(--line); color: var(--ink); }
.ntc-row:last-child { border-bottom: 0; }
.ntc-row:hover { background: #F8FAFC; color: var(--ink); }
.ntc-row.is-unread { background: #F5F9FF; }
.ntc-row.is-unread b { color: var(--blue-dark); }
.ntc-row__ico { flex: none; width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: #EAF2FC; color: var(--blue-dark); }
.ntc-row__body { min-width: 0; flex: 1; display: grid; gap: 2px; }
.ntc-row__top { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.ntc-row__top b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ntc-row__top small, .ntc-row__meta { color: var(--muted); font-size: 13px; }
.ntc-row__top small { flex: none; }
.ntc-row__meta { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.ntc-row__text { color: var(--ink-2); font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ntc-thread { padding: 18px; }
.ntc-thread__head h2 { font-size: 20px; margin: 8px 0 2px; }
.ntc-thread__head p { margin: 0 0 14px; }
.ntc-msgs { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ntc-msg { max-width: 78%; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--line); background: #fff; }
.ntc-msg--staff { background: #F3F7FC; border-color: #D9E6F5; border-top-left-radius: 4px; }
.ntc-msg--me { justify-self: end; background: #F1FAF3; border-color: #D3EBD9; border-top-right-radius: 4px; }
.ntc-msg__who { display: flex; gap: 10px; align-items: baseline; justify-content: space-between; margin-bottom: 4px; font-size: 13.5px; }
.ntc-msg__who small { color: var(--muted); }
.ntc-msg__body { font-size: 15px; line-height: 1.55; overflow-wrap: anywhere; }
.ntc-reply { display: grid; gap: 8px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.ntc-reply__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.ntc-closed { margin: 18px 0 0; padding: 12px 14px; border-radius: 10px; background: var(--bg); color: var(--ink-2); font-size: 14px; }
@media (max-width: 640px) {
    .ntc-msg { max-width: 92%; }
    .ntc-row { padding: 12px 14px; }
}

/* logowanie */
.auth { max-width: 440px; margin: 30px auto; }
.auth .panel { display: flex; flex-direction: column; gap: 14px; padding: 26px; }

@media (max-width: 760px) {
    .tagline, .hide-sm { display: none !important; }
    .topbar__inner { min-height: 60px; gap: 8px; }
    .searchbox { flex-basis: 100%; flex-wrap: wrap; }
    .searchbox .searchbox__q { flex: 1 1 100%; }
    .searchbox__loc { flex: 1 1 0; }
    .searchbox .btn { flex: 1 1 100%; }
    .searchband .btn--add { width: 100%; margin-left: 0; }
}

/* korzyści konta */
.perks { border: 1px solid #BFDBFE; background: #EFF6FF; border-radius: 10px; padding: 10px 14px; display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; max-width: 520px; }
.perks h3 { font-size: 14.5px; margin: 0; }
.perks table { width: 100%; border-collapse: collapse; }
.perks th, .perks td { text-align: left; padding: 4px 6px 4px 0; border-bottom: 1px solid #DBEAFE; vertical-align: middle; line-height: 1.3; }
.perks thead th { font-size: 12px; font-weight: 600; color: var(--muted); padding-top: 0; }
.perks th { font-weight: 600; color: var(--ink-2); }
.perks td { white-space: nowrap; width: 26%; }
.perks td.yes { color: #065F46; font-weight: 700; }
.perks tr:last-child td, .perks tr:last-child th { border-bottom: 0; }
.perks__note { margin: 0; font-size: 12px; color: var(--muted); }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 20px; align-items: start; }
@media (max-width: 860px) { .contact-grid { grid-template-columns: minmax(0, 1fr); } }
.prose table { border-collapse: collapse; width: 100%; margin: 0 0 14px; font-size: 14.5px; }
@media (max-width: 600px) { .prose table { display: block; overflow-x: auto; font-size: 13.5px; } } /* szeroka tabela przewija się sama, nie cała strona */
.prose th, .prose td { border: 1px solid var(--line); padding: 8px 10px; text-align: left; vertical-align: top; }
.prose blockquote { margin: 0 0 14px; padding: 10px 16px; border-left: 4px solid var(--accent); background: #FFF7ED; }

/* ---------- captcha ---------- */
.captcha__row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.captcha__row img { border-radius: 6px; border: 1px solid var(--line, #E2E8F0); background: #F1F5F9; }
.captcha__refresh { width: 38px; height: 38px; border-radius: 6px; border: 1px solid #CBD5E1; background: #fff; font-size: 18px; cursor: pointer; }
.form-msg { padding: 10px 12px; border-radius: 8px; font-size: 14px; }
.form-msg--error { background: #FEF2F2; color: #991B1B; border: 1px solid #FECACA; }
.form-msg--ok { background: #ECFDF5; color: #065F46; border: 1px solid #A7F3D0; }
.linkbtn { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }

/* ---------- zgłoś błąd (zakładka z lewej) ---------- */
.bugtab { position: fixed; left: 0; top: 46%; z-index: 40; display: flex; align-items: center; gap: 6px; padding: 10px 8px; border: 0; border-radius: 0 8px 8px 0; background: #334155; color: #fff; font: 600 13px var(--font); cursor: pointer; writing-mode: vertical-rl; transform: rotate(180deg); box-shadow: 0 2px 10px rgba(0,0,0,.18); opacity: .88; }
.bugtab:hover { opacity: 1; background: #1E293B; }
.bugtab svg { transform: rotate(90deg); }
@media (max-width: 600px) { .bugtab { padding: 8px 5px; font-size: 12px; top: 58%; } }

/* ---------- okno modalne ---------- */
.modal { width: min(520px, calc(100vw - 24px)); max-height: calc(100vh - 24px); border: 0; border-radius: 14px; padding: 20px; box-shadow: 0 20px 60px rgba(15, 23, 42, .3); }
.modal::backdrop { background: rgba(15, 23, 42, .5); }
.modal__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.modal__head h2 { font-size: 19px; margin: 0; }
.modal__close { width: 34px; height: 34px; border: 0; border-radius: 50%; background: #F1F5F9; font-size: 22px; line-height: 1; cursor: pointer; color: inherit; }

/* ---------- czat ---------- */
.chat { position: fixed; right: 18px; bottom: 18px; z-index: 50; }
.chat__fab { width: 58px; height: 58px; border-radius: 50%; border: 0; background: var(--blue, #2563EB); color: #fff; display: grid; place-items: center; box-shadow: 0 8px 24px rgba(37, 99, 235, .4); cursor: pointer; position: relative; }
.chat__fab:hover { filter: brightness(1.08); }
.chat.is-open .chat__fab { display: none; }
.chat__badge { position: absolute; top: -2px; right: -2px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: #DC2626; color: #fff; font: 700 12px/22px var(--font); }
.chat__panel { width: min(370px, calc(100vw - 24px)); height: min(560px, calc(100vh - 100px)); background: #fff; border-radius: 16px; box-shadow: 0 20px 60px rgba(15, 23, 42, .3); display: flex; flex-direction: column; overflow: hidden; }
.chat__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 14px 16px; background: var(--blue, #2563EB); color: #fff; }
.chat__head strong { display: block; font-size: 16px; }
.chat__head .small { opacity: .9; }
.chat__head .modal__close { background: rgba(255,255,255,.18); color: #fff; }
.chat__body { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 8px; background: #F8FAFC; }
.chat__msg { max-width: 82%; padding: 9px 12px; border-radius: 14px; font-size: 14.5px; line-height: 1.4; white-space: pre-line; word-wrap: break-word; }
.chat__msg time { display: block; font-size: 11px; opacity: .6; margin-top: 3px; }
.chat__msg--admin { align-self: flex-start; background: #fff; border: 1px solid #E2E8F0; border-bottom-left-radius: 4px; }
.chat__msg--me { align-self: flex-end; background: var(--blue, #2563EB); color: #fff; border-bottom-right-radius: 4px; }
.chat__start { padding: 12px 14px; border-top: 1px solid #E2E8F0; max-height: 62%; overflow-y: auto; gap: 8px; }
.chat__start .row2 { grid-template-columns: 1fr 1fr; }
.chat__reply { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #E2E8F0; }
.chat__reply textarea { flex: 1; resize: none; min-height: 44px; max-height: 120px; padding: 10px 12px; border: 1px solid #CBD5E1; border-radius: 10px; font: inherit; }
.chat__reply .btn { width: 48px; padding: 0; }
@media (max-width: 600px) {
    /* telefon: mniejszy dymek czatu z obsługą przy samej krawędzi; znika, gdy piszesz (klawiatura) */
    .chat { right: 10px; bottom: 10px; }
    .chat__fab { width: 44px; height: 44px; box-shadow: 0 4px 14px rgba(37, 99, 235, .35); opacity: .92; }
    .chat__fab svg { width: 22px; height: 22px; }
    .chat__start .row2 { grid-template-columns: minmax(0, 1fr); }
    html.is-typing .chat:not(.is-open), html.is-typing .bugtab { display: none; }
}

/* ---------- cookies ---------- */
.cookies { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 12px; }
.cookies__box { max-width: 980px; margin: 0 auto; background: #fff; border-radius: 14px; box-shadow: 0 -4px 40px rgba(15, 23, 42, .25); padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; border: 1px solid #E2E8F0; }
.cookies__box h2 { font-size: 17px; margin: 0; }
.cookies__box p { margin: 0; font-size: 14px; color: var(--ink-2, #334155); }
.cookies__prefs { display: flex; flex-direction: column; gap: 8px; padding: 10px 0; border-top: 1px solid #E2E8F0; }
.cookies__opt { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; }
.cookies__opt input { margin-top: 3px; width: 18px; height: 18px; flex: none; }
.cookies__actions { display: flex; gap: 8px; flex-wrap: wrap; }
@media (max-width: 600px) { .cookies__actions .btn { flex: 1 1 100%; } }

/* ---------- reklamy ---------- */
.ad-row:empty { display: none; }
.ad { position: relative; margin: 14px auto; width: 100%; max-width: var(--ad-w); }
.ad picture, .ad img { display: block; width: 100%; height: auto; aspect-ratio: var(--ad-ratio); object-fit: cover; border-radius: 8px; }
.ad__label { position: absolute; top: 4px; right: 6px; z-index: 1; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: rgba(0, 0, 0, .45); padding: 1px 6px; border-radius: 4px; }
.ad__html { overflow: hidden; }
.ad__placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 76px; padding: 10px; border: 1.5px dashed #CBD5E1; border-radius: 10px; color: var(--muted); background: repeating-linear-gradient(135deg, #F8FAFC 0 12px, #F1F5F9 12px 24px); font-size: 13px; text-align: center; }
.ad__placeholder strong { color: var(--ink); font-size: 14px; }
.ad__placeholder:hover { border-color: var(--blue); color: var(--ink); }
.ad__cta { color: var(--blue); font-weight: 600; }
.list .ad, .layout__side .ad { margin: 10px 0; }
.ad--left, .ad--right { position: fixed; top: 140px; width: var(--ad-w); max-width: 300px; margin: 0; z-index: 5; display: none; }
.ad--left { left: max(8px, calc((100vw - 1200px) / 2 - var(--ad-w) - 16px)); }
.ad--right { right: max(8px, calc((100vw - 1200px) / 2 - var(--ad-w) - 16px)); }
.ad--left .ad__placeholder, .ad--right .ad__placeholder { min-height: 600px; }
.ad__item[hidden] { display: none !important; }
.ad__dots { position: absolute; left: 50%; bottom: 6px; transform: translateX(-50%); display: flex; gap: 5px; z-index: 1; }
.ad__dots span { width: 6px; height: 6px; border-radius: 50%; background: rgba(255, 255, 255, .55); box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }
.ad__dots span.is-active { background: #fff; }
/* Google AdSense dopiero po zgodzie na cookies marketingowe */
html:not([data-consent-marketing]) .ad--google { display: none !important; }
.ad ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; }
/* zamówienie reklamy */
.adreq-places { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 8px; margin-bottom: 12px; }
.adreq-place { display: flex; gap: 8px; align-items: flex-start; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; background: #fff; }
.adreq-place:has(input:checked) { border-color: var(--accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent); }
.adreq-place input { margin-top: 3px; accent-color: var(--accent); }
.adreq-place__body { display: flex; flex-direction: column; gap: 2px; font-size: 13px; line-height: 1.35; }
.adreq-place__body strong { font-size: 14px; }
.adreq-pages { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 6px 12px; }
@media (min-width: 1540px) { .ad--left, .ad--right { display: block; } }
@media (max-width: 768px) { .ad--desktop { display: none; } }
@media (min-width: 769px) { .ad--mobile { display: none; } }


/* ============ nowy układ strony głównej (bloki działów) ============ */
.hs { padding-top: 14px; padding-bottom: 10px; --hs-gap: 16px; }
/* jeden, równy odstęp między wszystkimi blokami strony głównej (banery, działy, pasek marki, usługi, reklama) */
.hs > .block, .hs > .brand-band, .hs > .brand-strip, .hs > .hs__banners, .hs > .hs-svc { margin-block: var(--hs-gap); }
.hs > .ad-row:not(:empty) { margin-block: var(--hs-gap); }
.hs-svc > .section { padding: 0; }
.hs-svc > .section > .wrap { max-width: none; padding-inline: 0; }
.hs__title { font-size: 20px; text-transform: uppercase; color: var(--accent); letter-spacing: .01em; margin: 0 0 10px; }
.hs__banners { margin: 14px 0; }
.chips-scroll { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 10px; scrollbar-width: thin; scrollbar-color: #CBD5E1 transparent; }
.chips-scroll::-webkit-scrollbar { height: 5px; }
.chips-scroll::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 4px; }
.chips-scroll > * { flex: none; }
.chips-wrap { display: flex; flex-wrap: wrap; gap: 8px; }
.hs__chips { margin: 2px 0 12px; }
.cat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 118px), 1fr)); gap: 10px; margin: 2px 0 12px; }
.cat-tile { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 8px 10px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--ink); font-size: 13.5px; font-weight: 500; text-align: center; line-height: 1.25; }
.cat-tile img { width: 44px; height: 44px; padding: 6px; border-radius: 12px; background: #F1F5F9; object-fit: contain; }
.cat-tile:hover { border-color: var(--accent); color: var(--ink); box-shadow: 0 2px 10px rgba(15, 23, 42, .06); }
@media (max-width: 680px) {
    .cat-grid { grid-template-columns: repeat(4, 1fr); gap: 6px; }
    .cat-tile { padding: 8px 4px; font-size: 12px; gap: 4px; border-radius: 12px; }
    .cat-tile img { width: 34px; height: 34px; padding: 4px; }
}
.chip-ico { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px 6px 6px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); font-size: 14px; font-weight: 500; white-space: nowrap; }
.chip-ico img { width: 30px; height: 30px; padding: 3px; border-radius: 50%; background: #F1F5F9; object-fit: contain; }
.chip-ico:hover { border-color: var(--accent); color: var(--ink); }
.chips-scroll--plain .chip { background: #F1F5F9; border: 1px solid #E2E8F0; border-radius: 999px; padding: 7px 14px; font-size: 13.5px; white-space: nowrap; color: var(--ink); }
.chips-scroll--plain .chip:hover { border-color: var(--accent); }
.block { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 16px 16px 14px; margin: 16px 0; box-shadow: 0 2px 10px rgba(15, 23, 42, .05); overflow: hidden; }
.block::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, var(--accent), #7C3AED 55%, #0D9488); }
.block__head { display: flex; align-items: center; gap: 12px; margin: 4px 0 12px; }
.block__icon { flex: none; width: 50px; height: 50px; border-radius: 50%; border: 2px solid var(--line); display: grid; place-items: center; background: #fff; font-size: 24px; color: #7C3AED; }
.block__icon img { width: 32px; height: 32px; object-fit: contain; }
.block__title { font-size: 21px; font-weight: 700; color: var(--accent); }
.block__title a { color: inherit; }
.block__cta { font-size: 14px; color: #5B21B6; font-weight: 500; }
.block__sub { font-size: 16px; color: var(--accent); margin: 6px 0 10px; }
.block .carousel__track { grid-auto-columns: calc((100% - 48px) / 5); gap: 12px; padding-bottom: 10px; scrollbar-width: thin; scrollbar-color: #CBD5E1 transparent; }
.block .carousel__track::-webkit-scrollbar { display: block; height: 5px; }
.block .carousel__track::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 4px; }
.block .carousel__btn { top: 32%; }
.block .carousel__btn--prev { left: -6px; }
.block .carousel__btn--next { right: -6px; }
.hscroll--featured .card { border: 2px solid #5EC4BC; box-shadow: 0 0 0 3px rgba(94, 196, 188, .15); }
.block--howto { padding: 0; }
.block--howto::before { display: none; }
.block--howto summary { display: flex; align-items: center; gap: 14px; padding: 14px 16px; cursor: pointer; font: 600 17px var(--display); list-style: none; }
.block--howto summary::-webkit-details-marker { display: none; }
.block__plus { position: relative; flex: none; width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--accent); color: var(--accent); transition: transform .2s; }
/* krzyżyk rysowany kreskami – zawsze idealnie na środku (znak „+” z czcionki siedzi za nisko) */
.block__plus::before, .block__plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 2.5px; margin: -1.25px 0 0 -8px; border-radius: 2px; background: currentColor; }
.block__plus::after { transform: rotate(90deg); }
.block--howto[open] .block__plus { transform: rotate(45deg); }
.block--howto .howto { margin: 0 16px 12px 40px; display: flex; flex-direction: column; gap: 6px; font-size: 14.5px; }
.block--howto .btn { margin: 0 16px 16px; }
.loc-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.loc { display: flex; flex-direction: column; gap: 2px; padding: 12px 14px; border: 1px solid #EDE9FE; background: #FAF8FF; border-radius: 14px; font-weight: 600; color: var(--blue-dark); }
.loc small { color: var(--muted); font-weight: 400; }
.loc-more { margin-top: 12px; }
.loc-more summary { cursor: pointer; text-align: center; padding: 10px; border-radius: 999px; background: #FFF4EC; border: 1px solid #FCD9C2; color: var(--accent); font-weight: 600; list-style: none; margin-bottom: 10px; }
.loc-more summary::-webkit-details-marker { display: none; }
@media (max-width: 1000px) { .block .carousel__track { grid-auto-columns: calc((100% - 24px) / 3); } .loc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) {
    .hs { --hs-gap: 12px; }
    .block { padding: 14px 12px 12px; border-radius: 16px; margin: 12px 0; }
    .block .carousel__track { grid-auto-columns: 46%; }
    .block__title { font-size: 19px; }
    .block__icon { width: 44px; height: 44px; }
    .loc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ============ mniejsza typografia na telefonach ============ */
@media (max-width: 600px) {
    body { font-size: 14px; }
    h1 { font-size: 21px; }
    h2 { font-size: 17px; }
    .panel h2 { font-size: 17px; }
    .input, .select, .textarea { font-size: 15px; }
    .crumbs { font-size: 12.5px; }
    .card__price { font-size: 16px; }
    .card__title { font-size: 13.5px; }
}

/* ============ formularz dodawania (w stylu kroków) ============ */
.infobox { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; margin-bottom: 14px; border: 1px solid #BEE3E0; border-left: 5px solid #0D9488; background: #F0FAF9; border-radius: 12px; font-size: 14.5px; }
.infobox svg { flex: none; color: #0D9488; margin-top: 2px; }
.infobox p { margin: 0; }
.infobox strong { color: #0F766E; }
.stepnav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; max-width: 860px; margin-bottom: 14px; }
.stepnav a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: #fff; color: var(--ink); font-weight: 600; font-size: 14px; }
.stepnav a:hover { border-color: #0D9488; }
.stepnav span { width: 28px; height: 28px; border-radius: 50%; background: #E6F6F4; color: #0F766E; display: grid; place-items: center; font-size: 13px; flex: none; }
.form-steps .panel { border-radius: 18px; padding: 20px; box-shadow: 0 2px 10px rgba(15, 23, 42, .05); border-bottom: 2px solid #A7DCD7; scroll-margin-top: 16px; }
.form-steps .panel h2 { padding-bottom: 12px; border-bottom: 1px solid var(--line); margin-bottom: 14px; }
.form-steps .input, .form-steps .select, .form-steps .textarea { border-radius: 12px; height: 48px; border-color: #D5DEE6; }
.form-steps .textarea { height: auto; }
.form-steps .photo-drop { border: 2px dashed #7DD3C8; border-radius: 14px; }
@media (max-width: 600px) {
    .stepnav { grid-template-columns: 1fr 1fr; }
    .stepnav a { font-size: 13px; padding: 8px 10px; }
    .form-steps .panel { padding: 16px 14px; }
}

/* ---------- pasek ogłoszeń, logo, stopka firmy ---------- */
.announce { color: #fff; font-size: 13.5px; text-align: center; padding: 7px 0; }
.announce a { color: #fff; font-weight: 600; }
.logo__img { max-height: 44px; width: auto; }
.footer__company { font-size: 13px; color: var(--muted); margin: 14px 0 0; }
.footer__soc-text { font-size: 13px; font-weight: 600; }

/* duży przycisk „Dodaj do obserwowanych” */
.ltitle { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.ltitle h1 { min-width: 0; overflow-wrap: anywhere; }
.fav-big { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 34px; padding: 0 12px 0 10px; margin-top: 2px; border: 1px solid #E2E8F0; border-radius: 999px; background: #fff; color: #334155; font: 600 13.5px var(--font); white-space: nowrap; cursor: pointer; transition: border-color .15s, background .15s; }
.fav-big svg { flex: none; }
.fav-big:hover { border-color: var(--star); }
.fav-big.is-on { border-color: var(--star); background: #FFFBEB; color: #92400E; }
.fav-big.is-on svg { fill: var(--star); stroke: var(--star); }
.fav-big--block { width: 100%; height: 44px; margin: 0 0 10px; border-radius: 6px; font-size: 15px; }
.topnav__icon { position: relative; }
.topnav__badge--fav { background: var(--star); color: #1F2937; }

/* ============ podstrony informacyjne (regulamin, poradniki…) ============ */
.doc-hero { background: linear-gradient(135deg, #FFF7ED 0%, #F0F9FF 100%); border-bottom: 1px solid var(--line); padding: 18px 0 22px; }
.doc-hero h1 { font-size: clamp(24px, 2vw + 16px, 36px); margin: 6px 0 8px; }
.doc-hero__lead { max-width: 780px; margin: 0 0 8px; font-size: 16.5px; color: var(--ink-2); line-height: 1.55; }
.doc-hero__meta { margin: 0; font-size: 13px; color: var(--muted); }
.doc { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 32px; align-items: start; }
.doc--single { grid-template-columns: minmax(0, 1fr); }
.doc--single .doc__body, .doc--single .doc__help, .doc--single .doc__related { max-width: 860px; }
.doc__toc { position: sticky; top: 16px; background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; font-size: 14px; }
.doc__toc summary { font-weight: 700; cursor: pointer; list-style: none; margin-bottom: 6px; }
.doc__toc summary::-webkit-details-marker { display: none; }
.doc__toc ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.doc__toc a { color: var(--ink-2); }
.doc__toc a:hover { color: var(--accent); }
.doc__main { min-width: 0; }
.doc__body { max-width: 780px; font-size: 16px; line-height: 1.75; }
.doc__body > p:first-child { font-size: 17px; color: var(--ink-2); }
.doc__body h2 { scroll-margin-top: 16px; margin: 34px 0 12px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 22px; }
.doc__body h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.doc__body h3 { margin: 22px 0 8px; font-size: 18px; color: var(--ink); }
.doc__body li::marker { color: var(--accent); font-weight: 700; }
.doc__body table { border-radius: 10px; }
.doc__body td small { display: inline-block; margin-top: 2px; color: var(--muted); font-size: 12.5px; line-height: 1.35; }
.doc__body td strong { white-space: normal; }
.doc__body th { background: #F8FAFC; }
.doc__body blockquote { border-radius: 0 10px 10px 0; }
.doc__body strong { color: var(--ink); }
.doc__help { max-width: 780px; display: flex; flex-direction: column; gap: 4px; margin-top: 28px; padding: 16px 18px; border-radius: 14px; background: #F0FAF9; border: 1px solid #BEE3E0; }
.doc__related { max-width: 780px; margin-top: 22px; }
.doc__related h2 { font-size: 18px; margin-bottom: 10px; }
.chips-wrap .chip { background: #F1F5F9; border: 1px solid #E2E8F0; border-radius: 999px; padding: 7px 14px; font-size: 14px; color: var(--ink); }
@media (max-width: 960px) {
    .doc { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .doc__toc { position: static; }
    .doc__toc details:not([open]) ol { display: none; }
    .doc__body { font-size: 15px; }
}
.field.is-muted { opacity: .55; }
.footer__credit { color: inherit; opacity: .8; }

/* ---------- podpowiedzi miejscowości ---------- */
.place-dd { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 70; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 12px 28px rgba(15, 23, 42, .18); max-height: 340px; overflow-y: auto; min-width: min(360px, calc(100vw - 24px)); text-align: left; }
.place-dd__grp { position: sticky; top: 0; background: #F8FAFC; font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); padding: 6px 12px; border-bottom: 1px solid var(--line); }
.place-dd__it { display: flex; align-items: center; gap: 10px; padding: 9px 12px; border-bottom: 1px solid #F1F5F9; cursor: pointer; }
.place-dd__it:hover, .place-dd__it.is-on { background: #EFF6FF; }
.place-dd__ic { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.place-dd__ic--c { background: #FFF1EC; color: var(--accent); }
.place-dd__ic--v { background: #F1F5F9; color: var(--muted); }
.place-dd__txt { display: flex; flex-direction: column; min-width: 0; }
.place-dd__nm { font-weight: 600; font-size: 15px; color: var(--ink); }
.place-dd__nm b { color: var(--blue); }
.place-dd__sub { font-size: 12.5px; line-height: 1.35; color: var(--muted); }
.place-dd__cnt { margin-left: auto; font-size: 11.5px; color: var(--muted); white-space: nowrap; }
.place-dd__empty { padding: 12px; font-size: 14px; color: var(--muted); }

/* ---------- sekcja „Usługi – znajdź swojego wykonawcę” ---------- */
.svc { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(16px, 3vw, 32px); align-items: stretch; background: linear-gradient(135deg, #FFF7F3 0%, #F3F8FF 100%); border: 1px solid var(--line); border-radius: 18px; padding: clamp(16px, 3vw, 28px); }
.svc__intro { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.svc__eyebrow { align-self: flex-start; font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); background: #FFE8DF; padding: 3px 10px; border-radius: 999px; }
.svc__title { font-size: clamp(20px, 1vw + 16px, 26px); font-weight: 800; }
.svc__lead { margin: 0; color: var(--ink-2); font-size: 14.5px; }
.svc__search { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; margin-top: 4px; }
.svc__search > .input:first-of-type { grid-column: 1 / -1; }
.svc__loc { position: relative; display: block; min-width: 0; }
.svc__search .btn { grid-column: 1 / -1; }
.svc__stats { margin: 2px 0 0; font-size: 13.5px; color: var(--muted); }
/* „Dodaj swoją usługę za darmo” – drugi przycisk pod wyszukiwarką: biały z pomarańczową ramką (główny zostaje „Szukaj”) */
.svc__add { width: 100%; margin-top: auto; background: #fff; color: var(--accent); border: 2px solid var(--accent); }
.svc__add:hover { background: var(--accent); color: #fff; }
.svc__stats strong { color: var(--ink); }
.svc__tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
/* komputer: kafelki wypełniają wysokość lewej kolumny – góra i dół obu części w jednej linii */
@media (min-width: 961px) { .svc__tiles { grid-template-rows: repeat(var(--rows, 3), minmax(0, 1fr)) auto; } }
.svc__tile { display: grid; grid-template-rows: 34px 2.6em; justify-items: center; align-content: center; row-gap: 6px; padding: 8px 6px; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 12px; color: var(--ink); font-size: 13px; font-weight: 600; line-height: 1.3; transition: border-color .15s, box-shadow .15s, transform .15s; }
.svc__tile:has(small) { grid-template-rows: 34px 2.6em auto; }
.svc__tile > span { display: flex; align-items: center; justify-content: center; text-wrap: balance; }
.svc__tile svg { color: var(--accent); background: #FFF1EC; border-radius: 50%; padding: 7px; width: 34px; height: 34px; }
.svc__tile small { font-size: 11.5px; font-weight: 500; color: var(--muted); }
.svc__tile:hover { color: var(--ink); border-color: #F9B49B; box-shadow: 0 6px 16px rgba(228, 87, 46, .12); transform: translateY(-2px); }
.svc__tile--all { background: var(--accent); border-color: var(--accent); color: #fff; }
.svc__tile--all:hover { background: var(--accent-dark); color: #fff; }
.svc__all { grid-column: 1 / -1; display: flex; align-items: center; gap: 6px 12px; flex-wrap: wrap; padding: 12px 16px; border-radius: 12px; background: var(--accent); color: #fff; font: 700 14.5px/1.2 var(--display); transition: background .15s; }
.svc__all small { font: 500 13px/1.2 var(--font); color: #FFE2D5; }
.svc__all svg { margin-left: auto; }
.svc__all:hover { background: var(--accent-dark); color: #fff; }
@media (max-width: 960px) { .svc { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
    .svc__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .svc__tile { font-size: 13px; padding: 10px 6px; }
    .svc__search { grid-template-columns: minmax(0, 1fr); }
}

/* ============ telefon: zwarty układ strony (baner, wyszukiwarka, działy) ============ */
@media (max-width: 600px) {
    .topbar__inner { min-height: 54px; }
    .logo { font-size: 20px; }
    .logo__mark { width: 32px; height: 32px; }

    /* wyszukiwarka w 2 rzędach: fraza + lupka, miejscowość + odległość */
    .searchband { padding: 10px 0; }
    .searchband__inner, .searchbox { gap: 8px; }
    .searchbox input, .searchbox select, .searchbox .btn { height: 42px; }
    .searchbox .searchbox__q { flex: 1 1 calc(100% - 56px); order: 1; }
    .searchbox .btn { flex: 0 0 48px; width: 48px; padding: 0; order: 2; }
    .searchbox__lbl { display: none; }
    .searchbox__loc { flex: 1 1 calc(100% - 112px); order: 3; }
    .searchbox__loc svg { top: 12px; }
    .searchbox .searchbox__radius { flex: 0 0 96px; width: 96px; order: 4; }
    .searchband .btn--add { height: 42px; font-size: 14.5px; }

    .hs { padding-top: 10px; --hs-gap: 10px; }
    .hs__title { font-size: 16px; margin-bottom: 8px; }
    .chip-ico { padding: 4px 12px 4px 4px; font-size: 13.5px; gap: 6px; }
    .chip-ico img { width: 26px; height: 26px; }

    /* baner o ok. 40% niższy: tekst po lewej, mniejsza grafika po prawej */
    .hs__banners { margin: 10px 0; }
    .dots { margin-top: 8px; gap: 5px; }
    .dots button { width: 7px; height: 7px; }

    /* bloki działów */
    .block { margin: 10px 0; padding: 12px 10px 10px; }
    .block__head { margin: 2px 0 8px; gap: 10px; }
    .block__icon { width: 38px; height: 38px; }
    .block__icon img { width: 24px; height: 24px; }
    .block__title { font-size: 17px; }
    .block__cta { font-size: 13px; }
    .chips-scroll--plain .chip { padding: 6px 12px; font-size: 13px; }

    /* „Zgłoś błąd” – mała ikonka w lewym dolnym rogu zamiast paska na krawędzi */
    .bugtab { top: auto; bottom: 10px; left: 10px; transform: none; writing-mode: horizontal-tb; border-radius: 999px; padding: 0; width: 38px; height: 38px; justify-content: center; opacity: .8; box-shadow: 0 4px 12px rgba(15, 23, 42, .25); }
    .bugtab span { display: none; }
    .bugtab svg { transform: none; }
}

/* ============ pola ogłoszeń: chipsy, ikony, kolory, wielokrotny wybór, podpowiedzi ============ */
.field--wide { grid-column: 1 / -1; }
.label .unit { font-weight: 500; color: var(--muted); }
.doc-tag { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 6px; background: #EEF2FF; color: #3730A3; font-size: 11.5px; font-weight: 700; vertical-align: 1px; }
.hint { color: var(--muted); font-size: 12.5px; line-height: 1.4; }
.hint--ok { color: #15803D; font-weight: 600; }
.form-tip { background: #FFFBEB; border: 1px solid #FDE68A; border-radius: 10px; padding: 10px 12px; font-size: 13.5px; color: #78350F; }
.choice { display: flex; flex-wrap: wrap; gap: 8px; }
.choice__opt { position: relative; }
.choice__opt input { position: absolute; opacity: 0; pointer-events: none; }
.choice__opt span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 13px; border: 1px solid #CBD5E1; border-radius: 999px; background: #fff; cursor: pointer; font-size: 14px; font-weight: 500; color: var(--ink-2); transition: border-color .12s, background .12s; }
.choice__opt span:hover { border-color: #94A3B8; }
.choice__opt input:checked + span { border-color: var(--accent); background: #FFF1EC; color: var(--accent-dark); font-weight: 700; }
.choice__opt input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 1px; }
.choice--icons .choice__opt span { flex-direction: column; gap: 2px; width: 92px; padding: 8px 4px 6px; border-radius: 12px; font-size: 12.5px; text-align: center; }
.choice--swatches .choice__opt span i { width: 18px; height: 18px; border-radius: 50%; border: 1px solid #CBD5E1; box-shadow: inset 0 0 0 2px #fff; flex: none; }
.multi { display: flex; flex-direction: column; gap: 8px; }
.multi__grp { border: 1px solid var(--line); border-radius: 10px; background: #fff; }
.multi__grp summary { padding: 9px 12px; cursor: pointer; font-weight: 700; font-size: 14px; list-style: none; display: flex; justify-content: space-between; }
.multi__grp summary::-webkit-details-marker { display: none; }
.multi__grp summary::after { content: "+"; color: var(--muted); font-weight: 700; }
.multi__grp[open] summary::after { content: "–"; }
.multi__grp summary small { color: var(--accent-dark); font-weight: 600; margin-left: 6px; margin-right: auto; }
.multi__list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 190px), 1fr)); gap: 4px 12px; padding: 4px 12px 12px; }
.multi > .multi__list { padding: 0; }
.multi__opt { display: flex; align-items: center; gap: 8px; font-size: 14px; padding: 4px 0; cursor: pointer; }
.multi__opt input { width: 18px; height: 18px; accent-color: var(--accent); flex: none; }
.kw { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; }
.kw span { display: inline-flex; align-items: center; gap: 6px; }
.kw .input { width: 90px; height: 36px; }
.quality { margin: 4px 0 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: #F8FAFC; display: flex; flex-direction: column; gap: 6px; }
.quality__bar { height: 8px; border-radius: 999px; background: #E2E8F0; overflow: hidden; }
.quality__fill { display: block; height: 100%; border-radius: 999px; transition: width .3s ease; }
.quality__fill.is-low { background: #F97316; } .quality__fill.is-mid { background: #EAB308; } .quality__fill.is-good { background: #16A34A; }
.quality small { color: var(--ink-2); font-size: 13px; }
@media (max-width: 600px) {
    .choice--icons .choice__opt span { width: 78px; font-size: 12px; }
    .multi__list { grid-template-columns: 1fr 1fr; }
}
.choice--sm { gap: 6px; }
.choice--sm .choice__opt span { padding: 5px 10px; font-size: 13px; }
.choice--sm.choice--icons .choice__opt span { flex-direction: row; width: auto; padding: 4px 10px 4px 6px; border-radius: 999px; }
.choice--sm.choice--swatches .choice__opt span i { width: 14px; height: 14px; }
.multi__list--filter { grid-template-columns: minmax(0, 1fr); padding: 0; gap: 0; }
.multi__list--filter .multi__opt { font-size: 13.5px; padding: 3px 0; }

/* ---------- formularz pojazdu w sekcjach (pojazd → silnik → nadwozie → historia → rejestracja → wyposażenie → warunki) ---------- */
.vform { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.vform__doc { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 11px 14px; border: 1px solid #C7D7FE; background: #EEF2FF; border-radius: 10px; font-size: 13.5px; color: #1E2A5A; line-height: 1.45; }
.vform__doc svg { flex: none; color: #3730A3; }
.vform__doc > span { flex: 1 1 260px; }
.vform__docbtn { flex: none; min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid #A5B4FC; background: #fff; color: #3730A3; font-weight: 700; font-size: 13.5px; cursor: pointer; }
.vform__docbtn[aria-pressed="true"] { background: #3730A3; border-color: #3730A3; color: #fff; }
.vform .doc-tag { display: none; }
.show-doc .vform .doc-tag { display: inline-block; }
.vsec { padding: 18px 0 6px; }
.vsec__head { display: flex; align-items: center; gap: 10px; padding-bottom: 10px; margin-bottom: 14px; border-bottom: 1px solid var(--line); }
.vsec__t { margin: 0; flex: 1; font: 800 17px/1.3 var(--display); color: var(--ink); letter-spacing: -.01em; }
.vsec__head small { color: var(--accent-dark); font-size: 13px; font-weight: 600; }
.form-steps .vsec__body.row2 { gap: 16px 20px; align-items: start; }
.vsec__body .field { gap: 7px; }
.vsec__body .field > .label { font-size: 14px; }
.vsec__body .choice { gap: 8px; }
.vsec__body .multi__list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); }
.vsec__body > .field > .multi > .multi__list { padding: 0; }
.vsec__body [data-field-key="vin"] input::placeholder { text-transform: none; }
/* forma sprzedaży pojazdu (umowa / faktura VAT 23% / VAT marża) – wyróżniona ramką */
.field--sale { padding: 14px; border: 1.5px solid #FED7AA; border-radius: 12px; background: #FFFBF5; }
.field--sale > .label { font-size: 15px; color: var(--ink); }
.field--sale .choice__opt.is-off span { opacity: .45; cursor: not-allowed; border-style: dashed; }
.sale-note { font-size: 13px; color: var(--ink-2); }
/* „Sprzedajesz jako” – przełącznik nad formą sprzedaży (ten sam wybór co „Dodajesz jako”), wygląda inaczej niż wybór dokumentu */
.sale-who { display: grid; gap: 6px; }
.sale-who > span { font-size: 13px; font-weight: 600; color: var(--muted); }
.sale-who > span:last-child { margin-top: 6px; }
.sale-who__seg { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; max-width: 360px; padding: 4px; border-radius: 12px; background: #EEF2F6; }
.sale-who button { min-height: 40px; padding: 0 10px; border: 0; border-radius: 9px; background: transparent; color: var(--ink-2); font: 600 14.5px/1.15 var(--font); cursor: pointer; }
.sale-who button[aria-pressed="true"] { background: #fff; color: var(--blue-dark); font-weight: 700; box-shadow: 0 1px 3px rgba(15, 23, 42, .18); }
.sale-who button:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.sale-note .link-btn { font-size: 13px; }
/* typ nadwozia: wszystkie w jednym równym rzędzie (telefon: 3 × 3) */
.vform .choice--icons { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 8px; }
.vform .choice--icons .choice__opt { display: flex; min-width: 0; }
.vform .choice--icons .choice__opt span { flex: 1; width: 100%; min-width: 0; text-align: center; min-height: 74px; justify-content: flex-start; gap: 6px; padding: 12px 2px 8px; border-radius: 10px; font-size: 12.5px; line-height: 1.15; letter-spacing: -.01em; color: var(--ink-2); }
.vform .choice--icons .choice__opt span:hover { border-color: #94A3B8; background: #F8FAFC; }
.vform .choice--icons .choice__opt input:checked + span { border-color: var(--accent); background: #FFF1EC; color: var(--accent-dark); box-shadow: 0 0 0 1px var(--accent) inset; }
.vform .choice--icons svg { width: 100%; max-width: 56px; height: auto; flex: none; }
/* kolory: równa siatka – kółko nad nazwą, kolumny idealnie jedna pod drugą (komputer 7 × 2, telefon 4 kolumny) */
.vform .choice--swatches { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 8px; }
.vform .choice--swatches .choice__opt { display: flex; min-width: 0; }
.vform .choice--swatches .choice__opt span { flex: 1; min-width: 0; flex-direction: column; justify-content: center; gap: 6px; min-height: 64px; padding: 9px 2px 7px; border-radius: 10px; font-size: 12.5px; line-height: 1.15; text-align: center; letter-spacing: -.01em; }
.vform .choice--swatches .choice__opt span i { width: 22px; height: 22px; border: 1px solid #94A3B8; box-shadow: inset 0 0 0 2px #fff; }
.vform .choice--swatches .choice__opt span:hover { border-color: #94A3B8; background: #F8FAFC; }
.vform .choice--swatches .choice__opt input:checked + span { box-shadow: 0 0 0 1px var(--accent) inset; }
@media (max-width: 600px) {
    .vsec { padding: 14px 0 4px; }
    .vsec__head { padding-bottom: 8px; margin-bottom: 12px; }
    .vsec__t { font-size: 16px; }
    .vform__doc { padding: 9px 11px; font-size: 13px; align-items: flex-start; }
    /* telefon: każde pole na całą szerokość (marka, model, generacja, wersja – tekst się mieści),
       parami tylko sąsiednie krótkie liczby (np. rok + przebieg), znacznik field--pair ustawia skrypt */
    .form-steps .vsec__body.row2 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
    .vsec__body > *:not(.field--pair) { grid-column: 1 / -1; }
    .vform .choice { gap: 6px; }
    .vform .choice__opt span { padding: 7px 11px; font-size: 13.5px; }
    .vform .choice--icons { grid-auto-flow: row; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
    .vform .choice--icons .choice__opt span { min-height: 62px; padding: 9px 2px 6px; font-size: 12px; }
    .vform .choice--icons svg { max-width: 50px; }
    /* telefony do 430 px: 3 kolumny, szersze (tablety w pionie): 4 */
    .vform .choice--swatches { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
    .vform .choice--swatches .choice__opt span { min-height: 52px; gap: 5px; padding: 7px 2px 6px; font-size: 12px; letter-spacing: -.01em; }
    .vform .choice--swatches .choice__opt span i { width: 18px; height: 18px; }
}
@media (max-width: 430px) {
    .vform .choice--swatches { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
    /* wąskie telefony (360 px): ciaśniejsze przyciski – liczba miejsc 2…9+ mieści się w jednym rzędzie */
    .vform .choice { gap: 5px; }
    .vform .choice__opt span { padding: 6px 9px; font-size: 13px; }
    .vform .choice--icons .choice__opt span { padding: 8px 2px 6px; font-size: 11.5px; }
    .vform .multi__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; }
    .vform .multi__opt span { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
    .vform .multi__opt { font-size: 13.5px; padding: 5px 0; align-items: flex-start; }
    .vform .multi__opt input { margin-top: 1px; }
    .vform .field small { font-size: 12px; }
    .vform .select { padding-right: 26px; text-overflow: ellipsis; }
}

/* parametry na kartach: „2017 · 148 000 km · Diesel” */
.specs { display: flex; flex-wrap: wrap; gap: 2px 0; font-size: 13px; color: var(--ink-2); margin: 2px 0; }
.specs span:not(:last-child)::after { content: "·"; margin: 0 6px; color: #94A3B8; }
.specs--sm { font-size: 12px; color: var(--muted); }
.badges { display: flex; flex-wrap: wrap; gap: 4px; margin: 2px 0 4px; }
.badge-ok { display: inline-block; font-size: 11.5px; font-weight: 700; color: #166534; background: #DCFCE7; border-radius: 6px; padding: 1px 7px; }
/* szczegóły ogłoszenia: kluczowe parametry i wyposażenie */
.specgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.specgrid div { background: var(--bg); border-radius: 10px; padding: 9px 12px; min-width: 0; }
.specgrid small { display: block; color: var(--muted); font-size: 12px; }
.specgrid b { font-size: 15px; overflow-wrap: anywhere; }
.eq-title { font-size: 15px; margin: 16px 0 8px; }
.eq { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 10px 18px; }
.eq__grp b { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: 4px; }
.eq__grp ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 3px; font-size: 14px; }
.eq__grp li::before { content: "✓"; color: #16A34A; font-weight: 800; margin-right: 6px; }
@media (max-width: 600px) { .specgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ============ wyszukiwarka działu Motoryzacja ============ */
.vhero { border-radius: 18px; padding: 18px 14px 16px; margin: 4px 0 14px; color: #fff; background: radial-gradient(120% 120% at 100% 0%, #3B0D0D 0%, #111827 45%, #0B1220 100%); }
.vhero__top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px; margin-bottom: 12px; }
.vhero__title { color: #fff; font-size: clamp(21px, 1.2vw + 16px, 28px); font-weight: 800; }
.vhero__stats { font-size: 13px; color: #CBD5E1; }
.vcard { background: #fff; color: var(--ink); border-radius: 14px; padding: 12px; box-shadow: 0 12px 30px rgba(0, 0, 0, .35); display: flex; flex-direction: column; gap: 10px; }
.vcard .seg { display: flex; background: var(--bg); border-radius: 10px; padding: 3px; gap: 3px; }
.vcard .seg label { flex: 1; position: relative; }
.vcard .seg input { position: absolute; opacity: 0; pointer-events: none; }
.vcard .seg span { display: block; text-align: center; padding: 7px 4px; border-radius: 8px; font-weight: 700; font-size: 13.5px; color: var(--ink-2); cursor: pointer; }
.vcard .seg input:checked + span { background: #fff; color: var(--ink); box-shadow: 0 1px 2px rgba(0, 0, 0, .12); }
.vcard .seg input:focus-visible + span { outline: 2px solid var(--blue); }
.vcard__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.vcard__grid label { display: flex; flex-direction: column; gap: 3px; font-size: 11.5px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; min-width: 0; }
.vcard__grid .select, .vcard__grid .input, .vcard__loc .select, .vcard__loc .input { height: 42px; text-transform: none; letter-spacing: 0; font-weight: 400; }
.vcard__loc { display: flex; gap: 8px; }
.vcard__city { flex: 1 1 auto; position: relative; display: flex; min-width: 0; }
.vcard__city .input { padding-left: 36px; width: 100%; }
.vcard__city svg { position: absolute; left: 12px; top: 12px; color: var(--muted); pointer-events: none; }
.vcard__loc .select { flex: 0 0 104px; width: 104px; }
.vcard__go { width: 100%; height: 48px; font-size: 16px; }
.vcard__links { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; font-size: 13.5px; font-weight: 600; }
/* nadwozie – część wyszukiwarki (radio jak kafelki, przewijane w bok na telefonie) */
.vsub { font-size: 16px; margin: 6px 0 8px; }
.vmakes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 125px), 1fr)); gap: 8px; margin-bottom: 16px; }
.vmake { display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: 12px; padding: 8px; color: var(--ink); background: #fff; min-width: 0; }
.vmake:hover { border-color: var(--accent); color: var(--ink); }
.vmake b { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--ink); color: #fff; display: grid; place-items: center; font-size: 13px; }
.vmake span { display: flex; flex-direction: column; font-size: 13px; font-weight: 600; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vmake small { color: var(--muted); font-weight: 500; font-size: 11.5px; }
@media (min-width: 860px) {
    .vhero { padding: 24px 24px 20px; }
    .vcard__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .vmakes { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}

/* ============ dział Opony i felgi ============ */
.vhero--tires { background: radial-gradient(120% 120% at 100% 0%, #1E3A8A 0%, #111827 50%, #0B1220 100%); }
.vcard__grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.seg--season span { font-size: 13px; }
.vcard__hint { font-size: 12.5px; color: var(--muted); margin-bottom: 6px; }
.sizes { display: flex; flex-wrap: wrap; gap: 6px; }
.size { border: 1px solid #CBD5E1; background: #fff; border-radius: 8px; padding: 6px 10px; font: 700 13px ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--ink); cursor: pointer; }
.size:hover, .size.is-on { border-color: var(--blue); background: #EFF6FF; color: var(--blue-dark); }
.tirehelp { border: 1px solid var(--line); border-radius: 14px; background: #fff; margin: 0 0 12px; }
.tirehelp summary { padding: 11px 14px; font-weight: 700; cursor: pointer; }
.tirehelp__body { display: grid; gap: 10px; padding: 0 14px 14px; font-size: 14px; }
.tirehelp__body svg { width: 100%; max-width: 420px; height: auto; }
.tirehelp__body ul { margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 4px; }
.tbanners { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0 0 16px; }
.tbanner { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-radius: 14px; padding: 14px 16px; color: #fff; min-height: 88px; }
.tbanner:hover { color: #fff; filter: brightness(1.08); }
.tbanner b { display: block; font: 800 16px/1.2 var(--display); text-transform: uppercase; }
.tbanner small { font-size: 12.5px; opacity: .9; }
.tbanner i { font-style: normal; font-size: 40px; }
.tbanner--winter { background: linear-gradient(135deg, #1E3A8A, #2563EB); }
.tbanner--wheels { background: linear-gradient(135deg, #7C2D12, #EA580C); }
.tbanner--rims { background: linear-gradient(135deg, #334155, #64748B); }
@media (min-width: 860px) {
    .tbanners { grid-template-columns: repeat(3, 1fr); }
    .tirehelp__body { grid-template-columns: 420px 1fr; align-items: center; }
}

/* ============ import ogłoszeń (konto klienta) ============ */
.imp h3 { font-size: 17px; margin: 0 0 12px; }
.imp code { background: #F1F5F9; padding: 1px 5px; border-radius: 4px; font-size: 12.5px; }
.imp-how { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; counter-reset: imp; }
.imp-how li { counter-increment: imp; position: relative; padding: 12px 12px 12px 50px; border: 1px solid var(--line); border-radius: 12px; background: #F8FAFC; display: flex; flex-direction: column; gap: 2px; font-size: 13.5px; }
.imp-how li::before { content: counter(imp); position: absolute; left: 12px; top: 12px; width: 28px; height: 28px; border-radius: 50%; background: var(--accent); color: #fff; font-weight: 800; display: grid; place-items: center; }
.imp-how b { font-size: 14.5px; }
.imp-how span { color: var(--muted); line-height: 1.4; }
.imp-list { display: flex; flex-direction: column; gap: 8px; }
.imp-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--ink); }
.imp-item:hover { border-color: #94A3B8; color: var(--ink); }
.imp-item__main { display: flex; flex-direction: column; min-width: 0; }
.imp-item__main b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.imp-item__side { display: flex; align-items: center; gap: 10px; flex: none; }
.imp-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; background: #E5E7EB; color: #374151; white-space: nowrap; }
.imp-badge--review, .imp-badge--approval { background: #FEF3C7; color: #92400E; }
.imp-badge--reading, .imp-badge--checking, .imp-badge--running { background: #DBEAFE; color: #1E40AF; }
.imp-badge--done { background: #D1FAE5; color: #065F46; }
.imp-badge--failed, .imp-badge--rejected { background: #FEE2E2; color: #991B1B; }
.imp-new { display: flex; flex-direction: column; gap: 14px; }
.imp-sources { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.imp-src { position: relative; display: block; cursor: pointer; }
.imp-src input { position: absolute; opacity: 0; pointer-events: none; }
.imp-src > span { height: 100%; display: flex; flex-direction: column; gap: 3px; padding: 12px 14px; border: 1.5px solid #CBD5E1; border-radius: 12px; background: #fff; transition: border-color .12s, background .12s; }
.imp-src i { font-style: normal; font-size: 22px; line-height: 1; }
.imp-src b { font-size: 14.5px; }
.imp-src small { color: var(--muted); font-size: 12.5px; line-height: 1.35; }
.imp-src input:checked + span { border-color: var(--accent); background: #FFF7F3; box-shadow: 0 0 0 3px rgba(228, 87, 46, .12); }
.imp-src input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 2px; }
.imp-src.is-soon { cursor: default; opacity: .6; }
.imp-src.is-soon > span { border-style: dashed; }
.imp-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; }
.imp-file { height: auto; padding: 9px 10px; }
.imp-tpl { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.imp-tpl .select { flex: 1 1 260px; width: 100%; min-width: 0; max-width: 100%; }
.imp-who__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.imp-who__grid div { display: grid; grid-template-columns: 34px 1fr; gap: 0 8px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; font-size: 13.5px; }
.imp-who__grid i { grid-row: span 2; font-style: normal; font-size: 24px; }
.imp-who__grid span { color: var(--muted); line-height: 1.4; }
.imp-head__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
/* wzory importu dla branż */
.imp-profiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 10px; }
.imp-profile { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.imp-profile:hover { border-color: #C9DAFB; box-shadow: 0 4px 14px rgba(31, 45, 61, .06); }
.imp-profile__ico { flex: none; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: #F1F5F9; font-size: 21px; }
.imp-profile__body { display: grid; gap: 4px; min-width: 0; }
.imp-profile__body b { font-size: 15.5px; }
.imp-profile__body small { color: var(--muted); font-size: 13px; line-height: 1.4; }
.imp-profile__dl { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px; }
.imp-staff { display: flex; gap: 12px; align-items: flex-start; margin: 10px 0 14px; padding: 12px 14px; border-radius: 12px; background: #EEF4FF; border: 1px solid #C9DAFB; color: #1E3A6E; }
.imp-staff svg { flex: none; margin-top: 1px; color: #2F63D9; }
.imp-staff b { display: block; font-size: 15px; }
.imp-staff span { font-size: 13.5px; line-height: 1.45; }
.imp-url { word-break: break-all; }
.imp-steps { list-style: none; margin: 14px 0 0; padding: 0; display: flex; gap: 6px; flex-wrap: wrap; }
.imp-steps li { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px 5px 5px; border-radius: 999px; background: #F1F5F9; color: var(--muted); font-size: 13px; font-weight: 600; }
.imp-steps li span { width: 22px; height: 22px; border-radius: 50%; background: #CBD5E1; color: #fff; display: grid; place-items: center; font-size: 12px; }
.imp-steps li.is-done { background: #ECFDF5; color: #065F46; }
.imp-steps li.is-done span { background: #16A34A; }
.imp-wait { display: flex; align-items: center; gap: 14px; }
.imp-spin { width: 28px; height: 28px; border-radius: 50%; border: 3px solid #DBEAFE; border-top-color: var(--blue); animation: imp-spin .8s linear infinite; flex: none; }
@keyframes imp-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .imp-spin { animation-duration: 3s; } }
.imp-bar { margin-bottom: 10px; }
.imp-bar__head { display: flex; justify-content: space-between; font-size: 14px; margin-bottom: 4px; }
.imp-bar__track { height: 10px; border-radius: 999px; background: #E2E8F0; overflow: hidden; }
.imp-bar__track span { display: block; height: 100%; border-radius: 999px; background: var(--accent); transition: width .5s ease; }
.imp-bar__track span.is-photo { background: var(--blue); }
.imp-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 120px), 1fr)); gap: 8px; margin-bottom: 12px; }
.imp-tile { padding: 10px 12px; border-radius: 10px; background: #F8FAFC; border: 1px solid var(--line); display: flex; flex-direction: column; }
.imp-tile b { font-size: 22px; font-family: var(--display); line-height: 1.1; }
.imp-tile span { color: var(--muted); font-size: 12.5px; }
.imp-tile.is-ok { background: #F0FDF4; border-color: #BBF7D0; } .imp-tile.is-ok b { color: #15803D; }
.imp-tile.is-warn { background: #FFFBEB; border-color: #FDE68A; } .imp-tile.is-warn b { color: #B45309; }
.imp-tile.is-err { background: #FEF2F2; border-color: #FECACA; } .imp-tile.is-err b { color: #B91C1C; }
.imp-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
.imp-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.imp-table th { text-align: left; padding: 8px 10px; background: #F8FAFC; color: var(--ink-2); font-size: 12.5px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.imp-table td { padding: 8px 10px; border-bottom: 1px solid #EEF2F6; vertical-align: top; }
.imp-table tr:last-child td { border-bottom: 0; }
.imp-table tr.is-err td:last-child { color: #B91C1C; }
.imp-table tr.is-warn td:last-child { color: #92400E; }
.imp-map td { vertical-align: middle; }
.imp-map tr.is-open { background: #FFFBEB; }
.imp-map td:first-child { min-width: 160px; }
.imp-map td:last-child { min-width: 220px; }
.imp-sample { display: block; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 280px; }
.imp-mark { width: 24px; text-align: center; font-weight: 800; color: #16A34A; }
.imp-map tr.is-open .imp-mark { color: #B45309; }
.select--sm { height: 38px; font-size: 14px; }
.imp-go { display: flex; flex-direction: column; gap: 6px; margin-top: 14px; align-items: flex-start; }
.imp-config { display: flex; flex-direction: column; gap: 14px; }
.imp-sect summary { list-style: none; cursor: pointer; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.imp-sect summary::-webkit-details-marker { display: none; }
.imp-sect summary h3 { margin: 0; }
.imp-sect summary::after { content: "▾"; margin-left: auto; color: var(--muted); }
.imp-sect[open] summary { margin-bottom: 12px; }
.imp-sect[open] summary::after { content: "▴"; }
.imp-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.imp-upload { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 14px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.imp-upload .btn { grid-column: 1 / -1; }
.imp-delete { display: flex; flex-direction: column; gap: 10px; }
@media (max-width: 760px) {
    .imp-how, .imp-sources, .imp-fields, .imp-who__grid, .imp-opts, .imp-upload { grid-template-columns: minmax(0, 1fr); }
    .imp-item { flex-direction: column; align-items: flex-start; }
    .imp-head__top { flex-direction: column; }
}

/* ============ banery slidera (gradient z koloru banera + ilustracja SVG) ============ */
.banners { position: relative; overflow: hidden; border-radius: 22px; box-shadow: 0 18px 40px -18px rgba(15, 23, 42, .45); }
.banners__track { display: flex; transition: transform .6s cubic-bezier(.22, .8, .25, 1); }
.banner {
    --b: #0F1E3D;
    --b-dark: color-mix(in oklab, var(--b), #000 38%);
    --b-light: color-mix(in oklab, var(--b), #fff 16%);
    flex: 0 0 100%; position: relative; overflow: hidden; isolation: isolate; color: #fff;
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 44%);
    grid-template-areas: "text art" "act art"; align-content: center; column-gap: 28px; row-gap: 10px;
    min-height: 188px; padding: 14px 24px 14px 40px;
    background:
        radial-gradient(55% 85% at 76% 48%, color-mix(in oklab, var(--b), #fff 24%) 0%, transparent 70%),
        linear-gradient(115deg, var(--b-dark) 0%, var(--b) 48%, var(--b-light) 100%);
}
.banner::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
    background-image: radial-gradient(rgba(255, 255, 255, .1) 1px, transparent 1.3px); background-size: 20px 20px;
    -webkit-mask-image: linear-gradient(100deg, transparent 15%, #000 70%); mask-image: linear-gradient(100deg, transparent 15%, #000 70%); }
.banner::after { content: ""; position: absolute; z-index: -1; pointer-events: none; width: 420px; height: 420px; right: -90px; top: 50%; transform: translateY(-50%);
    border-radius: 50%; border: 1px solid rgba(255, 255, 255, .09); box-shadow: 0 0 0 70px rgba(255, 255, 255, .025), 0 0 0 150px rgba(255, 255, 255, .018); }
.banner--photo { background: linear-gradient(100deg, var(--b-dark) 0%, color-mix(in srgb, var(--b) 70%, transparent) 55%, transparent 100%), var(--photo) center / cover no-repeat, var(--b); }
.banner__text { grid-area: text; display: flex; flex-direction: column; gap: 6px; min-width: 0; align-self: end; }
.banner__top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.banner__eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 4px 12px 4px 10px; border-radius: 999px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.banner__eyebrow i { width: 7px; height: 7px; border-radius: 50%; background: #FB923C; box-shadow: 0 0 0 4px rgba(251, 146, 60, .22); }
.banner__count { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .72); }
.banner__title { font: 800 clamp(21px, .8vw + 14px, 28px)/1.1 var(--display); letter-spacing: -.02em; color: #fff; text-wrap: balance; max-width: 28ch; }
.banner__sub { font-size: 14.5px; line-height: 1.4; color: rgba(255, 255, 255, .8); max-width: 60ch; text-wrap: pretty; }
.banner__actions { grid-area: act; display: flex; flex-wrap: wrap; align-items: center; gap: 12px; align-self: start; min-width: 0; }
.banner__search { flex: 1 1 300px; max-width: 400px; min-width: 0; display: flex; align-items: center; gap: 6px; padding: 6px 6px 6px 14px; border-radius: 16px; background: #fff; box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .45); }
.banner__search-ico { color: #94A3B8; flex: none; }
.banner__search input { flex: 1 1 0; width: 0; min-width: 0; height: 40px; border: 0; background: transparent; font-size: 15.5px; color: var(--ink); outline: none; }
.banner__search input::placeholder { color: #94A3B8; }
.banner__search button { flex: none; height: 40px; padding: 0 20px; border: 0; border-radius: 11px; background: var(--accent); color: #fff; font-weight: 700; font-size: 15px; cursor: pointer; transition: background .15s; }
.banner__search button:hover { background: var(--accent-dark); }
.banner__search:focus-within { box-shadow: 0 0 0 3px rgba(255, 255, 255, .35), 0 14px 30px -10px rgba(0, 0, 0, .45); }
.banner__btn { display: inline-flex; align-items: center; gap: 9px; height: 42px; padding: 0 18px; border-radius: 12px; font-weight: 700; font-size: 14.5px; white-space: nowrap; transition: transform .15s, background .15s, color .15s; }
.banner__btn svg { transition: transform .15s; }
.banner__btn:hover svg { transform: translateX(3px); }
.banner__btn--main { background: #fff; color: var(--b-dark); box-shadow: 0 14px 30px -10px rgba(0, 0, 0, .45); }
.banner__btn--main:hover { color: var(--b); background: #F8FAFC; }
.banner__btn--ghost { background: rgba(255, 255, 255, .08); color: #fff; border: 1px solid rgba(255, 255, 255, .34); }
.banner__btn--ghost:hover { background: rgba(255, 255, 255, .16); color: #fff; }
.banner__visual { grid-area: art; position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; }
.banner__art { width: 100%; max-width: 290px; max-height: 172px; height: auto; display: block; filter: drop-shadow(0 22px 30px rgba(0, 0, 0, .3)); }
.banner:not(.banner--art) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "text" "act"; }
.dots { display: flex; justify-content: center; gap: 7px; margin-top: 14px; }
.dots button { width: 8px; height: 8px; border-radius: 999px; border: 0; background: #CBD5E1; padding: 0; cursor: pointer; transition: width .25s, background .25s; }
.dots button.is-active { width: 24px; background: var(--ink); }
@media (prefers-reduced-motion: reduce) { .banners__track { transition-duration: .01s; } }
@media (max-width: 980px) {
    .banner { grid-template-columns: minmax(0, 1fr) minmax(200px, 36%); padding: 16px 18px 16px 26px; min-height: 188px; }
    .banner__sub { font-size: 14px; }
}
@media (max-width: 680px) {
    /* telefon: zwarty baner (ok. 170 px) – tytuł + mała ilustracja, pod tytułem link „Wystaw…”, na dole wyszukiwarka albo przycisk */
    .banners { border-radius: 16px; box-shadow: 0 10px 24px -14px rgba(15, 23, 42, .5); }
    .banner { grid-template-columns: minmax(0, 1fr) 92px; grid-template-areas: "text art" "link art" "main main"; column-gap: 10px; row-gap: 6px; min-height: 0; padding: 14px 14px 14px 16px; align-content: center; }
    .banner::after { width: 260px; height: 260px; right: -110px; top: 40px; }
    .banner__text { gap: 0; align-self: end; }
    .banner__top, .banner__sub { display: none; }
    .banner__title { font-size: 19px; line-height: 1.12; max-width: none; letter-spacing: -.02em; }
    .banner__visual { align-self: center; }
    .banner__art { max-width: 92px; filter: drop-shadow(0 8px 12px rgba(0, 0, 0, .3)); }
    .banner__art text, .banner__art .chip-svg { display: none; }
    .banner__actions { display: contents; }
    .banner__search, .banner__btn--main { grid-area: main; margin-top: 6px; }
    .banner__search { max-width: none; padding: 3px 3px 3px 11px; border-radius: 12px; }
    .banner__search input { height: 36px; font-size: 15px; }
    .banner__search button { height: 36px; padding: 0 14px; font-size: 14px; border-radius: 9px; }
    .banner__btn--main { height: 40px; justify-content: center; font-size: 14px; border-radius: 11px; }
    .banner__btn--ghost { grid-area: link; justify-self: start; height: auto; padding: 0; border: 0; background: none; font-size: 13px; color: rgba(255, 255, 255, .88); }
    .banner__btn--ghost:hover { background: none; }
    .banner__btn--ghost svg { width: 14px; height: 14px; }
    .dots { margin-top: 8px; }
}

/* „Uszkodzone” – osobny znacznik pod stanem */
.damaged-check { margin-top: 6px; padding: 10px 12px; border: 1px dashed #FCA5A5; border-radius: 10px; background: #FFF7F7; font-size: 13.5px; color: var(--ink-2); }
.damaged-check:has(input:checked) { border-style: solid; border-color: #F87171; background: #FEF2F2; }
.damaged-check b { color: #B91C1C; }
.badge-damaged { display: inline-block; padding: 1px 8px; border-radius: 999px; background: #FEE2E2; color: #991B1B; font-size: 11.5px; font-weight: 700; }

/* prośba o logowanie / potwierdzenie e-maila (kontakt, czat) */
.verify-box { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; border: 1px solid #FDE68A; border-left: 4px solid #F59E0B; border-radius: 10px; background: #FFFBEB; color: #78350F; font-size: 14px; line-height: 1.45; }
.verify-box strong { font-size: 15px; color: #78350F; }
.verify-box p { margin: 0; }
.verify-box form { margin: 0; }
.verify-box__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.verify-box--compact { margin: 10px; font-size: 13.5px; }
.input[readonly] { background: #F1F5F9; color: #475569; cursor: not-allowed; border-color: #E2E8F0; }

/* ---------- konto: statystyki ---------- */
.st-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.st-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.st-tile { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; box-shadow: var(--shadow); display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.st-tile small { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 13px; font-weight: 600; }
.st-tile b { font: 800 28px/1.15 var(--display); margin: 4px 0 0; }
.st-delta { font-size: 12.5px; font-weight: 700; }
.st-delta.up { color: #047857; }
.st-delta.down { color: #B91C1C; }
.st-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--muted); }
.st-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.st-select { min-height: 38px; max-width: 100%; border: 1px solid #CBD5E1; border-radius: 6px; padding: 0 10px; background: #fff; font-weight: 600; }
.st-chart { position: relative; }
.st-chart svg { display: block; overflow: visible; }
.st-chart g:hover rect[fill="#2E86DE"] { fill-opacity: 1; }
.st-chart--mobile { display: none; }
.st-empty { position: absolute; inset: 30% 10% auto; margin: 0; text-align: center; background: rgba(255, 255, 255, .92); border-radius: 8px; padding: 10px 14px; color: var(--muted); font-size: 14px; }
.st-list { padding: 8px 8px 4px; }
.st-table { width: 100%; border-collapse: collapse; }
.st-table th { text-align: left; font-size: 12.5px; color: var(--muted); font-weight: 700; padding: 8px 10px; border-bottom: 1px solid var(--line); white-space: nowrap; }
.st-table th a { color: inherit; }
.st-table th.is-sorted { color: var(--ink); }
.st-table th.num, .st-table td.num { text-align: right; }
.st-table td { padding: 10px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.st-table tr:hover td { background: #F8FAFC; }
.st-item { display: flex; gap: 10px; align-items: center; min-width: 0; }
.st-thumb { flex: none; width: 56px; height: 42px; border-radius: 6px; object-fit: cover; background: #F3F5F7; }
.st-title { display: block; font-weight: 700; color: var(--ink); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 300px; }
.st-cards { display: none; }
.st-card { border: 1px solid var(--line); border-radius: var(--radius); padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.st-card .st-title { white-space: normal; max-width: none; }
.st-mini { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; text-align: center; background: #F8FAFC; border-radius: 8px; padding: 8px 4px; }
.st-mini b { display: block; font: 800 17px/1.2 var(--display); }
.st-mini small { font-size: 11.5px; color: var(--muted); }
.st-note { font-size: 12.5px; color: var(--muted); margin: 0; padding: 10px; }
.rowstats { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; color: var(--ink-2); margin-top: 2px; }
.rowstats span { display: inline-flex; align-items: center; gap: 5px; }
.rowstats svg { color: var(--muted); }
@media (max-width: 1180px) { .st-hide-md { display: none; } }
@media (max-width: 640px) {
    .st-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .st-tile b { font-size: 23px; }
    .st-table { display: none; }
    .st-cards { display: flex; flex-direction: column; gap: 10px; }
    .st-chart--desktop { display: none; }
    .st-chart--mobile { display: block; }
    .st-select { width: 100%; }
}

/* ---------- kategorie na głównej: wszystkie naraz, równe kafelki, każdy rząd pełny (kolumny liczone w HomeLayout::gridColumns) ---------- */
.cat-mini { display: grid; grid-template-columns: repeat(var(--cols-lg, 6), minmax(0, 1fr)); gap: 8px; margin: 2px 0 14px; }
.cat-mini a { display: flex; align-items: center; gap: 9px; min-width: 0; min-height: 48px; padding: 6px 10px 6px 6px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); font-size: 14px; font-weight: 500; line-height: 1.2; }
.cat-mini img { flex: none; width: 32px; height: 32px; padding: 4px; border-radius: 8px; background: #F1F5F9; object-fit: contain; }
.cat-mini span { min-width: 0; overflow: hidden; overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.cat-mini a:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
@media (hover: hover) { .cat-mini a:hover { border-color: var(--accent); color: var(--ink); } }
@media (max-width: 1100px) {
    .cat-mini { grid-template-columns: repeat(var(--cols-md, 6), minmax(0, 1fr)); gap: 6px; }
    .cat-mini a { gap: 6px; padding: 5px 5px 5px 5px; font-size: 12.5px; }
    .cat-mini img { width: 26px; height: 26px; padding: 3px; }
}
@media (max-width: 760px) {
    .cat-mini { grid-template-columns: repeat(var(--cols-sm, 3), minmax(0, 1fr)); gap: 5px; }
    .cat-mini a { gap: 4px; min-height: 40px; padding: 3px; font-size: 11px; letter-spacing: -.01em; }
    .cat-mini img { width: 23px; height: 23px; padding: 2px; border-radius: 6px; }
}

/* ---------- strona ogłoszenia: spokojniejsza typografia, cena w ramce ---------- */
.lpage .ltitle h1 { font-size: clamp(18px, .25vw + 15.5px, 21px); font-weight: 700; line-height: 1.3; letter-spacing: 0; }
@media (max-width: 640px) { .lpage .ltitle h1 { font-size: 17.5px; } }
.price-box { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 2px 10px; margin: 10px 0 8px; padding: 6px 14px; border: 1px solid #FED7AA; border-radius: 10px; background: #FFF7ED; }
.price-box__amount { font: 800 clamp(19px, .35vw + 16px, 22px)/1.2 var(--display); color: var(--ink); letter-spacing: -.01em; }
.price-box__note { font: 600 13px/1.2 var(--font); color: var(--accent-dark); }
.lpage .panel h2 { font-size: 18px; }
.lpage .desc { font-size: 14.5px; line-height: 1.6; }
.lpage .params div { font-size: 13.5px; }
.lpage .specgrid b { font-size: 14px; }

/* ---------- Moje konto: zwarte karty ogłoszeń, menu i zakładki przewijane w bok na telefonie ---------- */
.acc-list { display: flex; flex-direction: column; gap: 10px; }
.acc-card { display: grid; grid-template-columns: 128px minmax(0, 1fr); grid-template-areas: "img body" "img actions"; column-gap: 14px; row-gap: 8px; padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.acc-card__img { grid-area: img; align-self: start; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: #F3F5F7; }
.acc-card__img img { width: 100%; height: 100%; object-fit: cover; }
.acc-card__img--ph { display: flex; align-items: center; justify-content: center; }
.acc-card__img--ph img { width: 55%; height: auto; }
.acc-card__body { grid-area: body; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.acc-card__title { color: var(--ink); font-weight: 700; font-size: 15px; line-height: 1.3; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.acc-card__title:hover { color: var(--blue-dark); }
.acc-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 12.5px; color: var(--muted); }
.acc-card__price { font: 800 16px/1.2 var(--display); color: var(--ink); }
.acc-card .rowstats { font-size: 12.5px; gap: 2px 12px; margin: 0; }
.acc-card .rowstats i { font-style: normal; }
.acc-card__actions { grid-area: actions; align-self: end; display: flex; flex-wrap: wrap; gap: 6px; }
.acc-card__actions form { margin: 0; display: flex; }
.acc-card__actions .btn { gap: 0; min-height: 32px; padding: 0 12px; font-size: 13px; }
@media (max-width: 760px) {
    .account-nav { flex-direction: row; overflow-x: auto; gap: 4px; padding: 6px; scrollbar-width: none; }
    .account-nav::-webkit-scrollbar { display: none; }
    .account-nav a { flex: none; white-space: nowrap; padding: 7px 11px; font-size: 13.5px; }
    .acc-tabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    .acc-tabs::-webkit-scrollbar { display: none; }
    .acc-tabs .chip { flex: none; white-space: nowrap; }
}
@media (max-width: 640px) {
    .acc-card { grid-template-columns: 92px minmax(0, 1fr); grid-template-areas: "img body" "actions actions"; column-gap: 10px; row-gap: 8px; padding: 8px; }
    .acc-card__title { font-size: 14px; }
    .acc-card__price { font-size: 15px; }
    .acc-card__cat, .acc-card .rowstats__label, .acc-card__long { display: none; }
    .acc-card .rowstats { gap: 2px 10px; }
    .acc-card__actions { flex-wrap: nowrap; }
    .acc-card__actions > * { flex: 1 1 0; }
    .acc-card__actions .btn { width: 100%; padding: 0 6px; }
}

/* ---------- statystyki na telefonie: zwarte kafelki w jednym rzędzie, niższy wykres ---------- */
.st-short { display: none; }
@media (max-width: 640px) {
    .st-long { display: none; }
    .st-short { display: inline; }
    .st-head h2 { font-size: 18px; }
    .st-head .chip { padding: 5px 10px; font-size: 12.5px; }
    .st-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
    .st-tile { padding: 8px 6px; gap: 0; border-radius: 10px; text-align: center; align-items: center; }
    .st-tile small { gap: 3px; font-size: 11px; font-weight: 600; justify-content: center; }
    .st-tile small svg { width: 12px; height: 12px; }
    .st-tile b { font-size: 19px; margin: 2px 0 0; }
    .st-tile > span, .st-tile > a { font-size: 10.5px; line-height: 1.25; }
    .st-tile .st-delta { font-size: 10.5px; }
    [data-stats] .panel, .st-listing { padding: 10px; }
    .st-select { min-height: 34px; font-size: 13px; }
    .st-legend { font-size: 12px; gap: 4px 12px; }
    .st-list { padding: 6px; }
    .st-card { padding: 8px; gap: 8px; }
    .st-card .st-thumb { width: 52px; height: 39px; }
    .st-card .st-title { font-size: 13.5px; line-height: 1.3; }
    .st-mini { padding: 6px 2px; }
    .st-mini b { font-size: 15px; }
    .st-mini small { font-size: 10.5px; }
    .st-note { padding: 8px 4px; font-size: 11.5px; }
    .st-empty { font-size: 12.5px; inset: 25% 6% auto; }
}

/* ---------- lista w kategorii i wynikach: na telefonie szukajka + „Filtry”, od razu ogłoszenia ---------- */
.mbar, .cat-bottom, .fsheet__head { display: none; }
@media (max-width: 760px) {
    .cat-page { padding-top: 10px; }
    .cat-page > .crumbs, .cat-top, .cat-desk-title { display: none; }
    .mbar { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
    .mbar__title { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
    .mbar__title h1, .mbar__h { margin: 0; font-weight: 800; font-size: 19px; line-height: 1.2; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .mbar__title span { flex: none; font-size: 12.5px; color: var(--muted); }
    .mbar__search { display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 12px; border: 1px solid #CBD5E1; border-radius: 12px; background: #fff; color: #94A3B8; }
    .mbar__search:focus-within { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(46, 134, 222, .15); }
    .mbar__search input { flex: 1; min-width: 0; height: 40px; border: 0; outline: 0; background: transparent; font-size: 15px; color: var(--ink); }
    .mbar__row { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
    .mbar__row::-webkit-scrollbar { display: none; }
    .mbar__btn, .mbar__chip { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 14px; border-radius: 999px; font-size: 14px; font-weight: 600; white-space: nowrap; }
    .mbar__btn { border: 1px solid var(--ink); background: var(--ink); color: #fff; cursor: pointer; }
    .mbar__btn i { font-style: normal; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--accent); font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
    .mbar__chip { border: 1.5px solid var(--accent); color: var(--ink); background: #FFF7ED; }
    .mbar__chip span { color: var(--accent-dark); font-weight: 800; }
    .mbar__chip--soft { border-color: var(--line); background: #fff; }
    .cat-page .layout__main { gap: 10px; }
    .cat-page .toolbar { flex-wrap: nowrap; }
    .cat-page .toolbar > span { flex: 1 1 auto; min-width: 0; font-size: 13px; }
    .cat-page .toolbar > .save-search { flex: none; }
    .cat-page .toolbar > form { flex: 0 1 auto; min-width: 0; }
    .cat-page .toolbar .select { min-width: 0; width: auto; max-width: 100%; height: 36px; padding: 0 30px 0 10px; font-size: 13.5px; }

    /* filtry jako panel na cały ekran */
    .fsheet { display: none; }
    body.filters-open { overflow: hidden; }
    body.filters-open .fsheet { display: block; position: fixed; inset: 0; z-index: 1000; margin: 0; max-width: none; background: #fff; overflow-y: auto; -webkit-overflow-scrolling: touch; }
    .fsheet__head { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 2; padding: 12px 16px; background: #fff; border-bottom: 1px solid var(--line); font-size: 17px; }
    .fsheet__head button { width: 38px; height: 38px; border: 0; border-radius: 50%; background: #F1F5F9; font-size: 16px; cursor: pointer; color: var(--ink); }
    .fsheet .filters { border: 0; box-shadow: none; border-radius: 0; padding: 14px 16px 90px; }
    .fsheet .filters > h2 { display: none; }
    .fsheet .filters > button[type="submit"] { position: fixed; left: 16px; right: 16px; bottom: 14px; width: auto; z-index: 3; min-height: 48px; box-shadow: 0 8px 20px rgba(15, 23, 42, .25); }
    .fsheet .ad { display: none; }

    /* pod listą: podkategorie i skróty */
    .cat-bottom { display: block; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
    .cat-bottom .vsub { margin: 4px 0 8px; font-size: 16px; }
    .cat-bottom .chips { margin-bottom: 12px; }
}
@media (max-width: 380px) {
    /* bardzo wąski telefon: liczba ogłoszeń nad przyciskami, sortowanie się nie ucina */
    .cat-page .toolbar { flex-wrap: wrap; }
    .cat-page .toolbar > span { flex-basis: 100%; }
    .cat-page .toolbar > form:not(.save-search) { flex: 1 1 0; min-width: 0; }
    .cat-page .toolbar .select { width: 100%; }
}

/* ---------- karta ogłoszenia na liście – telefon: większe zdjęcie, czytelny tytuł i cena, ramka ---------- */
@media (max-width: 640px) {
    .row-card { gap: 10px; padding: 8px; border-radius: 12px; }
    .row-card__img { flex: 0 0 42%; border-radius: 9px; align-self: flex-start; }
    .row-card__body { gap: 2px; padding-right: 26px; }
    .row-card__title { font-size: 14.5px; line-height: 1.3; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .row-card .specs { font-size: 12px; }
    .row-card .specs span:not(:last-child)::after { margin: 0 4px; }
    .row-card .badges { display: none; }
    .row-card .muted.small { font-size: 11.5px; line-height: 1.35; }
    .row-card__price { font-size: 17px; margin-top: 4px; }
    .row-card__side { position: absolute; top: 4px; right: 4px; }
    .row-card .ribbon { top: auto; bottom: 6px; left: 6px; transform: none; width: auto; padding: 2px 8px; border-radius: 6px; font-size: 9.5px; }
}

/* ---------- kategorie na głównej, telefon: 2 rzędy przewijane w bok, ikona nad nazwą ---------- */
@media (max-width: 640px) {
    .cat-mini { grid-template-columns: none; grid-auto-flow: column; grid-template-rows: repeat(2, auto); grid-auto-columns: 22.5%; gap: 12px 4px; overflow-x: auto; scroll-snap-type: x proximity; padding: 2px 2px 10px; margin: 0 -2px 10px; scrollbar-width: thin; scrollbar-color: #CBD5E1 transparent; }
    .cat-mini::-webkit-scrollbar { height: 4px; }
    .cat-mini::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 4px; }
    .cat-mini a { scroll-snap-align: start; flex-direction: column; justify-content: flex-start; gap: 5px; min-height: 0; padding: 0 2px; border: 0; background: transparent; text-align: center; font-size: 11.5px; line-height: 1.2; letter-spacing: 0; }
    .cat-mini img { width: 56px; height: 56px; padding: 11px; border-radius: 50%; background: #F1F5F9; }
    .cat-mini span { -webkit-line-clamp: 2; }
}

/* pasek „podgląd konta klienta” (admin zalogowany jako użytkownik) */
.imp-bar { background: #7C2D12; color: #fff; font-size: 13.5px; position: sticky; top: 0; z-index: 60; }
.imp-bar .wrap { display: flex; align-items: center; justify-content: space-between; gap: 8px 16px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; }
.imp-bar button { background: #fff; color: #7C2D12; border: 0; border-radius: 6px; padding: 5px 12px; font-weight: 700; cursor: pointer; }

/* odznaka „Zweryfikowany” przy sprzedającym */
.verified { display: inline-flex; align-items: center; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: #D1FAE5; color: #047857; font-size: 12px; font-weight: 700; vertical-align: 1px; white-space: nowrap; }

/* „Sprzedałeś?” – przy usuwaniu i przy wygasłych ogłoszeniach */
.acc-end { position: relative; }
.acc-end > summary { list-style: none; }
.acc-end > summary::-webkit-details-marker { display: none; }
.acc-end__menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 30; display: grid; gap: 6px; width: 250px; padding: 12px; background: #fff; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 10px 30px rgba(15, 23, 42, .15); font-size: 13.5px; }
.acc-end__menu button { text-align: left; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: #F8FAFC; cursor: pointer; font: inherit; }
.acc-end__menu button:hover { border-color: #F59E0B; background: #FFFBEB; }
.acc-outcome { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 6px; font-size: 13px; }
.acc-outcome span { font-weight: 700; }
.acc-outcome .chip { cursor: pointer; font: inherit; font-size: 12.5px; }

/* zapisane wyszukiwania */
.save-search { margin-left: auto; }
.save-search__short { display: none; }
@media (max-width: 640px) { .save-search__long { display: none; } .save-search__short { display: inline; } }
.toolbar .save-search + form { margin-left: 8px; }
.saved-list { display: grid; gap: 10px; }
.saved { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); }
.saved--new { border-color: #34D399; box-shadow: 0 0 0 3px rgba(52, 211, 153, .15); }
.saved__body { flex: 1; min-width: 0; }
.saved__title { font-weight: 700; color: var(--ink); }
.saved__badge { padding: 3px 10px; border-radius: 999px; background: #10B981; color: #fff; font-weight: 700; font-size: 13px; white-space: nowrap; }
.saved__actions { display: flex; gap: 6px; }
@media (max-width: 640px) { .saved { flex-wrap: wrap; } .saved__actions { width: 100%; justify-content: flex-end; } }

/* autozapis formularza ogłoszenia */
.draft-box { flex-direction: column; gap: 10px; border-left-color: #F59E0B; background: #FFFBEB; border-color: #FDE68A; }
.draft-box strong { color: #92400E; }
.draft-box__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.infobox--ok { border-left-color: #16A34A; background: #F0FDF4; border-color: #BBF7D0; }

/* ── Obniżki cen: znaczek, przekreślona cena, historia ───────────────────── */
.pill-drop { position: absolute; bottom: 8px; left: 8px; z-index: 1; background: #047857; color: #fff; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 6px; letter-spacing: .01em; box-shadow: 0 1px 2px rgba(0, 0, 0, .18); }
.pill-drop--inline { position: static; display: inline-block; vertical-align: 2px; margin-left: 4px; font-size: 10.5px; padding: 1px 6px; box-shadow: none; }
.price-was { color: #6B7280; font-weight: 500; font-size: .78em; margin-left: 4px; text-decoration-thickness: 1.5px; }
.card__price .price-was { display: inline-block; }
.price-box--drop { border-color: #A7F3D0; background: #ECFDF5; }
.price-box__was { font: 600 15px/1.2 var(--font); color: #6B7280; text-decoration-thickness: 1.5px; }
.price-box__drop { font: 800 12.5px/1 var(--font); color: #fff; background: #047857; padding: 4px 8px; border-radius: 6px; align-self: center; }
.price-history { margin: 0 0 10px; font-size: 13.5px; }
.price-history > summary { cursor: pointer; color: #047857; font-weight: 600; width: fit-content; }
.price-history ol { list-style: none; margin: 8px 0 0; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; display: grid; gap: 4px; max-width: 420px; }
.price-history li { display: grid; grid-template-columns: 84px 1fr auto; gap: 10px; align-items: baseline; }
.price-history time { color: #6B7280; font-variant-numeric: tabular-nums; }
.price-history em { font-style: normal; font-weight: 700; font-size: 12.5px; }
.price-history .is-down { color: #047857; }
.price-history .is-up { color: #B45309; }
.drop-note { margin-top: 4px; padding: 4px 10px; border-radius: 8px; background: #ECFDF5; color: #065F46; font-size: 13px; font-weight: 600; width: fit-content; }
.row-card:has([data-fresh-drop]) { border-color: #6EE7B7; box-shadow: 0 0 0 1px #A7F3D0; }
.status--drop { background: #D1FAE5; color: #047857; }
.topnav__drop { position: absolute; bottom: 2px; right: 2px; width: 16px; height: 16px; border-radius: 50%; background: #047857; color: #fff; font-size: 11px; font-weight: 800; line-height: 16px; text-align: center; box-shadow: 0 0 0 2px #fff; }
.acc-price__menu { width: 280px; }
.acc-price__row { display: flex; align-items: center; gap: 6px; }
.acc-price__row .input { flex: 1; min-width: 0; padding: 7px 10px; }
.acc-price__menu .acc-price__row button { text-align: center; background: var(--accent); color: #fff; border-color: transparent; }
.acc-price__menu .acc-price__row button:hover { background: var(--accent-dark); }
.acc-price__menu .error { font-size: 12.5px; }
@media (max-width: 640px) {
    /* telefon: menu „Obniż cenę” / „Zakończ” jako panel przy dolnej krawędzi ekranu – nigdy poza ekranem */
    .acc-end__menu, .acc-price__menu { position: fixed; left: 12px; right: 12px; top: auto; bottom: 12px; width: auto; max-height: 75vh; overflow-y: auto; z-index: 1001; padding: 16px; box-shadow: 0 -6px 40px rgba(15, 23, 42, .28); font-size: 14px; }
}

/* ── Ostrzeżenia przed oszustwami w wiadomościach ───────────────────────── */
.msg--risky { background: #FFFBEB; margin: 0 -18px; padding: 12px 18px; box-shadow: inset 4px 0 0 #F59E0B; }
.scam-warn { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 10px; padding: 10px 14px; border: 1px solid #FCD34D; border-radius: 10px; background: #FEF3C7; color: #78350F; font-size: 13.5px; }
.scam-warn svg { flex: none; color: #B45309; margin-top: 1px; }
.scam-warn strong { display: block; color: #7C2D12; margin-bottom: 4px; }
.scam-warn ul { margin: 0 0 6px; padding-left: 18px; display: grid; gap: 3px; }
.scam-warn a { color: #92400E; font-weight: 600; }

/* ── Zaproponuj cenę ────────────────────────────────────────────────────── */
.offer-box { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.offer-box > summary { list-style: none; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 10px 14px; cursor: pointer; font-weight: 700; color: #1D4ED8; border-radius: 12px; }
.offer-box > summary::-webkit-details-marker { display: none; }
.offer-box > summary:hover { background: #EFF6FF; }
.offer-box[open] > summary { border-bottom: 1px solid var(--line); border-radius: 12px 12px 0 0; }
.offer-box > form, .offer-box > p, .offer-box__state { padding: 12px 14px; }
.offer-box > p { padding-bottom: 0; }
.offer-box__amount { display: flex; align-items: center; gap: 8px; }
.offer-box__amount .input { font: 700 18px/1.2 var(--font); }
.offer-box__picks { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.offer-box__picks .chip { font-size: 12.5px; padding: 4px 10px; cursor: pointer; }
.offer-box__state { display: grid; gap: 6px; justify-items: start; }
.offer-owner { display: block; text-align: center; padding: 8px 10px; border-radius: 10px; background: #FEF3C7; color: #92400E; font-weight: 700; font-size: 14px; }
.offer-card { margin: 0 0 10px; padding: 10px 14px; border: 1px solid #BFDBFE; border-left: 4px solid #2563EB; border-radius: 10px; background: #EFF6FF; font-size: 14px; }
.offer-card--active { border-color: #BBF7D0; border-left-color: #16A34A; background: #F0FDF4; }
.offer-card--rejected, .offer-card--expired { border-color: var(--line); border-left-color: #9CA3AF; background: #F9FAFB; }
.offer-card__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; }
.offer-card__label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: #1E40AF; }
.offer-card--active .offer-card__label { color: #166534; }
.offer-card__amount { font: 800 18px/1.2 var(--font); }
.offer-card__counter { margin-top: 4px; }
.offer-card__actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; margin-top: 10px; }
.offer-counter { position: relative; }
.offer-counter > summary { list-style: none; }
.offer-counter > summary::-webkit-details-marker { display: none; }
.offer-counter__form { display: flex; align-items: center; gap: 6px; margin-top: 8px; }
.offer-counter__form .input { width: 130px; padding: 6px 10px; }
.meta-print { color: inherit; text-decoration: underline; text-decoration-style: dotted; text-underline-offset: 3px; }


/* ── Strona sprzedającego / profil firmy ────────────────────────────────── */
.grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 720px) { .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.seller-hero { display: flex; align-items: center; gap: 18px; margin-bottom: 16px; }
.seller-hero__logo { width: 88px; height: 88px; flex: none; border-radius: 18px; object-fit: contain; background: #fff; border: 1px solid var(--line); }
.seller-hero__logo--mono { display: flex; align-items: center; justify-content: center; border: 0; color: #fff; font: 800 32px/1 var(--display); letter-spacing: .02em; background: linear-gradient(135deg, hsl(var(--h) 62% 46%), hsl(calc(var(--h) + 35) 64% 38%)); }
.seller-hero__main { min-width: 0; display: grid; gap: 6px; }
.seller-hero h1 { margin: 0; font-size: clamp(22px, 1.2vw + 16px, 30px); line-height: 1.15; }
.seller-hero__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; color: var(--ink-2); font-size: 14px; }
.seller-hero__stats { display: flex; flex-wrap: wrap; gap: 8px; }
.seller-hero__stats span { padding: 4px 12px; border-radius: 999px; background: #F1F5F9; font-size: 13.5px; }
.seller-cats { margin-bottom: 14px; }
.company-box { display: grid; gap: 14px; }
.company-box__head { display: flex; align-items: center; gap: 10px; }
.company-box__badge { flex: none; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: #FFF1EA; color: var(--accent-dark); }
.company-box h2 { margin: 0; font-size: 17px; }
.company-box__about { margin: 0; white-space: pre-line; font-size: 14px; line-height: 1.55; color: var(--ink-2); }
.company-box__facts { list-style: none; margin: 0; padding: 12px 0 0; border-top: 1px solid var(--line); display: grid; gap: 11px; }
.company-box__facts li { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.company-box__facts i { flex: none; width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center; background: #F1F5F9; color: var(--ink-2); }
.company-box__facts li > span { display: flex; flex-direction: column; gap: 1px; min-width: 0; font-size: 14px; font-weight: 600; color: var(--ink); line-height: 1.35; overflow-wrap: anywhere; }
.company-box__facts small { font-size: 11.5px; font-weight: 600; letter-spacing: .03em; color: var(--muted); text-transform: uppercase; }
.company-box__facts a { font-weight: 600; }
.company-box__hours { white-space: pre-line; font-weight: 600; }
.company-box__note { display: flex; gap: 8px; align-items: flex-start; margin: 0; padding: 10px 12px; border-radius: 10px; background: #F8FAFC; font-size: 12.5px; line-height: 1.45; color: var(--muted); }
.company-box__note svg { flex: none; margin-top: 1px; color: var(--blue); }
.seller__link { color: inherit; text-decoration: none; }
.seller__link:hover strong { text-decoration: underline; }
.seller__more { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; color: var(--ink); font-weight: 600; font-size: 14px; text-decoration: none; }
.seller__more-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seller__more-count { flex: none; min-width: 22px; padding: 1px 7px; border-radius: 999px; background: #F1F5F9; color: var(--ink-2); font-size: 12.5px; text-align: center; }
.seller__more svg { flex: none; }
/* wąska kolumna (tablet): „Ogłoszenia 48 ›” zamiast ucinania napisu */
.seller { container-type: inline-size; }
.seller__more-short { display: none; }
@container (max-width: 260px) { .seller__more-long { display: none; } .seller__more-short { display: inline; } }
.seller__more:hover { border-color: var(--accent); color: var(--accent-dark); }
/* strona ogłoszenia: podobne pod opisem na komputerze, na dole strony na telefonie */
.lsimilar--main { display: none; }
.lsimilar--main .section__head { margin-bottom: 10px; }
.lsimilar--main h2 { font-size: 19px; margin: 4px 0 0; }
@media (min-width: 761px) {
    .lsimilar--main { display: block; }
    .lsimilar--bottom { display: none; }
}
.avatar--logo { object-fit: contain; background: #fff; border: 1px solid var(--line); }
.avatar--mono { color: #fff; background: linear-gradient(135deg, hsl(var(--h) 62% 46%), hsl(calc(var(--h) + 35) 64% 38%)); font-size: 16px; border-radius: 12px; }
.company-form__logo { display: flex; align-items: center; gap: 14px; }
.company-form__logo img, .company-form__logo .seller-hero__logo { width: 64px; height: 64px; border-radius: 14px; font-size: 22px; }
@media (max-width: 640px) {
    .seller-hero { align-items: flex-start; gap: 12px; }
    .seller-hero__logo { width: 64px; height: 64px; border-radius: 14px; font-size: 22px; }
}
/* menu „Usuń” / „Obniż cenę” na liście Moich ogłoszeń – formularz w kolumnie, nie w rzędzie */
.acc-card__actions form.acc-end__menu { display: grid; }
.acc-card__actions .acc-price__row .btn { width: auto; flex: none; padding: 0 12px; }

/* ── Filtr oszustw 2.0: czerwone ostrzeżenie, zgłaszanie, blokada wysłania kodu ── */
.msg--danger { background: #FEF2F2; margin: 0 -18px; padding: 12px 18px; box-shadow: inset 4px 0 0 #DC2626; }
.scam-warn--danger { border-color: #FCA5A5; background: #FEE2E2; color: #7F1D1D; }
.scam-warn--danger svg { color: #DC2626; }
.scam-warn--danger strong { color: #991B1B; }
.scam-warn--danger a { color: #991B1B; }
.msg__actions { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px 18px; }
.msg__actions > details { flex: 1 1 260px; }
.msg__actions form { margin: 0; }
.link-btn--danger { color: #B91C1C; font-weight: 600; }
.guard-block { padding: 10px 12px; border: 1px solid #FCA5A5; border-left: 4px solid #DC2626; border-radius: 8px; background: #FEF2F2; color: #7F1D1D; font-size: 13.5px; font-weight: 600; }
.listing-alert { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 14px; padding: 14px 16px; border: 1px solid #FCA5A5; border-left: 6px solid #DC2626; border-radius: 12px; background: #FEF2F2; color: #7F1D1D; }
.listing-alert svg { flex: none; color: #DC2626; margin-top: 2px; }
.listing-alert strong { display: block; font-size: 16px; color: #991B1B; margin-bottom: 4px; }
.listing-alert ul { margin: 4px 0 6px; padding-left: 18px; display: grid; gap: 3px; font-size: 14px; }
.listing-alert p { margin: 0; font-size: 14px; }
.listing-alert--sidebar { margin: 0; padding: 10px 12px; font-size: 13.5px; }
.listing-alert--sidebar strong { font-size: 14px; }

/* ── Galeria na pełny ekran (dotknij zdjęcia): dwa palce – przybliż, przesuń – następne, w dół – zamknij ── */
.gallery__main--zoomable { cursor: zoom-in; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.gallery__main--zoomable img { -webkit-user-drag: none; }
.gallery__main--zoomable::after { content: ""; position: absolute; left: 10px; bottom: 10px; width: 34px; height: 34px; border-radius: 50%; background: rgba(15, 23, 42, .62) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21M10.5 7.5v6M7.5 10.5h6'/%3E%3C/svg%3E") center / 18px no-repeat; pointer-events: none; }
html.lb-open, html.lb-open body { overflow: hidden; }
.lb { position: fixed; inset: 0; z-index: 2000; background: rgba(0, 0, 0, calc(.95 * var(--lb-fade, 1))); touch-action: none; user-select: none; -webkit-user-select: none; }
.lb[hidden] { display: none; }
.lb__stage { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; overflow: hidden; touch-action: none; }
.lb__img { max-width: 100%; max-height: 100%; object-fit: contain; transform-origin: center center; transition: transform .22s ease; will-change: transform; -webkit-user-drag: none; }
.lb__img.is-moving { transition: none; }
.lb__bar { position: absolute; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; padding: max(10px, env(safe-area-inset-top)) 12px 10px; background: linear-gradient(rgba(0, 0, 0, .55), transparent); pointer-events: none; }
.lb__count { color: #fff; font: 600 14px/1 var(--font); padding-left: 4px; }
.lb__btn { pointer-events: auto; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .16); color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.lb__btn:hover, .lb__btn:focus-visible { background: rgba(255, 255, 255, .3); outline: none; }
.lb__nav { position: absolute; top: 50%; transform: translateY(-50%); font-size: 34px; padding-bottom: 4px; }
.lb__nav--prev { left: 12px; }
.lb__nav--next { right: 12px; }
.lb--single .lb__nav { display: none; }
.lb__hint { position: absolute; left: 50%; bottom: max(18px, env(safe-area-inset-bottom)); transform: translateX(-50%); padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .14); color: rgba(255, 255, 255, .85); font-size: 12.5px; white-space: nowrap; pointer-events: none; animation: lb-hint 4s ease forwards; }
@keyframes lb-hint { 0%, 70% { opacity: 1; } 100% { opacity: 0; } }
@media (hover: hover) and (pointer: fine) { .lb__hint { display: none; } }
@media (max-width: 640px) { .lb__nav { display: none; } }

/* forma sprzedaży pojazdu przy cenie (umowa / faktura VAT) */
.sale-form { display: flex; align-items: flex-start; gap: 10px; margin-top: 10px; padding: 10px 12px; border: 1px solid #FED7AA; border-radius: 10px; background: #FFFBF5; color: #7C2D12; max-width: 560px; }
.sale-form svg { flex: none; margin-top: 1px; }
.sale-form b { display: block; font-size: 15px; color: var(--ink); }
.sale-form small { display: block; font-size: 12.5px; color: var(--ink-2); line-height: 1.35; margin-top: 1px; }
.sale-form--invoice { border-color: #BFDBFE; background: #EFF6FF; color: #1D4ED8; }
.vat-tag { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 5px; background: #EFF6FF; border: 1px solid #BFDBFE; color: #1D4ED8; font-size: 11px; font-weight: 700; vertical-align: 2px; white-space: nowrap; }

/* ---------- marka: znak, napis i hasła kampanii (App\Support\Brand, partials/brand/*) ---------- */
.wm { letter-spacing: -.035em; white-space: nowrap; color: var(--ink); }
.wm b { color: var(--accent); font-weight: 800; }
.wm__i { position: relative; display: inline-block; }
.wm__i i { position: absolute; left: 50%; top: .17em; width: .17em; height: .17em; background: var(--accent); border-radius: .03em; transform: translateX(-50%) rotate(45deg); }
.wm { display: inline-flex; align-items: center; }
.wm__tagwrap { display: inline-block; margin-left: .14em; transform: rotate(-9deg) translateY(-.3em); filter: drop-shadow(0 .05em .06em rgba(20, 33, 61, .25)); }
.wm__tag { position: relative; display: inline-flex; align-items: center; height: 1.95em; padding: 0 .6em 0 1.25em; background: var(--accent); color: #fff; font: 800 .42em/1 var(--display); letter-spacing: .08em; border-radius: .35em; clip-path: polygon(.85em 0, 100% 0, 100% 100%, .85em 100%, 0 50%); }
.wm__tag::before { content: ""; position: absolute; left: .78em; top: 50%; width: .36em; height: .36em; border-radius: 50%; background: #fff; transform: translate(-50%, -50%); }
.wm__dot { display: inline-grid; place-items: center; width: 2em; height: 2em; margin-left: .3em; border-radius: 50%; background: var(--accent); color: #fff; font: 800 .4em/1 var(--display); letter-spacing: .04em; transform: rotate(-12deg) translateY(-.75em); box-shadow: 0 .12em .3em rgba(228, 87, 46, .35); }
.tagline { display: inline-grid; align-items: center; min-width: 0; margin-left: 12px; padding-left: 16px; border-left: 2px solid var(--line); color: var(--ink); font: 800 clamp(15px, .45vw + 11px, 19px)/1.15 var(--display); letter-spacing: -.015em; white-space: nowrap; }
/* hasła zmieniają się same (site.js: [data-rotator]) – wszystkie w jednej komórce, widoczne tylko aktywne */
.tagline__item { grid-area: 1 / 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; opacity: 0; transform: translateY(.45em); transition: opacity .45s ease, transform .45s ease; }
.tagline__item.is-active { opacity: 1; transform: none; }
.tagline__item.is-leaving { opacity: 0; transform: translateY(-.45em); }
@media (prefers-reduced-motion: reduce) { .tagline__item { transition: none; } }
/* logo „Dymek z metką” – większe i wyraźniejsze */
.topbar .logo { font-size: clamp(24px, 1vw + 18px, 32px); gap: 11px; }
.footer .logo { font-size: 27px; }
.tagline em { font-style: normal; color: var(--accent); }
@media (max-width: 1100px) and (min-width: 761px) { .tagline { font-size: 15px; padding-left: 12px; margin-left: 6px; } }
.footer__brand { display: grid; gap: 6px; }
.footer__slogan { margin: 0; color: var(--muted); font-weight: 600; font-size: 14px; }

.brand-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 11px 18px; border-radius: 11px; background: var(--accent); color: #fff; font-weight: 700; white-space: nowrap; box-shadow: 0 6px 16px -8px rgba(228, 87, 46, .7); }
.brand-btn:hover { color: #fff; background: var(--accent-dark); }
.brand-btn--light { background: #fff; color: var(--accent-dark); box-shadow: none; }
.brand-btn--light:hover { background: #FFF1EA; color: var(--accent-dark); }
.brand-btn--block { display: flex; width: 100%; }
.brand-eyebrow { display: inline-block; font: 800 11px/1 var(--font); letter-spacing: .12em; text-transform: uppercase; color: var(--accent); }
.brand-band em, .brand-strip em, .brand-empty em, .brand-prefoot em, .brand-h1 em, .banner__title em, .banner__sticker em { font-style: normal; }

/* pas nad stopką */
.brand-prefoot { background: linear-gradient(100deg, var(--accent), var(--accent-dark)); color: #fff; margin-top: 28px; }
.brand-prefoot__in { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 24px; padding-bottom: 24px; }
.brand-prefoot__t { margin: 0; font: 800 clamp(22px, 1.4vw + 14px, 30px)/1.12 var(--display); letter-spacing: -.02em; text-wrap: balance; }
.brand-prefoot__t em { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; text-decoration-color: rgba(255, 255, 255, .55); }
.brand-prefoot__s { margin: 6px 0 0; color: #FFE7DC; font-size: 15px; }

/* pasek „Wystawisz w minutę” na głównej */
.brand-band { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 2fr) auto; align-items: center; gap: 24px; margin: 16px 0; padding: 22px 26px; border-radius: 16px; background: linear-gradient(120deg, #FFF4EE 0%, #fff 62%); border: 1px solid #FBD5C5; }
.brand-band h2 { margin: 6px 0 4px; font-size: clamp(21px, 1vw + 15px, 26px); letter-spacing: -.02em; text-wrap: balance; }
.brand-band h2 em { color: var(--accent); }
.brand-band p { margin: 0; color: var(--muted); font-size: 14px; }
.brand-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.brand-steps li { display: grid; grid-template-columns: 32px 1fr; column-gap: 10px; align-items: center; background: #fff; border: 1px solid #F1E4DD; border-radius: 12px; padding: 10px 12px; }
.brand-steps span { grid-row: span 2; width: 32px; height: 32px; border-radius: 50%; background: #16213F; color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 14px; }
.brand-steps b { font-size: 14px; line-height: 1.25; }
.brand-steps small { color: var(--muted); font-size: 12.5px; line-height: 1.3; }

/* wąski pasek między działami */
.brand-strip { display: flex; align-items: center; gap: 16px; margin: 16px 0; padding: 14px 18px; border-radius: 14px; background: #16213F; color: #fff; }
.brand-strip__mark { flex: none; }
.brand-strip__txt { display: grid; gap: 2px; min-width: 0; flex: 1; }
.brand-strip__txt strong { font: 800 clamp(17px, .6vw + 13px, 20px)/1.2 var(--display); letter-spacing: -.01em; }
.brand-strip__txt strong em { color: #FDA584; }
.brand-strip__txt span { color: #C9D2E3; font-size: 13.5px; }

/* kafel między ogłoszeniami */

/* karta na stronie ogłoszenia */

/* brak wyników */
.brand-empty { margin: 8px 0 24px; padding: 34px 22px; text-align: center; border: 2px dashed #F3C3B0; border-radius: 16px; background: #FFFAF7; display: grid; justify-items: center; gap: 6px; }
.brand-empty__ico { width: 60px; height: 60px; border-radius: 50%; background: #FDE7DD; color: var(--accent); display: grid; place-items: center; margin-bottom: 6px; }
.brand-empty h2 { font-size: clamp(21px, 1vw + 15px, 26px); text-wrap: balance; }
.brand-empty p { margin: 0; color: var(--ink-2); font-size: 16px; }
.brand-empty p em { color: var(--accent); font-weight: 700; }
.brand-empty .brand-empty__hint { color: var(--muted); font-size: 13.5px; margin-bottom: 10px; }

/* formularz i podziękowanie */
.brand-h1 em { color: var(--accent); }
.brand-pill { display: inline-block; margin: 0 0 12px; padding: 5px 12px; border-radius: 999px; background: #ECFDF5; color: #047857; font-weight: 700; font-size: 13.5px; }
.brand-thanks { margin: 0 0 10px; font: 700 17px/1.3 var(--display); color: var(--accent); }

/* slider: wyróżnienie w tytule i naklejka */
.banner__title em { color: #FDA584; }
.banner__sticker { position: absolute; top: 16px; right: 20px; z-index: 3; transform: rotate(4deg); background: var(--accent); color: #fff; font: 700 13px/1.25 var(--font); padding: 8px 13px; border-radius: 12px; box-shadow: 0 10px 22px -8px rgba(0, 0, 0, .5); text-align: center; max-width: 190px; }
.banner__sticker em { font: 800 15px/1.2 var(--display); }

@media (max-width: 760px) {
    /* hasło marki widoczne też na telefonie – drugi rząd pod logo */
    .topbar__inner { flex-wrap: wrap; row-gap: 0; }
    .topbar__inner > .logo { order: 1; }
    .topbar__inner > .topnav { order: 2; }
    .topbar__inner > .tagline { display: grid !important; order: 3; flex-basis: 100%; margin: -6px 0 0; padding: 0 0 9px; border: 0; font-size: clamp(14px, 4vw, 15px); white-space: normal; }
    .topbar__inner > .tagline .tagline__item { overflow: visible; text-wrap: balance; }
    .topbar .logo { font-size: 23px; }
    .topbar .logo .logo__mark { width: 36px; height: 36px; }
    .brand-band { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 16px; }
    .brand-steps { gap: 6px; }
    .brand-steps li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 10px 6px; }
    .brand-steps span { width: 28px; height: 28px; font-size: 13px; }
    .brand-steps b { font-size: 12.5px; }
    .brand-steps small { display: none; }
    .brand-band .brand-btn { width: 100%; }
    .brand-strip { flex-wrap: wrap; padding: 12px 14px; gap: 10px 12px; }
    .brand-strip .brand-btn { width: 100%; }
    .brand-prefoot__in { flex-direction: column; align-items: stretch; }
    .brand-prefoot .brand-btn { width: 100%; }
    .banner__sticker { top: 10px; right: 10px; font-size: 11px; padding: 6px 10px; max-width: 150px; }
    .banner__sticker em { font-size: 12.5px; }
}

/* dokumenty prawne (regulamin, polityki) – drobniejszy, gęstszy druk */
.doc--legal .prose { font-size: 13.5px; line-height: 1.6; color: var(--ink-2); }
.doc--legal .prose h2 { font-size: 17px; margin: 20px 0 8px; color: var(--ink); }
.doc--legal .prose h3 { font-size: 15px; }
.doc--legal .prose table { font-size: 12.5px; }
.doc--legal .prose .lead { font-size: 14.5px; }

/* elementy marki między ogłoszeniami – jasna wersja (umowa, przeniesienie ogłoszeń) */

/* formalności przy ogłoszeniu pojazdu */
.brand-docs { display: grid; gap: 8px; margin-top: 14px; padding: 16px; border-radius: var(--radius); background: linear-gradient(150deg, #F1F6FF, #fff 70%); border: 1px solid #D6E4FA; }
.brand-docs h3 { font-size: 17px; }
.brand-docs__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.brand-docs__list a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; background: #fff; border: 1px solid var(--line); color: var(--ink); }
.brand-docs__list a:hover { border-color: #9EC3F5; color: var(--ink); }
.brand-docs__list svg { flex: none; color: var(--blue); }
.brand-docs__list span { display: grid; line-height: 1.25; }
.brand-docs__list b { font-size: 14px; }
.brand-docs__list small { color: var(--muted); font-size: 12.5px; }
.brand-docs__note { margin: 2px 0 0; font-size: 13.5px; color: var(--ink-2); }
.brand-docs__note strong { color: var(--accent); }

@media (max-width: 760px) {
}

/* umowa kupna-sprzedaży: lista „w skrócie” i blok pobierania */
.contract-check { list-style: none; padding-left: 0 !important; display: grid; gap: 6px; }
.contract-check li { position: relative; padding: 10px 12px 10px 40px; border-radius: 10px; background: #F0FDF4; border: 1px solid #BBF7D0; margin: 0 !important; }
.contract-check li::before { content: ""; position: absolute; left: 13px; top: 13px; width: 16px; height: 16px; border-radius: 50%; background: #16A34A url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat; }
.contract-dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 26px; align-items: center; max-width: 820px; margin: 24px 0; padding: 22px; border-radius: 18px; background: linear-gradient(130deg, #FFF4EE, #fff 65%); border: 1px solid #FBD5C5; }
.contract-dl__pages { display: flex; gap: 0; }
.contract-dl__pages img { width: 128px; height: auto; border-radius: 6px; border: 1px solid var(--line); box-shadow: 0 10px 24px -12px rgba(20, 33, 61, .45); background: #fff; }
.contract-dl__pages img + img { margin-left: -44px; margin-top: 26px; transform: rotate(5deg); }
.contract-dl__pages img:first-child { transform: rotate(-3deg); position: relative; z-index: 1; }
.contract-dl__txt { display: grid; gap: 8px; justify-items: start; }
.contract-dl .contract-dl__title { margin: 0; font-size: clamp(20px, 1vw + 14px, 24px); line-height: 1.25; text-wrap: balance; }
.contract-dl .contract-dl__pages img { margin-top: 0; max-width: none; }
.contract-dl .contract-dl__pages img + img { margin-top: 26px; }
.contract-dl .contract-dl__btn, .contract-dl .contract-dl__btn:hover { color: #fff; text-decoration: none; }
.contract-dl__txt ul { margin: 0; padding-left: 18px; color: var(--ink-2); font-size: 14.5px; }
.contract-dl__btn { padding: 14px 22px; font-size: 16px; }
.contract-dl__meta { margin: 0; color: var(--muted); font-size: 13px; }
@media (max-width: 640px) {
    .contract-dl { grid-template-columns: minmax(0, 1fr); padding: 16px; }
    .contract-dl__pages { justify-content: center; }
    .contract-dl__pages img { width: 110px; }
    .contract-dl__btn { width: 100%; justify-content: center; }
}

/* ---------- banery marki (między ogłoszeniami, z boku, w artykułach) – losowane, kolor z motywu ---------- */
.bx, .bx-side {
    --p-bg: #FFF4EE; --p-bg2: #fff; --p-line: #FBD5C5; --p-ink: var(--ink); --p-sub: var(--muted);
    --p-acc: var(--accent); --p-art: #FFE6DB; --p-btn: var(--accent); --p-btn-hover: var(--accent-dark); --p-deco: .07;
    position: relative; overflow: hidden; isolation: isolate; color: var(--p-ink);
    background: linear-gradient(120deg, var(--p-bg) 0%, var(--p-bg2) 78%); border: 1px solid var(--p-line); border-radius: 14px;
    transition: box-shadow .2s, transform .2s;
}
.bx:hover, .bx-side:hover { box-shadow: 0 10px 26px -14px rgba(15, 23, 42, .45); transform: translateY(-1px); }
.bx--mint { --p-bg: #ECFDF5; --p-line: #BBF7D0; --p-acc: #15803D; --p-art: #D1FAE5; --p-btn: #16A34A; --p-btn-hover: #15803D; }
.bx--sky { --p-bg: #EFF6FF; --p-line: #BFDBFE; --p-acc: #1D4ED8; --p-art: #DBEAFE; --p-btn: #2563EB; --p-btn-hover: #1D4ED8; }
.bx--lilac { --p-bg: #F5F3FF; --p-line: #DDD6FE; --p-acc: #6D28D9; --p-art: #EDE9FE; --p-btn: #7C3AED; --p-btn-hover: #6D28D9; }
.bx--sand { --p-bg: #FFFBEB; --p-line: #FDE68A; --p-acc: #B45309; --p-art: #FEF3C7; --p-btn: #B45309; --p-btn-hover: #92400E; }
.bx--rose { --p-bg: #FFF1F2; --p-line: #FECDD3; --p-acc: #BE123C; --p-art: #FFE4E6; --p-btn: #E11D48; --p-btn-hover: #BE123C; }
.bx--dark { --p-ink: #fff; --p-sub: #CBD5E1; --p-line: transparent; --p-art: rgba(255, 255, 255, .1); --p-deco: .1; }
.bx--navy { --p-bg: #16213F; --p-bg2: #24365F; --p-acc: #FDA584; }
.bx--forest { --p-bg: #0E2F22; --p-bg2: #17573A; --p-acc: #86EFAC; --p-btn: #16A34A; --p-btn-hover: #15803D; }
.bx--plum { --p-bg: #261340; --p-bg2: #4A2380; --p-acc: #D8B4FE; --p-btn: #9333EA; --p-btn-hover: #7E22CE; }
.bx--ocean { --p-bg: #072F3A; --p-bg2: #0E5563; --p-acc: #5EEAD4; --p-btn: #0D9488; --p-btn-hover: #0F766E; }
.bx--graphite { --p-bg: #1C2128; --p-bg2: #343B46; --p-acc: #FDA584; }
.bx--wine { --p-bg: #3A0B18; --p-bg2: #6E1534; --p-acc: #FDA4AF; --p-btn: #E11D48; --p-btn-hover: #BE123C; }

.bx__deco { position: absolute; right: -18px; bottom: -34px; z-index: -1; color: var(--p-acc); opacity: var(--p-deco); transform: rotate(-12deg); pointer-events: none; }
.bx__art { display: grid; place-items: center; flex: none; border-radius: 14px; background: var(--p-art); color: var(--p-acc); }
.bx__eyebrow { display: block; font: 800 10.5px/1.1 var(--font); letter-spacing: .12em; text-transform: uppercase; color: var(--p-acc); }
.bx__title { display: block; font: 800 clamp(17px, .6vw + 13px, 20px)/1.22 var(--display); letter-spacing: -.01em; color: var(--p-ink); text-wrap: balance; }
.bx__title em { font-style: normal; color: var(--p-acc); }
.bx__sub { color: var(--p-sub); font-size: 14px; line-height: 1.45; }
.bx__btn { display: inline-flex; align-items: center; justify-content: center; padding: 10px 16px; border-radius: 10px; background: var(--p-btn); color: #fff; font-weight: 700; font-size: 14.5px; white-space: nowrap; box-shadow: 0 6px 14px -8px rgba(0, 0, 0, .45); }
.bx__btn:hover { color: #fff; background: var(--p-btn-hover); }
.bx__btn::after { content: ""; position: absolute; inset: 0; } /* cały baner klikalny */
.bx__link { position: relative; z-index: 1; font-size: 13.5px; font-weight: 600; color: var(--p-acc); }
.bx__link:hover { color: var(--p-acc); text-decoration: underline; }

/* między ogłoszeniami: duży (kafel) i smukły (pasek) */
.bx--card { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; align-items: center; gap: 16px; padding: 16px 18px 16px 16px; }
.bx--card .bx__art { width: 72px; height: 72px; }
.bx--card .bx__txt { display: grid; gap: 4px; }
.bx--card .bx__acts { display: grid; gap: 6px; justify-items: center; }
.bx--slim { display: flex; align-items: center; gap: 12px; padding: 10px 12px; }
.bx--slim .bx__art { width: 42px; height: 42px; border-radius: 11px; }
.bx--slim .bx__txt { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.bx--slim .bx__title { font-size: 16px; }
.bx--slim .bx__btn { padding: 8px 14px; font-size: 14px; }
.bx--slim .bx__deco { bottom: -50px; }
.prose .bx { margin: 22px 0; }
.prose .bx .bx__title, .prose .bx-side .bx__title { margin: 0; }
.prose .bx a, .prose .bx a:hover { text-decoration: none; }

/* z boku: pod filtrami (przykleja się przy przewijaniu) i przy ogłoszeniu */
.bx-side { display: grid; gap: 7px; justify-items: start; margin-top: 14px; padding: 16px; }
.bx-side .bx__art { width: 50px; height: 50px; margin-bottom: 4px; }
.bx-side .bx__title { font-size: 17px; }
.bx-side .bx__sub { margin: 0 0 4px; font-size: 13.5px; }
.bx-side .bx__btn { width: 100%; }
.bx-side .bx__link { justify-self: center; }
.bx-stick { position: sticky; top: 16px; }
@media (min-width: 761px) {
    .layout__side.fsheet { align-self: stretch; } /* boczny baner może jechać razem z listą */
}
@media (max-width: 760px) {
    .fsheet .bx-stick { display: none; }
    .bx--card { grid-template-columns: 52px minmax(0, 1fr); gap: 12px; padding: 14px 12px; }
    .bx--card .bx__art { width: 52px; height: 52px; border-radius: 12px; }
    .bx--card .bx__art svg { width: 26px; height: 26px; }
    .bx--card .bx__sub { font-size: 13px; }
    .bx--card .bx__acts { grid-column: 1 / -1; justify-items: stretch; text-align: center; }
    .bx--slim .bx__title { font-size: 14.5px; }
    .bx--slim .bx__eyebrow { display: none; }
    .bx--slim .bx__btn { padding: 8px 11px; font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
    .bx, .bx-side { transition: none; }
    .bx:hover, .bx-side:hover { transform: none; }
}

/* bardzo wąskie telefony (do 380 px): logo i ikonki w jednym rzędzie */
@media (max-width: 380px) {
    .topbar .logo { font-size: 20px; gap: 6px; }
    .topbar .logo .logo__mark { width: 32px; height: 32px; }
    .topbar__inner { gap: 6px; }
}

/* logowanie: „Zapamiętaj mnie” i „Nie pamiętasz hasła?” w jednym rzędzie */
.auth__row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; }
.mail-prefs, .reg-consents { display: grid; gap: 8px; margin: 6px 0 0; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; }
.mail-prefs legend, .reg-consents legend { padding: 0 6px; font-weight: 700; font-size: 14px; }

/* ---------- „Wystawimy za Ciebie” (strona, konto, wycofanie zgody) ---------- */
.svc-hero { background: radial-gradient(120% 140% at 100% 0%, #FFE4D6 0%, rgba(255, 228, 214, 0) 55%), linear-gradient(135deg, #FFF7ED 0%, #F0F9FF 100%); border-bottom: 1px solid var(--line); padding: 18px 0 26px; }
.svc-hero h1 { font-size: clamp(26px, 2.4vw + 16px, 40px); margin: 4px 0 8px; }
.svc-hero__eyebrow { margin: 6px 0 0; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--accent-dark); }
.svc-hero__lead { max-width: 720px; margin: 0; font-size: 17px; line-height: 1.55; color: var(--ink-2); }
.svc-hero__chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; padding: 0; }
.svc-hero__chips li { background: #fff; border: 1px solid #F3D9CC; border-radius: 999px; padding: 6px 14px; font-size: 14px; color: var(--muted); box-shadow: 0 1px 2px rgba(16, 24, 40, .04); }
.svc-hero__chips strong { color: var(--ink); margin-right: 4px; }
.svc-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.svc-form { border-top: 3px solid var(--accent); scroll-margin-top: 16px; }
.svc-form h2 { font-size: 20px; }
.svc-consent { background: #F8FAFC; border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; line-height: 1.45; }
.svc-consent span { min-width: 0; }
.svc-form__send { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.svc-done h2 { color: #065F46; margin-bottom: 8px; }
.svc-done p { margin: 0 0 10px; }
.svc-side { display: flex; flex-direction: column; gap: 14px; }
.svc-side .panel + .panel { margin-top: 0; }
.svc-steps { list-style: none; counter-reset: svc; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.svc-steps li { counter-increment: svc; position: relative; padding-left: 42px; display: flex; flex-direction: column; gap: 2px; font-size: 14px; color: var(--muted); }
.svc-steps li::before { content: counter(svc); position: absolute; left: 0; top: 0; width: 30px; height: 30px; border-radius: 50%; background: #FFF1EA; color: var(--accent-dark); font-weight: 800; display: grid; place-items: center; font-family: var(--display); }
.svc-steps strong { color: var(--ink); font-size: 15px; }
.svc-note { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; font-size: 14px; }
.svc-note span { color: var(--muted); }
.svc-privacy { margin: 0; font-size: 12.5px; color: var(--muted); line-height: 1.45; }
.svc-doc { max-width: 1000px; }
.svc-doc > .svc-rodo:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.svc-rodo__item ol { margin: 0; padding-left: 18px; font-size: 13.5px; color: var(--ink-2); line-height: 1.5; }
.svc-rodo__item li { margin: 0 0 4px; }
.svc-rodo { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); }
.svc-rodo h2 { margin-bottom: 12px; }
.svc-rodo__grid { columns: 3 300px; column-gap: 28px; }
.svc-rodo__item { break-inside: avoid; margin-bottom: 14px; }
.svc-rodo__item h3 { font-size: 14.5px; margin: 0 0 4px; }
.svc-rodo__item p { margin: 0 0 6px; font-size: 13.5px; color: var(--ink-2); line-height: 1.5; }
.svc-withdraw { max-width: 640px; margin: 0 auto; }
.svc-withdraw h1 { margin-bottom: 10px; }
.svc-withdraw form { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.svc-order__step { display: flex; align-items: center; gap: 10px; margin: 6px 0 0 !important; font-size: 16px; }
.svc-order__step span { width: 26px; height: 26px; border-radius: 50%; background: var(--accent); color: #fff; font-size: 13px; display: grid; place-items: center; flex: none; }
.svc-terms { border: 1px solid var(--line); border-radius: 8px; background: #fff; padding: 10px 14px; font-size: 13.5px; }
.svc-terms summary { cursor: pointer; font-weight: 600; color: var(--blue-dark); }
.svc-terms h4 { margin: 12px 0 4px; font-size: 14px; }
.svc-terms ol { margin: 0; padding-left: 20px; }
.svc-terms p, .svc-terms li { margin: 0 0 4px; color: var(--ink-2); }
.svc-consents { display: flex; flex-direction: column; gap: 8px; }
.svc-list { display: flex; flex-direction: column; }
.svc-item { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; padding: 10px 0; border-top: 1px solid var(--line); }
.svc-item:first-child { border-top: 0; padding-top: 0; }
.svc-item__body { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-width: 0; }
.svc-item__body .muted { flex-basis: 100%; }
.svc-item__actions { display: flex; gap: 8px; }
@media (max-width: 860px) { .svc-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 600px) { .svc-grid .row2, .svc-order .row2 { grid-template-columns: minmax(0, 1fr); } .svc-hero__lead { font-size: 16px; } .svc-form__send .btn { width: 100%; } }

/* ============ Poradnik: kafelki artykułów, temat artykułu, ramka „Wystaw za darmo” ============ */
.guide-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 18px; }
.guide-card { --ga: #4F46E5; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #fff; box-shadow: var(--shadow); color: var(--ink); transition: box-shadow .15s, transform .15s; }
.guide-card:hover { color: var(--ink); box-shadow: 0 10px 26px -14px rgba(15, 23, 42, .45); transform: translateY(-1px); }
.guide-card__top { position: relative; display: block; aspect-ratio: 1200 / 630; overflow: hidden;
    background: color-mix(in srgb, var(--ga) 10%, #fff); border-bottom: 1px solid color-mix(in srgb, var(--ga) 12%, #fff); }
.guide-card__top img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.guide-card:hover .guide-card__top img { transform: scale(1.035); }
.guide-card__label { position: absolute; top: 12px; left: 12px; padding: 5px 10px; border-radius: 999px; background: #fff; color: var(--ga); font: 800 11.5px/1 var(--display); letter-spacing: .04em; text-transform: uppercase; box-shadow: 0 1px 3px rgba(15, 23, 42, .12); }
.guide-filter { margin: 4px 0 0; color: var(--muted); font-size: 14px; }
/* działy Poradnika: wszystkie widoczne, przewijane w bok na telefonie */
.guide-tabs { display: flex; gap: 8px; margin: 4px 0 0; overflow-x: auto; scrollbar-width: none; padding: 2px 0 4px; }
.guide-tabs::-webkit-scrollbar { display: none; }
.guide-tab { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 40px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); font-weight: 600; font-size: 14px; white-space: nowrap; text-decoration: none; }
.guide-tab i { font-style: normal; }
.guide-tab span { min-width: 22px; padding: 1px 7px; border-radius: 999px; background: #F1F5F9; color: var(--ink-2); font-size: 12px; text-align: center; }
.guide-tab:hover { border-color: var(--accent); color: var(--accent-dark); }
.guide-tab.is-active { background: var(--ink); border-color: var(--ink); color: #fff; }
.guide-tab.is-active span { background: rgba(255, 255, 255, .18); color: #fff; }
.guide-subtabs { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 12px 0 0; padding-bottom: 8px; border-bottom: 1px solid var(--line); font-size: 14px; }
.guide-subtabs a { color: var(--muted); font-weight: 600; text-decoration: none; padding: 4px 0; border-bottom: 2px solid transparent; }
.guide-subtabs a.is-active, .guide-subtabs a:hover { color: var(--ink); border-bottom-color: var(--accent); }
.guide-next { display: flex; flex-wrap: wrap; gap: 10px; margin: 22px 0 0; }
.guide-next__btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border-radius: 10px; background: var(--ink); color: #fff; font-weight: 700; font-size: 14.5px; text-decoration: none; }
.guide-next__btn:hover { color: #fff; opacity: .92; }
.guide-next__btn--ghost { background: #fff; color: var(--ink); border: 1px solid var(--line); }
.guide-next__btn--ghost:hover { color: var(--accent-dark); border-color: var(--accent); }
.cat-guides { margin: 26px 0 0; }
.guide-grid--compact { margin-top: 10px; }
.guide-grid--compact .guide-card__body strong { font-size: 15px; }
/* strona ogłoszenia: ramka bezpieczeństwa z banerem artykułu Poradnika */
.guide-tip__card { --ga: #4F46E5; display: block; margin-top: 12px; border-radius: 12px; overflow: hidden; background: #fff; border: 1px solid color-mix(in srgb, var(--ga) 18%, #fff); color: var(--ink); transition: box-shadow .15s, transform .15s; }
.guide-tip__card:hover { color: var(--ink); box-shadow: 0 10px 24px -16px rgba(15, 23, 42, .5); transform: translateY(-1px); }
.guide-tip__card img { width: 100%; height: auto; aspect-ratio: 1200 / 630; object-fit: cover; display: block; }
.guide-tip__text { display: flex; flex-direction: column; gap: 3px; padding: 10px 12px 12px; }
.guide-tip__text small { color: var(--ga); font: 800 11px/1.2 var(--display); letter-spacing: .04em; text-transform: uppercase; }
.guide-tip__text b { font: 700 15px/1.3 var(--display); }
.guide-tip__text em { font-style: normal; color: var(--accent); font-size: 13px; font-weight: 600; }
.guide-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 10px; }
.guide-grid--related .guide-card__body strong { font-size: 15.5px; }
/* artykuł: obrazek obok tytułu (komputer), pod tytułem (telefon) */
.doc-hero--guide .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, 400px); gap: 28px; align-items: center; }
.doc-hero__art { margin: 0; border-radius: 16px; overflow: hidden; aspect-ratio: 1200 / 630; background: color-mix(in srgb, var(--ga) 10%, #fff);
    border: 1px solid color-mix(in srgb, var(--ga) 14%, #fff); box-shadow: 0 10px 30px -18px rgba(15, 23, 42, .35); }
.doc-hero__art img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (max-width: 860px) { .doc-hero--guide .wrap { grid-template-columns: minmax(0, 1fr); gap: 14px; } .doc-hero__art { max-width: 560px; } }
@media (max-width: 600px) { .guide-grid--related { grid-template-columns: minmax(0, 1fr); } }
.guide-card__body { display: flex; flex-direction: column; gap: 8px; padding: 14px; flex: 1; }
.guide-card__body strong { font: 700 17px/1.3 var(--display); }
.guide-card__body span { color: var(--muted); font-size: 14px; line-height: 1.5; }
.guide-card__body small { margin-top: auto; color: var(--muted); font-size: 12.5px; }
.guide-card__body .guide-card__kicker { margin-bottom: -2px; color: var(--ga); font: 800 11.5px/1 var(--display); letter-spacing: .05em; text-transform: uppercase; }
.guide-topic { display: inline-block; margin-bottom: 4px; padding: 3px 10px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: 13px; font-weight: 600; color: var(--ink-2); }
.guide-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 24px 0 8px; padding: 18px 22px; border-radius: 16px; background: linear-gradient(120deg, #0E3B2F, #14532D); color: #fff; }
.guide-cta strong { display: block; font: 800 18px/1.25 var(--display); }
.guide-cta span { display: block; margin-top: 4px; font-size: 14px; opacity: .88; }
.guide-cta__acts { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex: none; }
.guide-cta__link { color: #BBF7D0; font-size: 14px; font-weight: 600; }
.guide-cta__link:hover { color: #fff; }
@media (max-width: 860px) { .guide-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .guide-grid { grid-template-columns: minmax(0, 1fr); } .guide-cta { flex-direction: column; align-items: flex-start; } .guide-cta__acts { align-items: flex-start; } }

/* baner marki pod wyszukiwarką działu (losowany przy wejściu, zamiast skrótów i chmurki kategorii) */
.cat-promo { margin: 0 0 16px; }
.cat-promo .bx { margin: 0; }

/* ---------- drzewo kategorii (panel boczny) i pasek podkategorii (telefon) ---------- */
.catnav { padding: 14px 10px 10px; margin-bottom: 12px; }
.catnav__title { margin: 0 8px 6px; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.catnav__up { display: flex; align-items: center; gap: 4px; padding: 4px 8px; margin-bottom: 2px; border-radius: 8px; font-size: 13px; font-weight: 600; color: var(--muted); }
.catnav__up:hover { color: var(--ink); background: #F5F7FA; }
.catnav a { text-decoration: none; }
.catnav__root, .catnav__list a { display: flex; align-items: center; gap: 9px; min-width: 0; border-radius: 9px; color: var(--ink-2); transition: background .12s, color .12s; }
.catnav__root { padding: 7px 8px; font-weight: 800; font-size: 15px; color: var(--ink); }
.catnav__root img { flex: none; width: 26px; height: 26px; object-fit: contain; }
.catnav span { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; line-height: 1.3; }
.catnav small { flex: none; margin-left: auto; padding-left: 6px; font-size: 12px; font-weight: 500; color: #94A3B8; font-variant-numeric: tabular-nums; }
.catnav__list { list-style: none; margin: 2px 0 2px 20px; padding: 0 0 0 8px; border-left: 1.5px solid #E7ECF2; }
.catnav__list--flat { margin-left: 0; padding-left: 0; border-left: 0; }
.catnav__list a { position: relative; padding: 6px 8px; font-size: 14px; }
.catnav__list img { flex: none; width: 22px; height: 22px; object-fit: contain; }
.catnav__root:hover, .catnav__list a:hover { background: #F5F7FA; color: var(--ink); }
.catnav a.is-current { background: #FFF1EA; color: var(--accent-dark); font-weight: 700; }
.catnav a.is-current small { color: var(--accent-dark); opacity: .75; }
.catnav__list:not(.catnav__list--flat) a.is-current::before { content: ""; position: absolute; left: -10px; top: 5px; bottom: 5px; width: 3px; border-radius: 3px; background: var(--accent); }
.catnav__cross span { color: var(--blue); }
.catnav__cross svg { margin-left: 4px; vertical-align: -1px; }
.catnav__group { margin: 10px 8px 2px 28px; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: #94A3B8; }
.catnav__more summary { display: flex; align-items: center; gap: 4px; margin: 2px 0 0 28px; padding: 6px 8px; border-radius: 8px; list-style: none; cursor: pointer; font-size: 13.5px; font-weight: 700; color: var(--blue); }
.catnav__more summary::-webkit-details-marker { display: none; }
.catnav__more summary:hover { background: #F5F7FA; }
.catnav__more[open] summary { display: none; }
.catnav__more .catnav__list { margin-top: 0; }
.catnav a:focus-visible, .catnav summary:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.catstrip { display: none; }
@media (max-width: 760px) {
    .fsheet .catnav { display: none; }
    .catstrip { display: flex; gap: 6px; overflow-x: auto; margin: -2px calc(-1 * clamp(12px, 3vw, 24px)) 12px; padding: 0 clamp(12px, 3vw, 24px) 2px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
    .catstrip::-webkit-scrollbar { display: none; }
    .catstrip a { flex: none; display: inline-flex; align-items: center; gap: 5px; height: 34px; padding: 0 13px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink); font-size: 13.5px; font-weight: 600; white-space: nowrap; text-decoration: none; }
    .catstrip a small { font-size: 11.5px; font-weight: 500; color: #94A3B8; }
    .catstrip a.is-active { border-color: var(--ink); background: var(--ink); color: #fff; }
    .catstrip a.is-active small { color: #CBD5E1; }
    .catstrip .catstrip__up { padding-left: 9px; background: #F1F5F9; border-color: #F1F5F9; color: var(--ink-2); }
}

/* ---------- wyszukiwarka pojazdów: pasek z polami, nadwozia jako chipy, reszta pod „Więcej opcji” ---------- */
.vfind { margin: 4px 0 14px; padding: 14px 16px 12px; border: 1px solid #E4E9F0; border-radius: 18px;
    background: radial-gradient(80% 160% at 100% 0%, rgba(228, 87, 46, .11) 0%, rgba(228, 87, 46, 0) 60%), linear-gradient(180deg, #F8FAFC 0%, #EEF2F7 100%); }
.vfind__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 12px; }
.vfind__title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; min-width: 0; }
.vfind__title h1 { margin: 0; font-size: clamp(19px, .5vw + 15px, 22px); font-weight: 700; line-height: 1.15; }
.vfind__title span { font-size: 13px; color: var(--muted); }
.vseg { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid #E2E8F0; border-radius: 999px; background: #fff; }
.vseg label { position: relative; }
.vseg input { position: absolute; opacity: 0; pointer-events: none; }
.vseg span { display: block; padding: 6px 13px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--ink-2); cursor: pointer; transition: background .12s, color .12s; }
.vseg span:hover { color: var(--ink); }
.vseg input:checked + span { background: var(--ink); color: #fff; }
.vseg input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 1px; }
.vbar { display: grid; grid-template-columns: var(--cols, repeat(4, minmax(0, 1fr)) auto); align-items: stretch; padding: 4px; border: 1px solid #E2E8F0; border-radius: 14px; background: #fff;
    box-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 10px 26px rgba(15, 23, 42, .07); }
.vbar[hidden] { display: none; }
.vbar__cell { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 0; padding: 7px 13px; border-radius: 10px; cursor: pointer; transition: background .12s; }
.vbar__cell + .vbar__cell::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 1px; background: #E7ECF2; }
.vbar__cell:hover, .vbar__cell:focus-within { background: #F4F7FA; }
.vbar__cell:hover::before, .vbar__cell:hover + .vbar__cell::before, .vbar__cell:focus-within::before, .vbar__cell:focus-within + .vbar__cell::before { opacity: 0; }
.vbar__cell small, .vbar__cell label { font-size: 10.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); cursor: pointer; }
.vbar__cell select, .vbar__cell input { width: 100%; min-width: 0; height: 24px; padding: 0; border: 0; outline: 0; border-radius: 0; background: transparent; box-shadow: none;
    font: inherit; font-size: 14.5px; font-weight: 400; color: var(--ink); text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.vbar__cell select { padding-right: 18px; -webkit-appearance: none; appearance: none; cursor: pointer;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 2px center / 12px; }
.vbar__cell select:disabled { color: #94A3B8; cursor: default; }
.vbar__cell input::placeholder { color: #94A3B8; font-weight: 400; }
.vbar__field { position: relative; display: flex; align-items: center; gap: 6px; }
.vbar__field input { flex: 1 1 auto; }
.vbar__field select { flex: none; width: auto; padding-right: 16px; font-size: 13.5px; color: var(--ink-2); }
/* dwa rzędy pól w jednym pasku + wysoki przycisk z prawej */
.vbar--grid { display: flex; }
.vbar__rows { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.vbar__row { display: grid; grid-template-columns: var(--cols, repeat(6, minmax(0, 1fr))); }
.vbar__row + .vbar__row { border-top: 1px solid #E7ECF2; }
.vbar__row .vbar__cell { min-height: 54px; }
.vbar__row--flex { display: flex; }
.vbar__row--flex > .vbar__cell { flex: 1 1 0; }
.vbar__row--flex > .vbar__cell--range { flex-grow: 1.25; }
.vbar__row--flex > .vbar__cell--narrow { flex-grow: .75; }
.vbar__row--flex > .vbar__cell--wide { flex-grow: 1.6; }
.vbar__cell[hidden] { display: none; }
.vrange { display: flex; align-items: center; gap: 8px; }
.vrange input, .vrange select { flex: 1 1 0; min-width: 0; }
.vrange i { flex: none; color: #94A3B8; font-style: normal; }
.vbar--grid .vbar__go { flex: none; flex-direction: column; gap: 4px; width: 148px; font-size: 14px; padding: 0 12px; white-space: normal; text-align: center; line-height: 1.25; }
.vbar__go { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; margin-left: 4px; padding: 0 22px; border: 0; border-radius: 11px;
    background: var(--accent); color: #fff; font: inherit; font-size: 14px; font-weight: 600; white-space: nowrap; cursor: pointer; box-shadow: 0 6px 16px rgba(228, 87, 46, .28); transition: background .12s; }
.vbar__go:hover { background: var(--accent-dark); }
.vbar__go:focus-visible { outline: 3px solid rgba(46, 134, 222, .5); outline-offset: 2px; }
.vbar--extra { display: flex; margin-top: 10px; }
.vbar--extra[hidden] { display: none; }
.vbar--extra .vbar__cell { flex: 1 1 0; }
.vbar--extra .vbar__cell--city { flex-grow: 1.6; }
.vbar__all { flex: none; align-self: center; padding: 0 14px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.vfind__row { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.vchips { display: flex; flex: 1 1 auto; gap: 6px; min-width: 0; padding: 1px; overflow-x: auto; scrollbar-width: none; }
.vchips::-webkit-scrollbar { display: none; }
.vchip { flex: none; position: relative; }
.vchip input { position: absolute; opacity: 0; pointer-events: none; }
.vchip span { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 11px 0 8px; border: 1px solid #E2E8F0; border-radius: 999px; background: #fff;
    color: var(--ink-2); font-size: 13.5px; font-weight: 500; white-space: nowrap; cursor: pointer; transition: border-color .12s, background .12s, color .12s; }
.vchip svg { flex: none; width: 24px; height: auto; }
.vchips.is-overflow { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 36px), transparent); }
.vchips.is-overflow.is-end { -webkit-mask-image: none; mask-image: none; }
.vchip span:hover { border-color: #CBD5E1; color: var(--ink); }
.vchip input:checked + span { border-color: var(--accent); background: #FFF1EA; color: var(--accent-dark); box-shadow: inset 0 0 0 1px var(--accent); }
.vchip input:focus-visible + span { outline: 2px solid var(--blue); outline-offset: 1px; }
.vfind__more { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 36px; margin-left: auto; padding: 0 12px; border: 0; border-radius: 999px; background: transparent;
    color: var(--blue); font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.vfind__more:hover, .vfind__more[aria-expanded="true"] { background: rgba(46, 134, 222, .1); }
.vfind__more i { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--accent); color: #fff; font-style: normal; font-size: 12px; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 1080px) {
    .vbar--grid { flex-direction: column; gap: 6px; }
    .vbar__rows { gap: 6px; }
    .vbar__row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
    .vbar__row--flex { flex-wrap: wrap; }
    .vbar__row--flex > .vbar__cell { flex: 1 1 calc(33.333% - 6px); }
    .vbar__row + .vbar__row { border-top: 0; }
    .vbar--grid .vbar__go { width: 100%; flex-direction: row; min-height: 48px; }
    .vbar { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 0; border: 0; background: transparent; box-shadow: none; }
    .vbar--extra { display: grid; }
    .vbar__cell { border: 1px solid #E2E8F0; background: #fff; }
    .vbar__cell + .vbar__cell::before { display: none; }
    .vbar__go { min-height: 48px; margin: 0; }
    .vbar:not(:has(> .vbar__cell:nth-child(5))) .vbar__go { grid-column: span 2; }
    .vbar__all { grid-column: 1 / -1; justify-self: end; padding: 4px 2px; }
}
/* telefon: pola co najmniej 16 px – inaczej iPhone powiększa stronę przy kliknięciu w pole */
@media (max-width: 760px) and (hover: none) {
    .vbar__cell select, .vbar__cell input { font-size: 16px; }
}

/* ---------- „Wystawimy za Ciebie” – jak to działa ---------- */
.how-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; }
.how { display: flex; flex-direction: column; gap: 26px; }
.how h2 { font-size: clamp(20px, 1vw + 15px, 25px); margin: 0 0 12px; }
.how h3 { font-size: 17px; margin: 0; }
.how-toc { display: flex; flex-wrap: wrap; gap: 6px; }
.how-toc a { padding: 6px 13px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink-2); font-size: 13.5px; font-weight: 600; }
.how-toc a:hover { border-color: var(--accent); color: var(--accent-dark); }
.how-sec { scroll-margin-top: 16px; }
.how-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.how-card { display: flex; flex-direction: column; gap: 10px; }
.how-card--accent { border-color: #FBD5C2; background: linear-gradient(180deg, #FFF7F2 0%, #fff 60%); }
.how-tag { align-self: flex-start; padding: 4px 10px; border-radius: 999px; background: #FFE4D6; color: var(--accent-dark); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.how-tag--blue { background: #E0F2FE; color: #0369A1; }
.how-card__act { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: auto; padding-top: 6px; font-weight: 600; }
.how-check { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.how-check li { display: flex; align-items: flex-start; gap: 9px; font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.how-check svg { flex: none; margin-top: 2px; padding: 2px; width: 20px; height: 20px; border-radius: 50%; background: #DCFCE7; color: #15803D; }
.how-check--blue svg { background: #E0F2FE; color: #0369A1; }
.how-steps { list-style: none; counter-reset: how; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.how-steps li { counter-increment: how; position: relative; display: flex; flex-direction: column; gap: 4px; padding: 54px 16px 16px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; font-size: 14px; line-height: 1.45; color: var(--muted); }
.how-steps li::before { content: counter(how); position: absolute; left: 16px; top: 14px; width: 30px; height: 30px; border-radius: 50%; background: var(--accent); color: #fff; font: 800 15px/30px var(--display); text-align: center; }
.how-steps li:not(:last-child)::after { content: ""; position: absolute; left: 54px; right: 16px; top: 29px; border-top: 2px dashed #F3D9CC; }
.how-steps b { color: var(--ink); font-size: 15.5px; }
.how-send { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: start; }
.how-box { display: flex; flex-direction: column; gap: 12px; }
.how-ways { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.how-ways li { display: flex; flex-direction: column; gap: 1px; font-size: 14px; color: var(--muted); }
.how-ways b { color: var(--ink); font-size: 15px; }
.how-ads { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 18px 24px; padding: 22px 26px; border-radius: 18px; color: #fff; scroll-margin-top: 16px;
    background: radial-gradient(70% 140% at 100% 0%, rgba(251, 146, 60, .35) 0%, rgba(251, 146, 60, 0) 60%), linear-gradient(115deg, #0B1730 0%, #13254A 60%, #1D3563 100%); }
.how-ads h2 { color: #fff; margin: 0 0 6px; }
.how-ads p { margin: 0; color: rgba(255, 255, 255, .82); line-height: 1.5; max-width: 62ch; }
.how-ads__badge { width: 92px; height: 92px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 3px solid #fff;
    background: linear-gradient(135deg, #FEF3C7 0%, #FBBF24 45%, #B45309 100%); color: #7C2D12; box-shadow: 0 12px 26px -8px rgba(0, 0, 0, .5); transform: rotate(-8deg); }
.how-ads__badge b { font: 900 24px/1 var(--display); }
.how-ads__badge small { font-size: 10.5px; font-weight: 800; }
.how-ads__act { display: flex; flex-direction: column; align-items: center; gap: 8px; font-weight: 700; }
.how-ads__act a:not(.btn) { color: #FDBA74; }
.how-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
.how-faq details { border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.how-faq summary { padding: 13px 16px; font-weight: 700; cursor: pointer; }
.how-faq p { margin: 0; padding: 0 16px 14px; color: var(--ink-2); line-height: 1.5; }
.how-end { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; }
.how-end > div:first-child { display: flex; flex-direction: column; gap: 2px; }
.how-end b { font-size: 17px; }
.how-end span { color: var(--muted); }
@media (max-width: 960px) {
    .how-steps, .how-send { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .how-steps li::after { display: none; }
    .how-ads { grid-template-columns: auto minmax(0, 1fr); }
    .how-ads__act { grid-column: 1 / -1; flex-direction: row; justify-content: flex-start; gap: 16px; }
}
@media (max-width: 640px) {
    .how { gap: 20px; }
    .how-two, .how-steps, .how-send, .how-faq { grid-template-columns: minmax(0, 1fr); }
    .how-ads { grid-template-columns: minmax(0, 1fr); padding: 18px; }
    .how-ads__badge { width: 76px; height: 76px; }
    .how-ads__badge b { font-size: 20px; }
    .how-cta .btn, .how-end .btn { flex: 1 1 100%; justify-content: center; }
}

/* ---------- pasek „Polecane” w kategorii (wyróżnienia z panelu) ---------- */
.recommended { padding: 14px 14px 10px; border: 1px solid #FED7AA; border-radius: 16px; background: linear-gradient(180deg, #FFF7ED 0%, #fff 75%); }
.recommended__head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; }
.recommended__head h2 { margin: 0; font-size: 17px; }
.recommended__head span { font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--accent-dark); }
.recommended .carousel__track { grid-auto-columns: calc((100% - 36px) / 4); }
@media (max-width: 1100px) { .recommended .carousel__track { grid-auto-columns: calc((100% - 24px) / 3); } }
@media (max-width: 760px) { .recommended { padding: 12px 10px 8px; } .recommended .carousel__track { grid-auto-columns: 62%; } }

/* ---------- wyszukiwarka Nieruchomości i Usług (miasto + odległość) ---------- */
.vfind--property { background: radial-gradient(80% 160% at 100% 0%, rgba(14, 165, 233, .12) 0%, rgba(14, 165, 233, 0) 60%), linear-gradient(180deg, #F8FAFC 0%, #EEF2F7 100%); }
.vfind--jobs { background: radial-gradient(80% 160% at 100% 0%, rgba(99, 102, 241, .14) 0%, rgba(99, 102, 241, 0) 60%), linear-gradient(180deg, #F8FAFC 0%, #EEF2F7 100%); }
.jseek { display: flex; align-items: center; gap: 14px; margin-top: 14px; padding: 12px 14px; border-radius: 14px; background: linear-gradient(100deg, #1E1B4B 0%, #312E81 100%); color: #E0E7FF; }
.jseek__ico { flex: none; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: rgba(255, 255, 255, .12); color: #A5F3FC; }
.jseek__txt { flex: 1 1 auto; min-width: 0; display: grid; gap: 2px; }
.jseek__txt b { color: #fff; font: 800 17px/1.25 var(--display); }
.jseek__txt b em { font-style: normal; color: #FDBA74; }
.jseek__txt span { font-size: 13.5px; color: #C7D2FE; }
.jseek .btn { flex: none; }
.jseek__more { flex: none; color: #C7D2FE; font-size: 13.5px; font-weight: 700; white-space: nowrap; }
.jseek__more:hover { color: #fff; }
@media (max-width: 760px) { .jseek { flex-wrap: wrap; } .jseek__txt { flex-basis: calc(100% - 60px); } .jseek .btn { flex: 1 1 auto; } }
.vfind--agri { background: radial-gradient(80% 160% at 100% 0%, rgba(132, 204, 22, .16) 0%, rgba(132, 204, 22, 0) 60%), linear-gradient(180deg, #F8FAFC 0%, #EEF2F7 100%); }
.vfind--services { background: radial-gradient(80% 160% at 100% 0%, rgba(22, 163, 74, .12) 0%, rgba(22, 163, 74, 0) 60%), linear-gradient(180deg, #F8FAFC 0%, #EEF2F7 100%); }
.vfind__tag { font-size: 13px; font-weight: 700; color: #15803D; background: #DCFCE7; padding: 6px 12px; border-radius: 999px; }
.vfind--services .vbar--grid .vbar__go { min-height: 56px; }
.ffind__label { flex: none; font-size: 12.5px; font-weight: 700; color: var(--muted); }
.ffind__chip { flex: none; height: 36px; padding: 0 14px; border: 1px solid #E2E8F0; border-radius: 999px; background: #fff; color: var(--ink-2); font: inherit; font-size: 14px; font-weight: 500; cursor: pointer; white-space: nowrap; }
.ffind__chip:hover { border-color: #CBD5E1; color: var(--ink); }
.ffind__chip.is-on { border-color: var(--accent); background: #FFF1EA; color: var(--accent-dark); }
.ffind__check { flex: none; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--ink-2); cursor: pointer; white-space: nowrap; }
.ffind__check input { width: 16px; height: 16px; accent-color: var(--accent); }

/* ---------- „Zawsze za darmo”: bonusy i współpraca ---------- */
/* ---------- „Szukasz pracy?” ---------- */
.jobs-hero { background: radial-gradient(110% 140% at 100% 0%, #E0E7FF 0%, rgba(224, 231, 255, 0) 55%), linear-gradient(135deg, #EEF2FF 0%, #F0F9FF 100%); }
.jobs-hero h1 em { font-style: normal; color: #4338CA; }
.jobs-hero__grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .9fr); gap: 36px; align-items: center; }
.jcard { position: relative; padding: 18px; border-radius: 18px; background: #fff; border: 1px solid #E0E7FF; box-shadow: 0 18px 40px rgba(49, 46, 129, .14); transform: rotate(1.2deg); }
.jcard::before { content: "Szukam pracy"; position: absolute; top: -12px; left: 18px; padding: 4px 12px; border-radius: 999px; background: #16A34A; color: #fff; font-size: 12px; font-weight: 800; letter-spacing: .03em; }
.jcard__top { display: flex; gap: 12px; align-items: center; }
.jcard__ava { flex: none; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, #818CF8, #4338CA); color: #fff; font-weight: 800; }
.jcard__top b { display: block; font-size: 16px; }
.jcard__top small { color: var(--muted); font-size: 13px; }
.jcard__tags { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 12px 0 8px; padding: 0; }
.jcard__tags li { padding: 4px 10px; border-radius: 999px; background: #EEF2FF; color: #3730A3; font-size: 12.5px; font-weight: 600; }
.jcard p { margin: 0 0 12px; font-size: 14px; line-height: 1.5; color: var(--ink-2); }
.jcard__foot { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.jcard__pay { font: 800 17px/1.2 var(--display); }
.jcard__msg { padding: 6px 10px; border-radius: 10px; background: #FFF7ED; color: var(--accent-dark); font-size: 13px; font-weight: 700; }
.how-tag--warn { background: #FEE2E2; color: #B91C1C; }
.how-check--no svg { background: #FEE2E2; color: #B91C1C; }
.jobs-offers__head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.jobs-offers__head a { font-weight: 700; font-size: 14px; }
.specs .spec-seek, .specs .spec-offer { padding: 1px 8px; border-radius: 999px; font-weight: 700; font-size: .92em; }
.specs .spec-seek { background: #DCFCE7; color: #15803D; }
.specs .spec-offer { background: #EEF2FF; color: #3730A3; }
.specs .spec-seek::after, .specs .spec-offer::after { content: none !important; }
.specs .spec-seek, .specs .spec-offer { margin-right: 8px; }
@media (max-width: 860px) { .jobs-hero__grid { grid-template-columns: 1fr; } .jcard { transform: none; margin-top: 8px; } }
.free-hero { background: radial-gradient(120% 140% at 100% 0%, #D9F7E3 0%, rgba(217, 247, 227, 0) 55%), linear-gradient(135deg, #F0FDF4 0%, #F0F9FF 100%); }
.free-tiers { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.free-tier { display: flex; flex-direction: column; gap: 10px; }
.free-tier__badge { align-self: flex-start; padding: 5px 12px; border-radius: 999px; background: #F1F5F9; color: var(--ink-2); font-size: 12.5px; font-weight: 800; letter-spacing: .03em; }
.free-tier--mid { border-color: #FBD5C2; }
.free-tier--mid .free-tier__badge { background: #FFE4D6; color: var(--accent-dark); }
.free-tier--top { border-color: #F2D46A; background: linear-gradient(180deg, #FFFBEB 0%, #fff 70%); box-shadow: 0 10px 28px -14px rgba(180, 83, 9, .45); }
.free-tier--top .free-tier__badge { background: linear-gradient(135deg, #FEF3C7, #FBBF24); color: #7C2D12; }
.free-note { margin: 12px 0 0; font-size: 14px; color: var(--muted); }
.free-partners { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.free-partner { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.free-partner__ico { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: #F0FDF4; color: #15803D; }
.free-partner b { display: block; font-size: 15px; margin-bottom: 2px; }
.free-partner span { font-size: 13.5px; line-height: 1.45; color: var(--muted); }
@media (max-width: 960px) { .free-tiers { grid-template-columns: minmax(0, 1fr); } .free-partners { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .free-partners { grid-template-columns: minmax(0, 1fr); } }

/* ---- ostrzeżenia przed oszustwem w wiadomościach ---- */
/* dymek dla odbiorcy podejrzanej wiadomości – tylko w okienku wiadomości, nad listą (nie po całej stronie) */
.scam-toast { position: relative; margin: 0 0 12px; display: flex; gap: 10px; align-items: flex-start;
    padding: 12px 38px 12px 12px; border: 1px solid #FCD34D; border-left: 4px solid #F59E0B; border-radius: 12px; background: #FFFBEB; color: #78350F;
    box-shadow: 0 6px 18px rgba(15, 23, 42, .08); font-size: 13.5px; line-height: 1.45; animation: scam-toast-in .4s ease-out .3s both; }
.scam-toast--high { border-color: #FCA5A5; border-left-color: #DC2626; background: #FEF2F2; color: #7F1D1D; }
.scam-toast__ico { flex: none; width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: #FEF3C7; color: #B45309; }
.scam-toast--high .scam-toast__ico { background: #FEE2E2; color: #DC2626; }
.scam-toast__body b { display: block; font-size: 14px; margin-bottom: 2px; }
.scam-toast__body p { margin: 0 0 8px; }
.scam-toast__act { display: flex; gap: 8px; flex-wrap: wrap; }
.scam-toast__open { padding: 5px 12px; border-radius: 8px; background: #B45309; color: #fff; font-weight: 600; text-decoration: none; }
.scam-toast--high .scam-toast__open { background: #DC2626; }
.scam-toast__ok { padding: 5px 12px; border: 1px solid currentColor; border-radius: 8px; background: transparent; color: inherit; font: inherit; font-weight: 600; cursor: pointer; opacity: .85; }
.scam-toast__x { position: absolute; top: 6px; right: 8px; width: 24px; height: 24px; border: 0; background: none; color: inherit; font-size: 20px; line-height: 1; cursor: pointer; opacity: .6; }
.scam-toast__x:hover, .scam-toast__ok:hover { opacity: 1; }
.scam-toast.is-closing { animation: scam-toast-out .25s ease-in both; }
@keyframes scam-toast-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@keyframes scam-toast-out { to { opacity: 0; transform: translateY(-8px); } }
/* ======================================================================
   Wiadomości jak w komunikatorze (prefiks msgr – czat z obsługą ma swoje klasy .chat*)
   komputer: lista rozmów | czat na wysokość okna, pole do pisania zawsze na dole
   telefon: lista na całą stronę; otwarta rozmowa na cały ekran, pole przyklejone na dole
   ====================================================================== */
.msgr-page { padding-top: 16px; padding-bottom: 24px; }
.msgr { display: grid; grid-template-columns: minmax(320px, 36%) minmax(0, 1fr); height: var(--msgr-h, calc(100vh - 210px)); min-height: 480px;
    background: #fff; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); overflow: hidden; }
.msgr__side { display: flex; flex-direction: column; min-width: 0; min-height: 0; border-right: 1px solid var(--line); background: #FBFCFD; }
.msgr__side-top { flex: none; display: flex; flex-direction: column; gap: 10px; padding: 14px 14px 10px; border-bottom: 1px solid var(--line); }
.msgr__side-top .scam-toast, .msgr__side-top .safe-strip { margin: 0; }
.msgr__title { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.msgr__title h1 { font-size: 22px; }
.msgr__scroll { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.msgr-none { margin: 0; padding: 28px 18px; color: var(--muted); text-align: center; font-size: 14px; }
.msgr-pages { padding: 10px 14px; border-top: 1px solid var(--line); }
/* lista rozmów: stronicowanie w jednej linii – same strzałki i „Strona 1 z 6” pośrodku */
.msgr-pages .pagination { flex-wrap: nowrap; justify-content: space-between; gap: 8px; margin: 0; }
.msgr-pages .pagination__item { display: inline-grid; place-items: center; min-width: 40px; height: 36px; padding: 0 12px; font-size: 16px; line-height: 1; }
.msgr-pages .pagination__word { display: none; }
.msgr-pages .pagination__info { font-size: 13.5px; color: var(--muted); white-space: nowrap; }
.msgr-row { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; color: inherit; border-bottom: 1px solid var(--line); }
.msgr-row:hover { background: #F1F5F9; color: inherit; }
.msgr-row.is-current { background: #FFF4EC; box-shadow: inset 3px 0 0 var(--accent); }
.msgr-row--unread .msgr-row__last { font-weight: 700; color: var(--ink); }
.msgr-row--risky { box-shadow: inset 3px 0 0 #DC2626; }
.msgr-row__img { flex: none; width: 56px; height: 48px; margin-top: 2px; border-radius: 8px; overflow: hidden; background: #E9EEF3; }
.msgr-row__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.msgr-row__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.msgr-row__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
/* tytuł ogłoszenia w dwóch liniach (zamiast ucinania po kilku słowach), ostatnia wiadomość też w dwóch */
.msgr-row__title { font-size: 14px; line-height: 1.3; color: var(--ink); overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: anywhere; }
.msgr-row__top time { flex: none; font-size: 11.5px; color: var(--muted); }
.msgr-row__who { font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.msgr-row__last { font-size: 13px; line-height: 1.35; color: var(--ink-2); overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow-wrap: anywhere; }
.msgr-row__body .status { align-self: flex-start; margin-top: 2px; }
.msgr-row__side { flex: none; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.msgr-row__warn { color: #DC2626; font-size: 16px; line-height: 1; }
.msgr-row__badge { min-width: 21px; height: 21px; padding: 0 6px; border-radius: 999px; background: var(--accent); color: #fff; font-size: 11.5px; font-weight: 700; display: grid; place-items: center; }

.msgr__main { display: flex; flex-direction: column; min-width: 0; min-height: 0; background: #fff; }
.msgr__main--empty { align-items: center; justify-content: center; background: #F8FAFC; }
.msgr-empty { display: flex; flex-direction: column; align-items: center; gap: 6px; max-width: 320px; text-align: center; color: var(--muted); font-size: 14px; }
.msgr-empty svg { color: #94A3B8; }
.msgr-empty b { color: var(--ink); font-size: 16px; }

.msgr-head { flex: none; display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-bottom: 1px solid var(--line); background: #fff; }
.msgr-head__back { flex: none; display: none; width: 36px; height: 36px; border-radius: 50%; place-items: center; color: var(--ink); }
.msgr-head__back:hover { background: #F1F5F9; color: var(--ink); }
.msgr-head__item { flex: 1; min-width: 0; display: flex; align-items: center; gap: 11px; padding: 4px; border-radius: 10px; color: inherit; }
.msgr-head__item:hover { background: #F8FAFC; color: inherit; }
.msgr-head__item img { flex: none; width: 54px; height: 42px; object-fit: cover; border-radius: 8px; }
.msgr-head__item > span { min-width: 0; display: flex; flex-direction: column; line-height: 1.3; }
.msgr-head__item b { font-size: 15px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.msgr-head__item small { font-size: 12.5px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.msgr-head__item em { font-style: normal; font-weight: 700; color: var(--accent-dark); }
.msgr-head__new { color: #B45309; font-weight: 600; }
.msgr-head__report button { display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: none; color: var(--muted); font-size: 17px; cursor: pointer; opacity: .8; }
.msgr-head__report button:hover { background: #FEF2F2; opacity: 1; }
.msgr-tools { flex: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 8px 12px; border-bottom: 1px solid var(--line); background: #fff; }
.msgr-tool { display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px; border-radius: 999px; font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; }
.msgr-tool--delete { border: 1px solid #FCA5A5; background: #FEF2F2; color: #B91C1C; }
.msgr-tool--delete:hover { background: #FEE2E2; border-color: #F87171; }
.msgr-tool--report { border: 1px solid #FCD34D; background: #FFFBEB; color: #92400E; }
.msgr-tool--report:hover { background: #FEF3C7; }
.msgr-pins { flex: none; display: flex; flex-direction: column; gap: 6px; padding: 8px 12px; border-bottom: 1px solid var(--line); background: #FFFBEB; }
.msgr-pin { margin: 0; font-size: 13px; color: #7C2D12; line-height: 1.4; }
.scam-toast--compact { display: flex; align-items: center; gap: 8px; margin: 0; padding: 7px 10px; border-left-width: 3px; border-radius: 10px; box-shadow: none; font-size: 13px; animation: none; }
.scam-toast--compact .scam-toast__ico { width: 26px; height: 26px; border-radius: 8px; }
.scam-toast--compact .scam-toast__body { flex: 1; min-width: 0; }
.scam-toast--compact .scam-toast__body b { display: inline; font-size: 13px; margin: 0 4px 0 0; }
.scam-toast--compact .scam-toast__body span { opacity: .85; }
.scam-toast--compact .scam-toast__open { flex: none; padding: 4px 10px; font-size: 12.5px; }
.scam-toast--compact .scam-toast__x { position: static; flex: none; width: 34px; height: 34px; margin: -4px -6px -4px 0; font-size: 24px; border-radius: 50%; }
.scam-toast--compact .scam-toast__x:hover { background: rgba(0, 0, 0, .06); }

.msgr-log { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; display: flex; flex-direction: column; gap: 8px; padding: 14px 16px; background: #F8FAFC; }
.msgr-day { align-self: center; margin: 6px 0 2px; padding: 2px 12px; border-radius: 999px; background: #E9EEF3; color: var(--muted); font-size: 11.5px; }
.msgr-msg { display: flex; flex-direction: column; max-width: min(78%, 560px); scroll-margin: 16px; }
.msgr-msg--mine { align-self: flex-end; align-items: flex-end; }
.msgr-msg--theirs { align-self: flex-start; align-items: flex-start; }
.msgr-msg__bubble { padding: 8px 12px; border-radius: 16px; background: #fff; border: 1px solid #E5EAF0; line-height: 1.45; overflow-wrap: anywhere; }
.msgr-msg--mine .msgr-msg__bubble { background: #FFE8D6; border-color: #FFD8BA; border-bottom-right-radius: 5px; }
.msgr-msg--theirs .msgr-msg__bubble { border-bottom-left-radius: 5px; }
.msgr-msg--risky .msgr-msg__bubble { background: #FFFBEB; border-color: #FCD34D; }
.msgr-msg--danger .msgr-msg__bubble { background: #FEF2F2; border-color: #FCA5A5; }
.msgr-msg__text { margin: 0; white-space: pre-line; }
.msgr-msg__bubble .offer-card { margin: 8px 0 2px; }
.msgr-msg__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 2px; padding: 0 4px; font-size: 11px; color: var(--muted); }
.msgr-msg:target .msgr-msg__bubble, .msgr-msg.is-flash .msgr-msg__bubble { animation: msg-flash 2s ease-out; }
@keyframes msg-flash { from { box-shadow: 0 0 0 3px #F59E0B; } }
.msgr-warn { margin-top: 3px; max-width: 100%; font-size: 12.5px; color: #92400E; }
.msgr-warn summary { cursor: pointer; font-weight: 700; padding: 2px 4px; list-style: none; }
.msgr-warn summary::-webkit-details-marker { display: none; }
.msgr-warn summary::after { content: ' · dlaczego?'; font-weight: 500; text-decoration: underline; }
.msgr-warn[open] summary::after { content: ''; }
.msgr-warn--high { color: #B91C1C; }
.msgr-warn ul { margin: 4px 0; padding: 8px 10px 8px 26px; border-radius: 10px; background: #FFF7ED; display: grid; gap: 3px; color: #7C2D12; }
.msgr-warn--high ul { background: #FEF2F2; color: #7F1D1D; }
.msgr-warn__act { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; padding: 0 4px; }
.msgr-warn__act a { color: inherit; font-weight: 600; }

.msgr-form { flex: none; padding: 10px 12px 12px; border-top: 1px solid var(--line); background: #fff; }
.msgr-form__notes { max-height: 42vh; overflow-y: auto; margin-bottom: 8px; }
.msgr-form__notes .sens-confirm, .msgr-form__notes .guard-block { margin: 0 0 6px; }
.msgr-form__row { display: flex; gap: 8px; align-items: flex-end; }
.msgr-form__row textarea { flex: 1; min-width: 0; min-height: 44px; max-height: 160px; resize: none; padding: 11px 14px; border: 1px solid #CBD5E1; border-radius: 22px; font: inherit; font-size: 15px; line-height: 1.4; background: #fff; color: var(--ink); }
.msgr-form__row textarea:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 3px rgba(228, 87, 46, .15); }
.msgr-send { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 44px; padding: 0 16px; border: 0; border-radius: 22px; background: var(--accent); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.msgr-send:hover { background: var(--accent-dark); }
.msgr-send:disabled { opacity: .6; cursor: default; }
.msgr-form__hint { display: block; margin-top: 6px; padding: 0 6px; color: var(--muted); font-size: 11.5px; }
.msgr-closed { flex: none; margin: 0; padding: 14px; border-top: 1px solid var(--line); color: var(--muted); text-align: center; }
@media (prefers-reduced-motion: reduce) { .scam-toast, .scam-toast.is-closing, .msgr-msg:target .msgr-msg__bubble { animation: none; } }

@media (max-width: 760px) {
    /* lista rozmów: zwykła strona (bez okna w oknie) */
    .msgr-page { padding-top: 12px; }
    .msgr { display: block; height: auto; min-height: 0; border: 0; border-radius: 0; box-shadow: none; overflow: visible; background: none; }
    .msgr__side { border: 0; background: none; }
    .msgr__side-top { padding: 0 0 10px; border: 0; }
    .msgr__scroll { overflow: visible; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
    .msgr__main--empty { display: none; }
    /* otwarta rozmowa: na cały ekran jak w komunikatorze */
    .msgr--thread .msgr__side { display: none; }
    .msgr--thread .msgr__main { position: fixed; inset: 0; z-index: 1200; height: 100vh; height: 100dvh; }
    .msgr-head__back { display: grid; }
    .msgr-head { padding: 6px 8px; padding-top: max(6px, env(safe-area-inset-top)); }
    .msgr-head__item img { width: 44px; height: 36px; }
    .msgr-log { padding: 10px; }
    .msgr-msg { max-width: 86%; }
    .msgr-form { padding: 8px; padding-bottom: max(8px, env(safe-area-inset-bottom)); }
    .msgr-form__hint { display: none; }
    .msgr-send span { display: none; }
    .msgr-send { width: 44px; padding: 0; justify-content: center; }
    html.msgr-open, html.msgr-open body { overflow: hidden; }
    /* w Wiadomościach na telefonie bez pływających przycisków (czat z obsługą, „Zgłoś błąd”) – nie zasłaniają rozmów */
    html.msgr-on .chat, html.msgr-on .bugtab { display: none !important; }
}

/* dymek „Czy na pewno chcesz wysłać te dane?” – od razu przy polu pisania (czat, formularz przy ogłoszeniu) */
.ask-bubble { position: relative; margin: 0 0 10px; padding: 12px 14px; border: 1px solid #FCD34D; border-left: 4px solid #F59E0B; border-radius: 14px;
    background: #FFFBEB; color: #78350F; font-size: 13.5px; line-height: 1.45; box-shadow: 0 8px 24px rgba(15, 23, 42, .12); animation: ask-in .2s ease-out; }
.ask-bubble--asked { border-left-color: #DC2626; }
.ask-bubble__title { display: block; font-size: 15px; color: #7C2D12; margin-bottom: 2px; }
.ask-bubble__found { margin: 0 0 6px; }
.ask-bubble__asked { margin: 0 0 6px; padding: 6px 10px; border-radius: 8px; background: #FEE2E2; color: #991B1B; font-weight: 600; }
.ask-bubble__why summary { cursor: pointer; width: fit-content; color: #92400E; font-size: 12.5px; font-weight: 600; }
.ask-bubble__why ul { margin: 6px 0 0; padding-left: 18px; display: grid; gap: 3px; }
.ask-bubble__act { display: flex; gap: 8px; margin-top: 10px; }
.ask-bubble__yes, .ask-bubble__no { flex: 1; height: 42px; border-radius: 21px; font: inherit; font-weight: 700; cursor: pointer; }
.ask-bubble__yes { border: 0; background: var(--accent); color: #fff; }
.ask-bubble__yes:hover { background: var(--accent-dark); }
.ask-bubble__no { border: 1px solid #D6A75C; background: #fff; color: #7C2D12; }
.ask-bubble__no:hover { background: #FEF3C7; }
@keyframes ask-in { from { opacity: 0; transform: translateY(6px); } }
@media (prefers-reduced-motion: reduce) { .ask-bubble { animation: none; } }
.msgr-form .ask-bubble { max-height: 52vh; overflow-y: auto; }

/* „Czy na pewno chcesz wysłać te dane?” pod polem wiadomości */
.sens-confirm { display: flex; gap: 10px; align-items: flex-start; margin: 2px 0 10px; padding: 10px 14px; border: 1px solid #FCD34D; border-left: 4px solid #F59E0B; border-radius: 10px;
    background: #FFFBEB; color: #78350F; font-size: 13.5px; line-height: 1.45; }
.sens-confirm svg { flex: none; color: #B45309; margin-top: 1px; }
.sens-confirm strong { display: block; color: #7C2D12; margin-bottom: 4px; }
.sens-confirm__found { margin: 0 0 4px; }
.sens-confirm ul { margin: 4px 0 2px; padding-left: 18px; display: grid; gap: 3px; }
.sens-confirm__why summary { cursor: pointer; width: fit-content; color: #92400E; font-size: 12.5px; font-weight: 600; }
.sens-confirm__asked { margin: 0 0 8px; padding: 6px 10px; border-radius: 8px; background: #FEE2E2; color: #991B1B; font-weight: 600; }
.sens-confirm--asked { border-left-color: #DC2626; }
.sens-confirm__ok { display: flex; gap: 8px; align-items: flex-start; margin: 6px 0 4px; font-weight: 700; color: #7C2D12; cursor: pointer; }
.sens-confirm__ok input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: #B45309; }
.sens-confirm small { display: block; color: #92400E; opacity: .85; }

/* ramka „bezpieczne wiadomości” w skrzynce – jedna linijka z wskazówką dnia */
.safe-strip { display: flex; gap: 10px; align-items: center; margin: 0 0 12px; padding: 9px 14px; border: 1px solid #BBF7D0; border-radius: 10px; background: #F0FDF4; color: #14532D; font-size: 13.5px; line-height: 1.4; }
.safe-strip svg { flex: none; color: #15803D; }
.msgr-page > .safe-strip, .msgr-page > .scam-toast { margin: 0 0 12px; }
.safe-strip a { color: #15803D; font-weight: 700; white-space: nowrap; }
/* wskazówki zmieniają się same (site.js – [data-rotate]); wszystkie leżą w jednym miejscu, więc pasek nie skacze */
.safe-strip__slides { flex: 1; min-width: 0; display: grid; }
.safe-strip__slide { grid-area: 1 / 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2px 14px;
    opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .45s ease, transform .45s ease, visibility .45s; }
.safe-strip__slide.is-active { opacity: 1; visibility: visible; transform: none; }
.safe-strip__slide span { flex: 1 1 280px; }
.safe-strip__dots { flex: none; display: flex; gap: 5px; }
.safe-strip__dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: #BBF7D0; cursor: pointer; }
.safe-strip__dots button.is-active { background: #15803D; }
@media (max-width: 600px) { .safe-strip { align-items: flex-start; } .safe-strip__dots { display: none; } }
/* lista ogłoszeń („Oddam za darmo”): pasek spokojniejszy niż ogłoszenia – jasne tło, cienka ramka, mniejsza czcionka */
.safe-strip--list { margin: 0; padding: 8px 12px; border-color: #D1E7DD; background: #F7FBF8; color: #3F5A4B; font-size: 13px; }
.safe-strip--list b { color: #1F4D36; }
@media (prefers-reduced-motion: reduce) { .safe-strip__slide { transition: none; transform: none; } }

/* chmurka „Zanim napiszesz” (pierwsza wiadomość) i „Bezpieczna rozmowa” (początek czatu) */
.chat-tip { position: relative; display: flex; flex-direction: column; gap: 6px; margin: 0 0 12px; padding: 12px 14px; border-radius: 14px 14px 14px 4px;
    background: #F0FDF4; border: 1px solid #BBF7D0; color: #14532D; font-size: 13.5px; line-height: 1.45; }
/* nagłówek (ikona + tytuł) w jednej linii, punkty pod spodem na całą szerokość – czytelne także w wąskiej kolumnie */
.chat-tip__head { display: flex; align-items: center; gap: 8px; }
.chat-tip__head svg { flex: none; color: #15803D; }
.chat-tip b { font-size: 14px; }
.chat-tip ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.chat-tip li { position: relative; margin: 0; padding-left: 14px; text-align: left; hyphens: manual; }
.chat-tip li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 5px; height: 5px; border-radius: 50%; background: #16A34A; }
.chat-tip a { align-self: flex-start; color: #15803D; font-weight: 700; white-space: nowrap; }
.chat-tip--log { align-self: center; max-width: 520px; margin: 4px auto 6px; border-radius: 14px; box-shadow: 0 1px 2px rgba(15, 23, 42, .05); }

/* zdjęcia ogłoszeń: bez przeciągania i bez menu „zapisz obraz” po przytrzymaniu na iPhonie (patrz site.js) */
img[src*="/storage/listings/"], img[src*="/storage/demo-photos/"], .gallery img, .lightbox img {
    -webkit-user-drag: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none;
}


/* ============ „Udostępnij” ogłoszenie: w galerii, pod opisem, po dodaniu (site.js – menu telefonu albo okienko) ============ */
/* prawy górny róg zdjęcia: „Udostępnij” (+ na telefonie gwiazdka „Obserwuj”) */
/* komputer: „Obserwuj” i „Udostępnij” stoją obok tytułu – zdjęcie zostaje czyste (logo w rogu nie jest zasłonięte) */
.gallery__acts { position: absolute; top: 10px; right: 10px; z-index: 2; display: none; gap: 8px; }
.gallery__acts--bl { top: auto; right: auto; bottom: 10px; left: 10px; }
.gallery__share { display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 14px 0 11px;
    border: 0; border-radius: 999px; background: rgba(255, 255, 255, .94); color: var(--ink); font: 700 13.5px var(--font); cursor: pointer;
    box-shadow: 0 6px 16px -6px rgba(15, 23, 42, .45); }
.gallery__share:hover { background: #fff; }
.fav-big.gallery__fav { display: none; }
.share-ask { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; margin-top: 16px; padding: 12px 14px;
    border: 1px dashed #CBD5E1; border-radius: 12px; background: #F8FAFC; font-size: 14px; color: #475569; }
.share-ask--thanks { justify-content: center; text-align: center; margin: 14px 0; }
.share-ask__btn { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 15px; border: 0; border-radius: 10px; background: var(--ink); color: #fff;
    font: 700 13.5px var(--font); cursor: pointer; white-space: nowrap; }
.share-ask__btn:hover { background: #0F172A; }
.share-pop { position: absolute; z-index: 60; width: 300px; max-width: calc(100vw - 24px); background: #fff; border: 1px solid var(--line); border-radius: 16px;
    box-shadow: 0 24px 50px -18px rgba(15, 23, 42, .35); padding: 14px; }
.share-pop h4 { margin: 0 0 10px; font: 700 14px var(--display); color: var(--ink); }
.share-pop__link { display: flex; gap: 6px; align-items: center; padding: 4px 4px 4px 10px; border: 1px solid var(--line); border-radius: 10px; background: #F8FAFC; }
.share-pop__link input { flex: 1; min-width: 0; border: 0; background: transparent; font-size: 13px; color: #475569; outline: none; }
.share-pop__link button { flex: none; height: 32px; padding: 0 12px; border: 0; border-radius: 8px; background: var(--ink); color: #fff; font: 700 13px var(--font); cursor: pointer; }
.share-pop__link button.is-done { background: #15803D; }
.share-pop__apps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 12px; }
.share-pop__apps a { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 8px 2px; border-radius: 10px; font-size: 12.5px; font-weight: 600; color: #334155; text-decoration: none; }
.share-pop__apps a:hover { background: #F1F5F9; }
.share-pop__apps i { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; color: #fff; font: 800 15px/1 var(--font); font-style: normal; background: var(--c); }
.share-pop small { display: block; margin-top: 10px; color: #64748B; font-size: 12px; line-height: 1.45; }

/* „Obserwuj” i „Udostępnij” obok tytułu ogłoszenia – jeden pod drugim */
.ltitle__acts { flex: none; display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
/* telefon: tytuł na całą szerokość, bez przycisków obok – „Obserwuj” i „Udostępnij” jako małe ikonki na zdjęciu (mniej przewijania).
   Zdjęcie „szklane”: półprzezroczyste ikonki z rozmyciem, delikatne strzałki, bez lupy; puste pasy wypełnia rozmyte to samo zdjęcie (--g-bg z site.js). */
@media (max-width: 640px) {
    .ltitle__acts { display: none; }
    .gallery__acts { display: flex; }
    .gallery__main:not(.gallery__main--placeholder)::before { content: ""; position: absolute; inset: -30px; background: var(--g-bg, none) center / cover no-repeat;
        filter: blur(24px) brightness(.62) saturate(1.15); }
    .gallery__main img { position: relative; z-index: 1; }
    .gallery__main--zoomable::after { display: none; }
    .gallery__share, .fav-big.gallery__fav, .gallery__nav, .gallery__count { z-index: 2; border: 1px solid rgba(255, 255, 255, .22); background: rgba(15, 23, 42, .38);
        color: #fff; box-shadow: none; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
    .gallery__share, .fav-big.gallery__fav { display: inline-flex; justify-content: center; width: 34px; height: 34px; padding: 0; margin: 0; gap: 0; border-radius: 50%; }
    .gallery__share svg, .gallery__fav svg { width: 16px; height: 16px; }
    .gallery__share span, .gallery__fav span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
    .gallery__share:hover, .gallery__nav:hover, .fav-big.gallery__fav.is-on { background: rgba(15, 23, 42, .38); color: #fff; }
    .fav-big.gallery__fav.is-on svg { fill: #FACC15; stroke: #FACC15; }
    .gallery__nav { width: 32px; height: 32px; opacity: .9; }
    .gallery__nav svg { width: 16px; height: 16px; }
    .gallery__nav--prev { left: 8px; }
    .gallery__nav--next { right: 8px; }
    .gallery__count { height: 26px; padding: 0 10px; border-radius: 13px; display: inline-flex; align-items: center; font: 600 12.5px var(--font); }
}
.share-pill:hover { border-color: #94A3B8; }

/* ---------- Poradnik: narzędzia „Kupiłeś auto – co dalej?” (kalkulator, wzór OC, lista) ---------- */
.car-tool { margin: 22px 0; padding: 22px; border-radius: 18px; background: linear-gradient(130deg, #FFF4EE, #fff 65%); border: 1px solid #FBD5C5; }
.car-tool--doc { background: #F8FAFC; border-color: var(--line); }
.car-tool__title { margin: 6px 0 14px; font-size: 20px; }
.car-tool__form { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 14px 12px; align-items: end; }
/* etykieta nad polem (zawsze w jednej linii z dopiskiem), pola w rzędzie równo u dołu */
.car-tool__form label { display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; min-width: 0; font-size: 13.5px; font-weight: 600; color: var(--ink-2); }
.car-tool__form label > span { line-height: 1.3; }
.car-tool__form small { font-weight: 400; font-size: 12.5px; color: var(--muted); }
.car-tool__form input, .car-tool__form select { box-sizing: border-box; width: 100%; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid #CBD5E1; border-radius: 10px; font: 15px var(--font); color: var(--ink); background: #fff; }
.car-tool__out, .prose .car-tool__out { margin: 16px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.car-tool__out li { padding: 10px 14px; border-radius: 10px; background: #fff; border: 1px solid var(--line); }
.car-tool__out b { color: var(--accent-dark); }
.car-tool__sum { margin: 12px 0 0; font-weight: 700; }
.car-tool__acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.brand-btn--ghost { background: #fff; color: var(--accent-dark); border: 1px solid #FBD5C5; box-shadow: none; }
.brand-btn--ghost:hover { background: #FFF4EE; color: var(--accent-dark); }
.car-tool__note { margin: 12px 0 0; font-size: 13px; color: var(--muted); }
.car-tool__basis { margin: -6px 0 12px; font-size: 14px; line-height: 1.55; color: var(--ink-2); }
.car-tool__letter { margin: 0; padding: 16px; max-height: 340px; overflow: auto; white-space: pre-wrap; border-radius: 10px; background: #fff; border: 1px solid var(--line); font: 14px/1.55 var(--font); color: var(--ink); }
.car-tool__list, .prose .car-tool__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 6px; }
.car-tool__list label { display: flex; gap: 10px; align-items: flex-start; padding: 9px 12px; border-radius: 10px; background: #fff; border: 1px solid var(--line); cursor: pointer; }
.car-tool__list input { width: 20px; height: 20px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--accent); }
.car-tool__list b { display: inline-block; min-width: 108px; color: var(--accent-dark); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.car-tool__list input:checked + span { color: var(--muted); text-decoration: line-through; }
@media (max-width: 640px) {
    .car-tool { padding: 16px; }
    .car-tool__list b { display: block; min-width: 0; }
}
.car-tool__form--one { grid-template-columns: minmax(0, 420px); }
.car-tool__form--one input { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .06em; text-transform: uppercase; }
.prose .car-tool__out li, .prose .car-tool__list li { margin: 0; }
/* kalkulatory: przełączniki kosztów, „więcej założeń”, słupki porównania */
.car-tool__checks { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.car-tool__checks label { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid #CBD5E1; border-radius: 999px; background: #fff; font-size: 13.5px; font-weight: 600; color: var(--ink-2); cursor: pointer; }
.car-tool__checks input { width: 18px; height: 18px; margin: 0; accent-color: var(--accent); }
.car-tool__more { margin-top: 14px; }
.car-tool__more summary { cursor: pointer; font-size: 13.5px; font-weight: 700; color: var(--accent-dark); }
.car-tool__more .car-tool__form { margin-top: 12px; }
.car-tool__bars { display: grid; gap: 8px; margin-top: 16px; }
.car-bar { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; align-items: center; gap: 10px; font-size: 13.5px; }
.car-bar__label { font-weight: 600; color: var(--ink-2); }
.car-bar__track { display: flex; height: 14px; border-radius: 999px; background: #fff; border: 1px solid var(--line); overflow: hidden; }
.car-bar__track i { display: block; height: 100%; }
.car-bar__tyres { background: var(--accent); }
.car-bar__service { background: #FDBA74; }
.car-bar b { font-variant-numeric: tabular-nums; }
[data-car-excise-rate][hidden], [data-car-excise-cc][hidden], [data-car-half-cost][hidden] { display: none; }
.car-tool__form--pairs { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
@media (max-width: 640px) { .car-bar { grid-template-columns: 104px minmax(0, 1fr) auto; } .car-tool__form--pairs { grid-template-columns: 1fr 1fr; gap: 12px 10px; } }

/* ============ strona ogłoszenia: lokalizacja z mapką, przyciski kontaktu, okno wiadomości na dole ============ */
.lloc { display: flex; flex-direction: column; gap: 2px; padding-top: 14px; border-top: 1px solid var(--line); }
.lloc__lbl { display: flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--muted); }
.lloc__lbl svg { color: var(--accent); }
.lloc__city { display: block; margin-top: 5px; font: 700 17px/1.25 var(--display); color: var(--ink); overflow-wrap: anywhere; }
.lloc__area { display: block; margin-top: 2px; font-size: 13px; line-height: 1.4; color: var(--muted); }
.lloc__box { margin-top: 10px; padding: 12px 10px 8px; border-radius: 12px; background: #F6F8FA; display: flex; justify-content: center; }
.lloc__map { display: block; width: 100%; max-width: 190px; height: auto; overflow: visible; }
.lloc__land { fill: #E2E8EE; stroke: #fff; stroke-width: 2.4; stroke-linejoin: round; }
.lloc__reg { fill: #FFE1D2; stroke: #fff; stroke-width: 2.4; stroke-linejoin: round; }
.lloc__ring { fill: var(--accent); opacity: .18; }
.lloc__pin { fill: var(--accent); stroke: #fff; stroke-width: 3; stroke-linejoin: round; }
.lloc__dot { fill: #fff; }
.btn--offer { background: #fff; color: #1D4ED8; border: 1px solid #BFDBFE; }
.btn--offer:hover { background: #EFF6FF; color: #1D4ED8; }
.seller .btn svg { vertical-align: -4px; margin-right: 6px; }
.lmsg { display: flex; flex-direction: column; gap: 14px; scroll-margin-top: 16px; }
.lmsg__head { display: flex; align-items: center; gap: 12px; }
.lmsg__head .avatar { width: 40px; height: 40px; font-size: 16px; }
.lmsg__head small { display: block; margin-top: 2px; color: var(--muted); font-size: 13px; }
.lmsg__box { position: relative; }
.lmsg__box .textarea { min-height: 210px; font-size: 15.5px; border-radius: 10px; }
/* porada w środku okna, pod podpowiedzią; znika przy pisaniu, wraca po wyczyszczeniu */
.chat-tip--box { position: absolute; left: 12px; right: 12px; bottom: 12px; max-width: 560px; margin: 0; pointer-events: none; transition: opacity .15s, visibility .15s; }
.chat-tip--box ul { gap: 3px; }
.chat-tip--box a { pointer-events: auto; }
.lmsg__box .textarea:not(:placeholder-shown) + .chat-tip--box { opacity: 0; visibility: hidden; }
.lmsg__send { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; }
.lmsg__send .btn { min-width: 220px; }
.lmsg__send small { color: var(--muted); font-size: 13px; }
.lmsg__login { align-self: flex-start; min-width: 260px; }
.lmsg .offer-box > summary { justify-content: flex-start; }
.lmsg .offer-box { scroll-margin-top: 16px; }
@media (max-width: 600px) {
    .lmsg__box .textarea { min-height: 270px; }
    .lmsg__send .btn, .lmsg__login { width: 100%; min-width: 0; }
}
/* telefon i wąskie okno (kolumny jedna pod drugą): karta sprzedającego z mapką tuż nad oknem wiadomości */
@media (max-width: 887px) {
    .lpage { flex-direction: column; flex-wrap: nowrap; gap: 14px; align-items: stretch; }
    .lpage > .layout__main { display: contents; }
    .lpage > .layout__side { order: 1; flex: none; }
    .lpage .lmsg { order: 2; }
    .lpage .lmsg ~ * { order: 3; }
}


/* gość na stronie ogłoszenia: lekka czerwona adnotacja pod przyciskami kontaktu */
.guest-hint { display: flex; gap: 8px; align-items: flex-start; margin: 2px 0 0; padding: 9px 12px; border-radius: 10px; background: #FDF1EF; border: 1px solid #F6D3CC; color: #B4372A; font-size: .84rem; line-height: 1.45; }
.guest-hint svg { flex: none; margin-top: 2px; }
.guest-hint a { color: #B4372A; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
