:root {
  --navy:#0b2243;
  --navy-2:#102c52;
  --blue:#214f9a;
  --blue-light:#e9f0fb;
  --orange:#f47a36;
  --orange-dark:#e96825;
  --ink:#132941;
  --muted:#6e7d91;
  --line:#e4eaf2;
  --bg:#f5f7fb;
  --white:#fff;
  --shadow:0 18px 45px rgba(18,42,74,.09)
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.5
}

button,input,select,textarea {
  font:inherit
}

button {
  cursor:pointer
}

a {
  text-decoration:none;
  color:inherit
}

a:hover {
  color:var(--blue)
}

.icon {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  flex:none
}

h1,h2,h3,p {
  margin-top:0
}

.container-xl {
  max-width:1320px
}

.topline {
  height:29px;
  background:#071a33;
  color:#b9c8dc;
  font-size:12px;
  letter-spacing:.02em;
  display:flex;
  align-items:center
}

.topline .container-xl {
  width:100%
}

.topline-right {
  color:#e6edf8
}

.site-header {
  background:#fff;
  position:relative;
  z-index:20;
  border-bottom:1px solid #eef1f5
}

.header-inner {
  height:75px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px
}

.brand {
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex:none;
  color:var(--navy)
}

.brand:hover {
  color:var(--navy)
}

.brand-symbol {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:var(--navy);
  color:var(--orange);
  font-weight:900;
  font-size:26px;
  letter-spacing:-.12em;
  padding-right:5px;
  line-height:1
}

.brand-word {
  font-size:27px;
  font-weight:850;
  letter-spacing:-.055em;
  line-height:.8
}

.brand-word>span {
  color:var(--orange)
}

.brand-word small {
  display:block;
  margin-top:7px;
  color:#8291a4;
  font-size:9px;
  font-weight:600;
  letter-spacing:.09em;
  text-transform:uppercase
}

.desktop-nav {
  height:100%;
  display:flex;
  align-items:center;
  gap:31px;
  margin-left:auto
}

.desktop-nav a {
  height:100%;
  display:flex;
  align-items:center;
  position:relative;
  font-size:14px;
  font-weight:650;
  color:#3f5068;
  white-space:nowrap
}

.desktop-nav a:hover,.desktop-nav a.active {
  color:var(--navy)
}

.desktop-nav a.active:after {
  content:"";
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  height:3px;
  background:var(--orange)
}

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

.search-button,.primary-button {
  border:0;
  background:var(--orange);
  color:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:9px;
  font-weight:750;
  box-shadow:0 8px 20px rgba(244,122,54,.19);
  transition:background .18s,transform .18s
}

.search-button:hover,.primary-button:hover {
  background:var(--orange-dark);
  color:#fff;
  transform:translateY(-1px)
}

.mobile-menu-toggle,.mobile-nav {
  display:none
}

.section-kicker {
  font-size:11px;
  font-weight:800;
  letter-spacing:.18em
}

.search-wrap {
  position:relative;
  z-index:2;
  padding-top:27px
}

.search-panel {
  background:#fff;
  border:1px solid var(--line);
  border-radius:13px;
  padding:21px 24px 23px;
  box-shadow:0 12px 32px rgba(18,42,74,.07)
}

.search-panel-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:18px
}

.section-kicker {
  color:var(--orange)
}

.search-panel h1 {
  font-size:22px;
  letter-spacing:-.025em;
  font-weight:800;
  margin:3px 0 0
}

.advanced-link,.text-link {
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:var(--blue);
  font-size:13px;
  font-weight:750
}

.advanced-link .icon,.text-link .icon {
  width:17px;
  height:17px
}

.advanced-link:hover,.text-link:hover {
  color:var(--orange)
}

.search-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr)) 167px;
  gap:11px;
  align-items:end
}

.field {
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#4b5f78;
  font-size:12px;
  font-weight:750
}

.field select,.field input {
  width:100%;
  height:49px;
  border:1px solid var(--line);
  border-radius:8px;
  color:#253c58;
  background:#f9fbfe;
  padding:0 15px;
  outline:none;
  appearance:auto;
  font-weight:550;
  font-size:14px
}

.field select:focus,.field input:focus {
  border-color:#6290cb;
  box-shadow:0 0 0 3px rgba(57,113,187,.12)
}

.price-control {
  position:relative
}

.price-control input {
  padding-right:44px;
  appearance:textfield
}

.price-control input::-webkit-inner-spin-button,
.price-control input::-webkit-outer-spin-button {
  -webkit-appearance:none;
  margin:0
}

.price-control select {
  position:absolute;
  top:0;
  right:0;
  width:38px;
  padding:0;
  border:0;
  border-radius:0 8px 8px 0;
  background-color:transparent;
  color:transparent;
  cursor:pointer
}

.price-control select option {
  background:#fff;
  color:#253c58
}

.price-control>.icon {
  position:absolute;
  top:50%;
  right:12px;
  width:14px;
  height:14px;
  transform:translateY(-50%);
  color:#4b5f78;
  pointer-events:none
}

.model-status:empty {
  display:none
}

.model-status:not(:empty) {
  display:block;
  color:#5c6e83;
  font-size:11px;
  font-weight:500;
  line-height:1.35
}

.model-status.is-error {
  color:#b04427
}

/* Searchable brand and model fields; native selects remain as a no-script fallback. */
select.catalog-native-select {
  display:none!important
}

.catalog-search {
  position:relative;
  display:block;
  width:100%;
  min-width:0
}

.catalog-search::after {
  content:"";
  position:absolute;
  top:50%;
  right:15px;
  width:7px;
  height:7px;
  border-right:2px solid #667a93;
  border-bottom:2px solid #667a93;
  transform:translateY(-70%) rotate(45deg);
  pointer-events:none
}

.catalog-search .catalog-search-input {
  width:100%;
  padding-right:36px
}

.catalog-search-input:disabled {
  background:#f3f6fa;
  color:#8b99a9;
  cursor:not-allowed
}

.catalog-search-list {
  position:absolute;
  top:calc(100% + 5px);
  left:0;
  z-index:30;
  width:100%;
  max-height:270px;
  overflow-y:auto;
  padding:5px;
  border:1px solid #d6e0ed;
  border-radius:9px;
  background:#fff;
  box-shadow:0 14px 30px rgba(23,49,79,.17);
  color:#213953;
  font-size:13px;
  font-weight:550
}

.catalog-search-option,.catalog-search-empty,.catalog-search-more {
  display:block;
  padding:9px 10px;
  border-radius:6px;
  line-height:1.3
}

.catalog-search-option {
  width:100%;
  border:0;
  background:transparent;
  color:inherit;
  text-align:left;
  font:inherit;
  cursor:pointer
}

.catalog-search-option:hover,.catalog-search-option.is-active {
  background:#edf3fb;
  color:#174b8d
}

.catalog-search-empty,.catalog-search-more {
  color:#718197;
  font-size:12px
}

.search-button {
  height:49px;
  padding:0 15px;
  font-size:14px
}

.search-button .icon {
  width:18px;
  height:18px;
  stroke-width:2.2
}

.featured-section {
  padding-top:39px;
  padding-bottom:75px
}

.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:25px
}

.section-heading h2,.browse-copy h2 {
  font-size:30px;
  font-weight:800;
  letter-spacing:-.04em;
  margin:5px 0
}

.heading-mark {
  color:var(--orange)
}

.section-heading p {
  font-size:14px;
  color:var(--muted);
  margin:0
}

.section-heading .text-link {
  margin-bottom:6px
}

.offer-card {
  height:100%;
  background:#fff;
  border:1px solid #e5ebf2;
  border-radius:13px;
  overflow:hidden;
  box-shadow:0 5px 16px rgba(28,49,78,.035);
  transition:box-shadow .2s,transform .2s
}

.offer-card:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow)
}

.offer-image {
  position:relative;
  display:block;
  aspect-ratio:1.44;
  overflow:hidden
}

.offer-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s
}

.offer-card:hover .offer-image img {
  transform:scale(1.04)
}

.image-fallback {
  background:#394d67
}

.image-fallback:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(140deg,rgba(6,28,54,.02),rgba(6,28,54,.42));
  pointer-events:none;
  z-index:1
}

.bmw-color {
  background:linear-gradient(135deg,#304c68,#0e203d)
}

.audi-color {
  background:linear-gradient(135deg,#b2c0c9,#73869b)
}

.mercedes-color {
  background:linear-gradient(135deg,#354254,#0e1625)
}

.porsche-color {
  background:linear-gradient(135deg,#d87537,#492c28)
}

.promoted-tag,.photo-count {
  position:absolute;
  z-index:2;
  top:13px;
  border-radius:5px;
  font-size:11px;
  font-weight:800
}

.promoted-tag {
  left:13px;
  background:var(--orange);
  color:#fff;
  padding:6px 9px
}

.photo-count {
  right:13px;
  background:rgba(9,28,51,.8);
  color:#fff;
  padding:5px 8px;
  display:flex;
  align-items:center;
  gap:4px
}

.photo-count .icon {
  width:13px;
  height:13px
}

.offer-body {
  padding:15px 16px 17px
}

.offer-topline {
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#8a99aa;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em
}

.favorite-button {
  border:0;
  background:none;
  color:#8ea0b5;
  padding:1px 0 1px 9px
}

.favorite-button:hover,.favorite-button.is-active {
  color:var(--orange)
}

.favorite-button.is-active .icon {
  fill:var(--orange)
}

.favorite-button .icon {
  width:19px;
  height:19px
}

.offer-body h3 {
  font-size:17px;
  font-weight:800;
  line-height:1.27;
  letter-spacing:-.025em;
  min-height:43px;
  margin:7px 0 5px
}

.offer-body h3 a:hover {
  color:var(--blue)
}

.offer-subtitle {
  font-size:12px;
  color:#6b7c90;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  margin-bottom:13px
}

.offer-meta {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding-bottom:15px;
  border-bottom:1px solid var(--line)
}

.offer-meta span {
  font-size:11px;
  color:#596c83;
  background:#f2f5f9;
  border-radius:5px;
  padding:5px 7px;
  font-weight:650
}

.offer-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-top:12px
}

.offer-bottom strong {
  font-size:20px;
  font-weight:850;
  color:var(--navy);
  letter-spacing:-.035em
}

.offer-bottom>a {
  width:29px;
  height:29px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eef3fa;
  color:var(--blue)
}

.offer-bottom>a:hover {
  background:var(--blue);
  color:#fff
}

.offer-bottom .icon {
  width:16px;
  height:16px
}

.browse-section {
  background:#eaf0f8;
  padding:51px 0 58px
}

.browse-section>.container-xl {
  display:grid;
  grid-template-columns:290px 1fr;
  gap:50px;
  align-items:center
}

.browse-copy h2 {
  font-size:29px;
  margin-top:8px
}

.browse-copy p {
  font-size:14px;
  color:#6b7d93;
  margin:10px 0 0
}

.browse-links {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:13px
}

.browse-tile {
  min-height:145px;
  background:#fff;
  border:1px solid #dce5f0;
  border-radius:11px;
  padding:17px 18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .2s,border-color .2s
}

.browse-tile:hover {
  transform:translateY(-3px);
  border-color:#9bb6d7
}

.browse-number {
  color:var(--orange);
  font-size:12px;
  font-weight:800
}

.browse-tile strong {
  font-size:17px;
  letter-spacing:-.025em
}

.browse-tile .icon {
  align-self:flex-end;
  color:var(--blue)
}

.site-footer {
  background:#0a1e38;
  color:#c6d2e2;
  padding:40px 0 25px
}

.footer-inner {
  display:flex;
  align-items:center;
  gap:28px;
  flex-wrap:wrap
}

.footer-brand .brand-symbol {
  background:#1a3b60
}

.footer-brand .brand-word {
  color:#fff
}

.footer-inner p {
  margin:0 auto 0 0;
  font-size:13px;
  color:#a5b6ca
}

.footer-links {
  display:flex;
  gap:20px;
  font-size:12px;
  font-weight:650
}

.footer-links a:hover {
  color:#fff
}

.copyright {
  width:100%;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.1);
  font-size:11px;
  color:#7088a2
}

.footer-credit {
  display:inline-block;
  margin-left:12px
}

.footer-credit a {
  color:#bfd8fa;
  text-decoration:underline;
  text-decoration-color:rgba(191,216,250,.55);
  text-underline-offset:2px
}

.footer-credit a:hover,
.footer-credit a:focus-visible {
  color:#fff
}

@media(max-width:767px) {
  .footer-credit {
    display:block;
    margin:8px 0 0
  }
}

.toast-note {
  position:fixed;
  z-index:70;
  bottom:22px;
  left:50%;
  transform:translate(-50%,20px);
  background:#102a4a;
  color:#fff;
  border-radius:9px;
  padding:11px 16px;
  box-shadow:0 14px 30px rgba(0,0,0,.2);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s,transform .2s;
  font-size:13px;
  max-width:min(92vw,420px);
  text-align:center
}

.toast-note.visible {
  opacity:1;
  transform:translate(-50%,0)
}

@media(max-width:1199px) {
  .desktop-nav {
    gap:18px
  }
  .desktop-nav a {
    font-size:12px
  }
  .header-actions {
    gap:12px
  }
  .browse-section>.container-xl {
    gap:24px;
    grid-template-columns:245px 1fr
  }
}

@media(max-width:991px) {
  .desktop-nav {
    display:none
  }
  .mobile-menu-toggle {
    display:grid;
    place-items:center;
    border:0;
    background:#eef3f9;
    color:var(--navy);
    width:42px;
    height:42px;
    border-radius:8px
  }
  .mobile-nav {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    box-shadow:0 15px 28px rgba(9,27,51,.11);
    padding:12px 24px
  }
  .mobile-nav.open {
    display:flex;
    flex-direction:column
  }
  .mobile-nav a {
    padding:12px 0;
    font-weight:650;
    border-bottom:1px solid var(--line)
  }
  .search-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .search-button {
    grid-column:2
  }
  .browse-section>.container-xl {
    grid-template-columns:1fr
  }
  .browse-copy {
    max-width:440px
  }
}

@media(max-width:767px) {
  .topline-right {
    display:none
  }
  .topline {
    font-size:11px
  }
  .header-inner {
    height:65px
  }
  .brand-symbol {
    width:36px;
    height:36px;
    font-size:23px
  }
  .brand-word {
    font-size:24px
  }
  .search-wrap {
    padding-top:19px
  }
  .search-panel {
    padding:19px
  }
  .search-panel-heading {
    align-items:start
  }
  .advanced-link {
    font-size:0
  }
  .advanced-link .icon {
    width:20px;
    height:20px
  }
  .search-grid {
    grid-template-columns:1fr 1fr
  }
  .featured-section {
    padding-top:32px;
    padding-bottom:55px
  }
  .section-heading h2 {
    font-size:27px
  }
  .section-heading .text-link {
    font-size:0
  }
  .section-heading .text-link .icon {
    width:21px;
    height:21px
  }
  .browse-links {
    grid-template-columns:1fr
  }
  .browse-tile {
    min-height:90px;
    flex-direction:row;
    align-items:center
  }
  .browse-tile .icon {
    align-self:center
  }
  .footer-inner p {
    display:none
  }
  .footer-links {
    width:100%
  }
}

@media(max-width:520px) {
  .search-wrap {
    padding-top:15px
  }
  .search-grid {
    grid-template-columns:1fr
  }
  .search-button {
    grid-column:auto
  }
  .search-panel-heading {
    margin-bottom:15px
  }
  .search-panel h1 {
    font-size:20px
  }
  .field select,.field input {
    height:45px
  }
  .search-button {
    height:47px
  }
  .section-heading {
    align-items:end
  }
  .section-heading h2 {
    font-size:24px
  }
  .offer-body h3 {
    min-height:auto
  }
  .featured-grid>.col-sm-6 {
    width:100%
  }
  .offer-image {
    aspect-ratio:1.7
  }
  .browse-copy h2 {
    font-size:26px
  }
}

/* Catalog */
.page-intro {
  background:#eaf0f8;
  border-bottom:1px solid #dfe7f1;
  overflow:hidden
}

.page-intro>.container-xl {
  position:relative;
  padding-top:25px;
  padding-bottom:29px
}

.breadcrumbs {
  display:flex;
  align-items:center;
  gap:10px;
  color:#8795a6;
  font-size:12px;
  font-weight:650;
  white-space:nowrap;
  overflow:hidden
}

.breadcrumbs a {
  color:#627992
}

.breadcrumbs a:hover {
  color:var(--blue)
}

.breadcrumbs span:last-child {
  overflow:hidden;
  text-overflow:ellipsis
}

.page-intro-main {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-top:26px
}

.page-intro h1 {
  font-size:37px;
  font-weight:850;
  letter-spacing:-.045em;
  margin:5px 0 3px
}

.page-intro h1 span {
  color:var(--orange)
}

.page-intro p {
  font-size:14px;
  color:#697e96;
  margin:0
}

.page-intro p strong {
  color:var(--blue)
}

.intro-accent {
  font-size:155px;
  line-height:.7;
  font-weight:900;
  letter-spacing:-.1em;
  color:rgba(30,79,147,.07);
  margin-right:28px;
  user-select:none
}

.intro-accent span {
  color:rgba(244,122,54,.18)
}

.catalog-layout {
  display:grid;
  grid-template-columns:272px minmax(0,1fr);
  gap:25px;
  padding-top:31px;
  padding-bottom:74px;
  align-items:start
}

.filter-sidebar {
  position:sticky;
  top:20px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:13px;
  box-shadow:0 5px 18px rgba(24,49,80,.035);
  overflow:hidden
}

.filters-heading {
  height:64px;
  padding:0 20px;
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--line)
}

.filters-heading>div {
  display:flex;
  gap:9px;
  align-items:center
}

.filters-heading .icon {
  color:var(--blue);
  width:19px;
  height:19px
}

.filters-heading h2 {
  font-size:17px;
  letter-spacing:-.02em;
  font-weight:800;
  margin:0
}

.mobile-filter-close {
  display:none
}

.filters-body {
  padding:20px
}

.filter-field {
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-bottom:17px;
  font-size:13px;
  font-weight:750;
  color:#41566e
}

.filter-field select {
  height:44px;
  border:1px solid #dce5ef;
  background:#fbfcfe;
  color:#213953;
  border-radius:7px;
  padding:0 11px;
  outline:none;
  font-size:13px;
  font-weight:550;
  max-width:100%
}

.filter-field select:focus,.sort-field select:focus {
  border-color:#6898d4;
  box-shadow:0 0 0 3px rgba(57,113,187,.12)
}

.filter-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px
}

.filter-apply {
  width:100%;
  height:44px;
  border:0;
  border-radius:7px;
  background:var(--blue);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:13px;
  font-weight:750;
  transition:background .2s
}

.filter-apply:hover {
  background:#173d7b
}

.filter-apply .icon {
  width:16px;
  height:16px
}

.filter-reset {
  display:block;
  margin:11px auto 0;
  background:none;
  border:0;
  color:#7c8ca0;
  text-decoration:underline;
  font-size:12px;
  font-weight:650
}

.catalog-results {
  min-width:0
}

.catalog-toolbar {
  height:60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #dce5ef;
  margin-bottom:15px
}

.result-summary {
  display:flex;
  align-items:baseline;
  gap:7px
}

.result-summary strong {
  font-size:18px;
  font-weight:800;
  letter-spacing:-.02em
}

.result-summary span {
  font-size:13px;
  color:#8a99a9
}

.toolbar-controls {
  display:flex;
  align-items:center;
  gap:10px
}

.sort-field {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:#778ba0;
  font-weight:650
}

.sort-field select {
  height:37px;
  min-width:174px;
  padding:0 8px;
  border:1px solid #dce5ef;
  border-radius:7px;
  background:#fff;
  color:#294058;
  outline:none;
  font-size:12px;
  font-weight:650
}

.mobile-filter-toggle {
  display:none
}

.active-filters {
  display:flex;
  flex-wrap:wrap;
  gap:7px
}

.active-filters:not(:empty) {
  margin-bottom:13px
}

.filter-chip {
  border:1px solid #bfd0e5;
  border-radius:20px;
  background:#eef4fb;
  color:#315684;
  padding:5px 10px;
  font-size:11px;
  font-weight:700
}

.filter-chip:hover {
  background:#e2ecf8
}

.listing-list {
  display:grid;
  gap:16px
}

.listing-card {
  display:flex;
  min-height:220px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 3px 14px rgba(24,49,80,.03);
  transition:box-shadow .2s,transform .2s
}

.listing-card:hover {
  box-shadow:var(--shadow);
  transform:translateY(-2px)
}

.listing-image {
  width:275px;
  flex:none;
  position:relative;
  overflow:hidden
}

.listing-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .3s
}

.listing-card:hover .listing-image img {
  transform:scale(1.04)
}

.listing-content {
  min-width:0;
  flex:1;
  padding:19px 22px 17px;
  display:flex;
  flex-direction:column
}

.listing-heading {
  display:flex;
  justify-content:space-between;
  gap:10px
}

.listing-type {
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  color:var(--orange)
}

.listing-heading h2 {
  font-size:20px;
  line-height:1.25;
  letter-spacing:-.03em;
  font-weight:800;
  margin:5px 0
}

.listing-heading h2 a:hover {
  color:var(--blue)
}

.listing-heading p {
  font-size:13px;
  color:#7e8da0;
  margin:0
}

.listing-facts {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin-top:17px
}

.listing-facts span {
  display:flex;
  align-items:center;
  gap:6px;
  color:#566b83;
  font-size:12px;
  font-weight:650
}

.listing-facts .icon {
  width:16px;
  height:16px;
  color:#7e93ac
}

.listing-bottom {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:12px;
  margin-top:auto;
  padding-top:15px;
  border-top:1px solid #edf1f5
}

.listing-bottom>span {
  display:flex;
  align-items:center;
  gap:5px;
  color:#8494a7;
  font-size:12px
}

.listing-bottom>span .icon {
  width:15px;
  height:15px
}

.listing-bottom>div {
  display:flex;
  align-items:center;
  gap:24px
}

.listing-bottom strong {
  font-size:21px;
  font-weight:850;
  letter-spacing:-.035em;
  color:var(--navy);
  white-space:nowrap
}

.listing-bottom a {
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--blue);
  font-size:12px;
  font-weight:800;
  white-space:nowrap
}

.listing-bottom a:hover {
  color:var(--orange)
}

.listing-bottom a .icon {
  width:16px;
  height:16px
}

.empty-results {
  text-align:center;
  padding:75px 20px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px
}

.empty-results[hidden] {
  display:none
}

.empty-results>.icon {
  width:38px;
  height:38px;
  color:#9ab1ca
}

.empty-results h2 {
  font-size:22px;
  font-weight:800;
  margin:15px 0 5px
}

.empty-results p {
  color:var(--muted);
  font-size:14px
}

.empty-results button {
  border:0;
  background:var(--blue);
  color:#fff;
  padding:10px 16px;
  border-radius:7px;
  font-weight:700;
  font-size:13px
}

.filter-scrim {
  display:none
}

/* Offer detail and photo viewer */
.product-main {
  padding-top:23px;
  padding-bottom:75px
}

.product-breadcrumbs {
  margin-bottom:22px
}

.product-head {
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:end;
  margin-bottom:22px
}

.product-head h1 {
  font-size:34px;
  font-weight:850;
  letter-spacing:-.045em;
  line-height:1.15;
  margin:6px 0 8px
}

.product-location {
  display:flex;
  align-items:center;
  gap:7px;
  color:#7b8ca1;
  font-size:12px;
  font-weight:650;
  flex-wrap:wrap
}

.product-location .icon {
  width:15px;
  height:15px
}

.meta-dot {
  color:#bdc7d4
}

.product-save {
  border:1px solid #dbe4ef;
  border-radius:7px;
  background:#fff;
  display:flex;
  align-items:center;
  gap:7px;
  padding:10px 12px;
  font-size:12px;
  font-weight:750;
  color:#3d5978;
  white-space:nowrap;
  box-shadow:0 3px 10px rgba(24,49,80,.03)
}

.product-save .icon {
  width:18px;
  height:18px
}

.product-grid {
  align-items:start
}

.product-gallery {
  background:#fff;
  padding:10px;
  border:1px solid var(--line);
  border-radius:13px;
  box-shadow:0 4px 16px rgba(24,49,80,.04)
}

.gallery-main {
  position:relative;
  aspect-ratio:1.58;
  overflow:hidden;
  border-radius:9px
}

.gallery-main>img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block
}

.gallery-open {
  position:absolute;
  z-index:2;
  right:14px;
  bottom:14px;
  border:0;
  background:rgba(10,32,57,.9);
  color:#fff;
  border-radius:7px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:9px 12px;
  font-weight:750;
  font-size:12px
}

.gallery-open:hover {
  background:var(--blue)
}

.gallery-open .icon {
  width:16px;
  height:16px
}

.gallery-counter {
  position:absolute;
  z-index:2;
  left:14px;
  bottom:14px;
  background:rgba(10,32,57,.84);
  border-radius:6px;
  color:#fff;
  padding:8px 10px;
  display:flex;
  align-items:center;
  gap:6px;
  font-size:11px;
  font-weight:750
}

.gallery-counter .icon {
  width:14px;
  height:14px
}

.gallery-thumbs {
  display:flex;
  gap:9px;
  padding-top:10px
}

.gallery-thumb {
  width:calc((100% - 18px)/3);
  aspect-ratio:2.1;
  border:2px solid transparent;
  border-radius:6px;
  overflow:hidden;
  padding:0;
  background:#e9edf3;
  opacity:.75;
  transition:opacity .2s,border-color .2s
}

.gallery-thumb.active {
  border-color:var(--orange);
  opacity:1
}

.gallery-thumb:hover {
  opacity:1
}

.gallery-thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block
}

.product-section {
  margin-top:22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px 27px
}

.product-section-head h2 {
  font-size:21px;
  letter-spacing:-.025em;
  font-weight:800;
  margin:4px 0 22px
}

.facts-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0 22px
}

.fact {
  min-height:76px;
  border-top:1px solid #edf1f5;
  display:grid;
  grid-template-columns:32px 1fr;
  grid-template-rows:1fr 1fr;
  align-content:center;
  align-items:end;
  column-gap:9px;
  padding:13px 0
}

.fact-icon {
  grid-row:1/3;
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:7px;
  background:#edf3fb;
  color:var(--blue);
  align-self:center
}

.fact-icon .icon {
  width:17px;
  height:17px
}

.fact>span:not(.fact-icon) {
  font-size:11px;
  color:#8493a5
}

.fact strong {
  font-size:13px;
  font-weight:800;
  color:#223b58;
  align-self:start
}

.description-section p {
  font-size:14px;
  color:#52677f;
  line-height:1.8;
  margin-bottom:20px
}

.description-meta {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px;
  border-top:1px solid #edf1f5;
  padding-top:17px
}

.description-meta>span {
  display:flex;
  flex-direction:column;
  gap:2px;
  font-size:13px
}

.description-meta strong {
  color:#8b9aac;
  font-size:11px;
  font-weight:650
}

.description-meta span span {
  font-weight:750
}

.purchase-panel {
  position:sticky;
  top:20px
}

.price-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:24px;
  box-shadow:0 8px 28px rgba(24,49,80,.06)
}

.price-kicker {
  font-size:11px;
  color:#8b9bac;
  letter-spacing:.14em;
  font-weight:800
}

.price-card>strong {
  display:block;
  font-size:35px;
  line-height:1.15;
  letter-spacing:-.045em;
  font-weight:850;
  color:var(--navy);
  margin:5px 0
}

.price-hint {
  font-size:11px;
  color:#9aa8b7
}

.contact-button,.phone-button {
  width:100%;
  height:46px;
  font-size:13px;
  margin-top:23px
}

.contact-button .icon,.phone-button .icon {
  width:18px;
  height:18px
}

.phone-button {
  margin-top:9px;
  background:#fff;
  border:1px solid #cbd9e9;
  border-radius:8px;
  color:var(--blue);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-weight:750
}

.phone-button:hover {
  background:#eef4fb
}

.seller-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  padding:17px 20px;
  margin-top:13px;
  display:flex;
  align-items:center;
  gap:13px
}

.seller-avatar {
  height:43px;
  width:43px;
  border-radius:50%;
  background:#dce8f6;
  color:var(--blue);
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:800
}

.seller-card>div:last-child {
  display:flex;
  flex-direction:column
}

.seller-card span {
  color:#96a4b3;
  font-size:10px;
  font-weight:800;
  letter-spacing:.1em
}

.seller-card strong {
  font-size:13px;
  color:#24405d
}

.seller-card small {
  color:#8c9bad;
  font-size:11px
}

.seller-tip {
  margin-top:14px;
  padding:0 4px;
  display:flex;
  align-items:flex-start;
  gap:9px
}

.seller-tip .icon {
  width:17px;
  height:17px;
  color:#688bb6
}

.seller-tip p {
  font-size:11px;
  color:#93a1b0;
  line-height:1.5;
  margin:0
}

.back-results {
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:32px;
  color:var(--blue);
  font-size:13px;
  font-weight:750
}

.back-results .icon {
  width:17px;
  height:17px
}

.lightbox {
  display:none;
  position:fixed;
  inset:0;
  background:rgba(5,15,29,.96);
  z-index:100;
  align-items:center;
  justify-content:center;
  padding:65px 75px 32px
}

.lightbox.open {
  display:flex
}

.lightbox figure {
  max-width:100%;
  max-height:100%;
  margin:0;
  display:flex;
  align-items:center;
  flex-direction:column;
  justify-content:center
}

.lightbox figure img {
  display:block;
  max-width:min(100%,1250px);
  max-height:calc(100vh - 135px);
  object-fit:contain;
  box-shadow:0 15px 55px rgba(0,0,0,.25)
}

.lightbox figcaption {
  color:#b9cadd;
  font-size:13px;
  font-weight:650;
  text-align:center;
  margin-top:14px
}

.lightbox-close,.lightbox-arrow {
  border:0;
  background:rgba(255,255,255,.11);
  color:#fff;
  display:grid;
  place-items:center;
  border-radius:50%;
  position:absolute
}

.lightbox-close {
  width:39px;
  height:39px;
  right:26px;
  top:22px
}

.lightbox-arrow {
  width:46px;
  height:46px;
  top:50%;
  transform:translateY(-50%)
}

.lightbox-prev {
  left:20px
}

.lightbox-next {
  right:20px
}

.lightbox-close:hover,.lightbox-arrow:hover {
  background:var(--orange)
}

.contact-modal {
  display:none;
  position:fixed;
  inset:0;
  z-index:110;
  background:rgba(5,20,39,.68);
  align-items:center;
  justify-content:center;
  padding:20px
}

.contact-modal.open {
  display:flex
}

.contact-dialog {
  width:min(100%,470px);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:14px;
  padding:28px;
  position:relative;
  box-shadow:0 24px 70px rgba(0,0,0,.2)
}

.contact-close {
  position:absolute;
  right:18px;
  top:17px;
  border:0;
  background:none;
  color:#667e99
}

.contact-dialog h2 {
  font-size:24px;
  font-weight:800;
  letter-spacing:-.03em;
  margin:5px 0
}

.contact-dialog p {
  color:#71839a;
  font-size:13px;
  margin-bottom:20px
}

.contact-dialog form {
  display:grid;
  gap:13px
}

.contact-dialog label {
  display:grid;
  gap:6px;
  font-size:12px;
  font-weight:750;
  color:#425a75
}

.contact-dialog input,.contact-dialog textarea {
  width:100%;
  border:1px solid #dce5ef;
  border-radius:7px;
  padding:10px 12px;
  font-size:13px;
  color:#26415f;
  outline:none
}

.contact-dialog input:focus,.contact-dialog textarea:focus {
  border-color:#6898d4;
  box-shadow:0 0 0 3px rgba(57,113,187,.12)
}

.contact-dialog form .primary-button {
  height:43px;
  margin-top:4px;
  font-size:13px
}

.contact-dialog form small {
  font-size:11px;
  color:#98a7b7;
  text-align:center
}

body.modal-open,body.filter-open {
  overflow:hidden
}

@media(max-width:1199px) {
  .listing-image {
    width:235px
  }
  .listing-bottom>div {
    gap:13px
  }
  .listing-bottom strong {
    font-size:18px
  }
  .listing-bottom a {
    font-size:11px
  }
  .facts-grid {
    gap:0 12px
  }
}

@media(max-width:991px) {
  .catalog-layout {
    display:block
  }
  .filter-sidebar {
    position:fixed;
    z-index:61;
    left:0;
    top:0;
    bottom:0;
    width:min(350px,88vw);
    border-radius:0;
    overflow:auto;
    transform:translateX(-105%);
    transition:transform .25s
  }
  .filter-sidebar.open {
    transform:translateX(0)
  }
  .mobile-filter-close {
    display:grid;
    place-items:center;
    margin-left:auto;
    border:0;
    background:none;
    color:#60748a
  }
  .filter-scrim.visible {
    display:block;
    position:fixed;
    z-index:60;
    inset:0;
    background:rgba(7,24,46,.52)
  }
  .mobile-filter-toggle {
    display:flex;
    align-items:center;
    gap:6px;
    background:#fff;
    border:1px solid #dce5ef;
    border-radius:7px;
    padding:8px 11px;
    color:var(--blue);
    font-weight:750;
    font-size:12px
  }
  .mobile-filter-toggle .icon {
    width:16px;
    height:16px
  }
  .product-main {
    padding-bottom:55px
  }
  .purchase-panel {
    position:static
  }
  .price-card {
    padding:21px
  }
  .seller-card {
    margin-top:13px
  }
  .seller-tip {
    display:none
  }
}

@media(max-width:767px) {
  .page-intro h1 {
    font-size:31px
  }
  .page-intro-main {
    padding-top:18px
  }
  .intro-accent {
    font-size:115px
  }
  .catalog-layout {
    padding-top:19px;
    padding-bottom:55px
  }
  .listing-image {
    width:220px
  }
  .listing-content {
    padding:15px
  }
  .listing-heading h2 {
    font-size:18px
  }
  .listing-facts {
    gap:9px;
    margin-top:12px
  }
  .listing-bottom {
    padding-top:11px
  }
  .listing-bottom>div {
    display:block;
    text-align:right
  }
  .listing-bottom strong {
    display:block
  }
  .listing-bottom a {
    justify-content:flex-end;
    margin-top:2px
  }
  .product-head h1 {
    font-size:28px
  }
  .product-section {
    padding:21px
  }
  .facts-grid {
    grid-template-columns:repeat(2,1fr)
  }
  .gallery-main {
    aspect-ratio:1.4
  }
}

@media(max-width:575px) {
  .page-intro>.container-xl {
    padding-top:17px;
    padding-bottom:24px
  }
  .page-intro h1 {
    font-size:27px
  }
  .page-intro p {
    font-size:12px
  }
  .intro-accent {
    display:none
  }
  .catalog-toolbar {
    height:55px
  }
  .result-summary {
    display:block
  }
  .result-summary strong {
    display:block;
    font-size:15px
  }
  .result-summary span {
    font-size:11px
  }
  .sort-field span {
    display:none
  }
  .sort-field select {
    min-width:140px;
    font-size:11px
  }
  .listing-card {
    display:block
  }
  .listing-image {
    width:100%;
    aspect-ratio:1.65;
    display:block
  }
  .listing-content {
    padding:16px
  }
  .listing-heading h2 {
    font-size:19px
  }
  .listing-bottom {
    margin-top:15px
  }
  .listing-bottom>div {
    display:flex;
    align-items:center;
    gap:12px
  }
  .listing-bottom strong {
    font-size:19px
  }
  .listing-bottom a {
    margin:0;
    font-size:0
  }
  .listing-bottom a .icon {
    width:19px;
    height:19px
  }
  .product-breadcrumbs {
    margin-bottom:17px
  }
  .product-head {
    display:block
  }
  .product-head h1 {
    font-size:27px
  }
  .product-save {
    margin-top:16px
  }
  .gallery-main {
    aspect-ratio:1.2
  }
  .gallery-open {
    font-size:0;
    padding:9px
  }
  .gallery-open .icon {
    width:19px;
    height:19px
  }
  .gallery-thumbs {
    gap:6px
  }
  .gallery-thumb {
    aspect-ratio:1.55
  }
  .product-section-head h2 {
    font-size:19px
  }
  .facts-grid {
    gap:0 12px
  }
  .fact {
    min-height:69px
  }
  .description-meta {
    grid-template-columns:1fr 1fr
  }
  .price-card>strong {
    font-size:31px
  }
  .lightbox {
    padding:60px 10px 25px
  }
  .lightbox-arrow {
    top:auto;
    bottom:14px;
    transform:none;
    width:38px;
    height:38px
  }
  .lightbox-prev {
    left:18px
  }
  .lightbox-next {
    right:18px
  }
  .lightbox figure img {
    max-height:calc(100vh - 140px)
  }
  .lightbox figcaption {
    margin-top:10px
  }
}

/* Extended catalog filters */
.filter-sidebar {
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - 40px)
}

.filters-heading {
  flex:none
}

.filters-body {
  display:flex;
  flex:1;
  flex-direction:column;
  min-height:0;
  padding:0
}

.filters-scroll {
  flex:1;
  min-height:0;
  overflow-y:auto;
  padding:17px 20px 12px;
  scrollbar-color:#c5d4e5 transparent;
  scrollbar-width:thin
}

.filter-group h3 {
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--orange);
  margin:0 0 15px
}

.filter-field {
  margin-bottom:13px;
  font-size:13px;
  gap:5px
}

.filter-field select,.filter-field input {
  width:100%;
  height:41px;
  border:1px solid #dce5ef;
  background:#fbfcfe;
  color:#213953;
  border-radius:7px;
  padding:0 11px;
  outline:none;
  font-size:13px;
  font-weight:550;
  max-width:100%
}

.filter-field input::placeholder {
  color:#9caabb
}

.filter-field input:focus {
  border-color:#6898d4;
  box-shadow:0 0 0 3px rgba(57,113,187,.12)
}

.filter-pair {
  gap:8px
}

.filter-pair .filter-field select,.filter-pair .filter-field input {
  padding:0 8px
}

.advanced-filters {
  border-top:1px solid var(--line);
  margin-top:5px
}

.advanced-filters summary {
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:16px 0;
  color:var(--blue);
  font-size:13px;
  font-weight:800;
  cursor:pointer
}

.advanced-filters summary::-webkit-details-marker {
  display:none
}

.advanced-filters summary .icon {
  width:17px;
  height:17px;
  transition:transform .2s
}

.advanced-filters[open] summary .icon {
  transform:rotate(180deg)
}

.advanced-content .filter-group {
  border-top:1px solid #edf1f5;
  padding-top:18px;
  margin-top:3px
}

.advanced-content .filter-group:first-child {
  margin-top:0
}

.filter-equipment-group {
  min-width:0;
  margin:0 0 18px;
  padding:0;
  border:0
}

.filter-equipment-group legend {
  float:none;
  width:100%;
  margin:0 0 12px;
  padding:0 0 8px;
  border-bottom:1px solid var(--line);
  color:var(--navy);
  font-size:12px;
  font-weight:800
}

.filter-check {
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 13px;
  color:#3e536d;
  font-size:13px;
  font-weight:650;
  cursor:pointer
}

.filter-check input {
  appearance:none;
  flex:none;
  width:17px;
  height:17px;
  border:1.5px solid #aebfd2;
  border-radius:4px;
  background:#fff;
  position:relative;
  cursor:pointer
}

.filter-check input:checked {
  background:var(--blue);
  border-color:var(--blue)
}

.filter-check input:checked:after {
  content:"";
  position:absolute;
  left:4px;
  top:1px;
  width:5px;
  height:9px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg)
}

.filter-check input:focus-visible {
  outline:3px solid rgba(57,113,187,.25);
  outline-offset:2px
}

.filter-actions {
  flex:none;
  background:#fff;
  border-top:1px solid var(--line);
  padding:13px 20px 15px;
  box-shadow:0 -6px 16px rgba(18,42,74,.035)
}

.filter-actions .filter-reset {
  margin-top:8px
}

@media(max-width:991px) {
  .filter-sidebar {
    height:100vh;
    max-height:none;
    overflow:hidden
  }
}

/* Symfony views: empty photos, server-rendered pagination and link controls. */
.photo-placeholder {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  padding: 24px;
  color: #dbe6f4;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

.catalog-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 28px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.catalog-pagination a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--blue);
}

.catalog-pagination a:hover {
  border-color: var(--blue);
}

.catalog-pagination .icon {
  width: 16px;
  height: 16px;
}

.empty-results a {
  display: inline-flex;
  padding: 10px 16px;
  border-radius: 7px;
  background: var(--blue);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

.filter-reset {
  width: fit-content;
}

a.phone-button {
  display: flex;
  align-items: center;
  justify-content: center;
}

.inquiry-success,
.inquiry-errors {
  border-radius: 8px;
  padding: 12px 15px;
  font-size: 13px;
  line-height: 1.45;
}

.inquiry-success {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  border: 1px solid #b7dcc7;
  background: #eef8f1;
  color: #185c34;
}

.inquiry-errors {
  margin: 0 0 16px;
  border: 1px solid #efb6b6;
  background: #fff2f2;
  color: #8c2727;
}

.inquiry-errors ul {
  margin: 5px 0 0;
  padding-left: 18px;
}

/* Konto użytkownika i szybkie dodawanie ogłoszeń w nagłówku. */
.topline-link {
  color:#e6edf8;
  font-weight:650;
}
.topline-link:hover { color:#fff; text-decoration:underline; }
.header-account {
  color:var(--navy);
  font-size:13px;
  font-weight:750;
  white-space:nowrap;
}
.header-account:hover { color:var(--orange-dark); }
.header-add {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 15px;
  border-radius:9px;
  background:var(--orange);
  color:#fff;
  font-size:13px;
  font-weight:800;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(244,122,54,.16);
}
.header-add:hover { background:var(--orange-dark); color:#fff; }
.header-logout { margin:0; }
.header-logout button,.mobile-logout button {
  padding:0;
  border:0;
  background:none;
  color:#61718a;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.header-logout button:hover,.mobile-logout button:hover { color:var(--navy); }
.mobile-logout { padding:12px 0; }
@media (max-width:1199px) and (min-width:992px) {
  .desktop-nav { gap:12px; }
  .desktop-nav a { font-size:11px; }
  .header-inner { gap:14px; }
  .header-add { padding:0 10px; }
}
@media (max-width:991px) {
  .header-account,.header-add,.header-logout { display:none; }
  .mobile-logout button { font-size:14px; }
}
@media (max-width:575px) {
  .topline-link { font-size:10px; }
}
.seller-profile-link {
  display:inline-block;
  margin-top:7px;
  color:var(--orange-dark);
  font-size:12px;
  font-weight:800;
}
.seller-profile-link:hover { color:var(--navy); text-decoration:underline; }

.mobile-menu { display:none; }
.mobile-menu-toggle { list-style:none; cursor:pointer; }
.mobile-menu-toggle::-webkit-details-marker { display:none; }
@media (max-width:991px) {
  .mobile-menu { display:block; }
  .mobile-menu[open] .mobile-nav { display:flex; flex-direction:column; }
}
