/*
 * TESLASHOP.GE — Structured Marketplace UI
 * Catalog-first, light-only presentation selected by the product owner.
 */
:root {
  --ts2-bg: #f5f6f8;
  --ts2-surface: #ffffff;
  --ts2-soft: #f8f9fa;
  --ts2-text: #171b21;
  --ts2-muted: #69717d;
  --ts2-line: #dfe3e8;
  --ts2-line-strong: #c9ced6;
  --ts2-red: #e82127;
  --ts2-red-dark: #c91b21;
  --ts2-success: #13825b;
  --ts2-shell: 1480px;
  --ts2-radius: 10px;
  --ts2-shadow: 0 2px 12px rgba(18, 26, 38, .045);
  color-scheme: light;
}

html[data-theme="light"],
html[data-theme="dark"] { color-scheme: light !important; }

body {
  color: var(--ts2-text) !important;
  background: var(--ts2-bg) !important;
  background-image: none !important;
}

#mainContent.container {
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

/* Global header: clear hierarchy, generous touch targets and a visible map action. */
.site-header.tsr-header {
  position: sticky !important;
  top: 0 !important;
  height: auto !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ts2-line) !important;
  background: rgba(255, 255, 255, .96) !important;
  box-shadow: 0 1px 0 rgba(18, 26, 38, .02) !important;
  backdrop-filter: blur(16px) saturate(1.15) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.15) !important;
}

.tsr-header-main {
  grid-template-columns: auto minmax(300px, 520px) auto !important;
  width: min(var(--ts2-shell), calc(100% - 40px)) !important;
  min-height: 68px !important;
  padding: 0 !important;
  gap: 24px !important;
}

.tsr-brand { gap: 11px !important; }
.tsr-brand-mark {
  width: 38px !important;
  height: 38px !important;
  border: 0 !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: var(--ts2-red) !important;
  box-shadow: 0 7px 18px rgba(232, 33, 39, .17) !important;
  font-size: 17px !important;
}
.tsr-brand-copy strong {
  color: var(--ts2-text) !important;
  font-size: 15px !important;
  letter-spacing: -.02em !important;
}
.tsr-brand-copy strong span { color: var(--ts2-red) !important; }
.tsr-brand-copy small {
  display: block !important;
  margin-top: 4px !important;
  color: var(--ts2-muted) !important;
  font-size: 9px !important;
}

.tsr-header-search {
  width: 100% !important;
  min-height: 42px !important;
  padding: 3px 4px 3px 13px !important;
  border: 1px solid var(--ts2-line) !important;
  border-radius: 10px !important;
  background: var(--ts2-soft) !important;
  box-shadow: none !important;
}
.tsr-header-search input {
  min-height: 34px !important;
  color: var(--ts2-text) !important;
  font-size: 12px !important;
}
.tsr-header-search button {
  min-height: 34px !important;
  margin-right: 0 !important;
  padding: 0 15px !important;
  border-radius: 7px !important;
  color: #fff !important;
  background: var(--ts2-text) !important;
  font-size: 11px !important;
}
.tsr-header-actions { gap: 8px !important; }
.tsr-publish-button {
  min-height: 42px !important;
  padding: 0 15px !important;
  border: 1px solid var(--ts2-red) !important;
  border-radius: 9px !important;
  color: #fff !important;
  background: var(--ts2-red) !important;
  box-shadow: 0 6px 16px rgba(232, 33, 39, .13) !important;
  font-size: 11px !important;
}
.tsr-publish-button:hover { background: var(--ts2-red-dark) !important; }
.tsr-login-link,
.tsr-user-button,
.tsr-icon-button {
  min-height: 42px !important;
  border-color: var(--ts2-line) !important;
  border-radius: 9px !important;
  color: var(--ts2-text) !important;
  background: #fff !important;
  box-shadow: none !important;
}
.tsr-avatar { border-radius: 6px !important; background: var(--ts2-text) !important; }

.tsr-nav-wrap {
  width: min(var(--ts2-shell), calc(100% - 40px)) !important;
  min-height: 54px !important;
  gap: 14px !important;
  border-top: 1px solid #f0f2f4 !important;
}
.tsr-nav {
  flex: 1 1 auto !important;
  gap: 1px !important;
}
.tsr-nav a,
.tsr-mytesla {
  min-height: 52px !important;
  padding: 0 12px !important;
  border-radius: 0 !important;
  color: #4e5662 !important;
  background: transparent !important;
  font-size: 11px !important;
  font-weight: 650 !important;
}
.tsr-nav a:hover,
.tsr-nav a.active {
  color: var(--ts2-text) !important;
  box-shadow: inset 0 -2px 0 var(--ts2-red) !important;
}
.tsr-nav a.tsr-nav-chargers {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 44px !important;
  margin: 5px 7px !important;
  padding: 0 12px 0 8px !important;
  border: 1px solid var(--ts2-red) !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: var(--ts2-red) !important;
  box-shadow: 0 7px 18px rgba(232, 33, 39, .16) !important;
}
.tsr-nav a.tsr-nav-chargers:hover,
.tsr-nav a.tsr-nav-chargers.active {
  color: #fff !important;
  background: var(--ts2-red-dark) !important;
  box-shadow: 0 8px 22px rgba(232, 33, 39, .22) !important;
}
.tsr-nav-chargers::after { display: none !important; }
.tsr-nav-chargers-icon {
  display: grid !important;
  place-items: center !important;
  width: 29px !important;
  height: 29px !important;
  flex: 0 0 29px !important;
  border-radius: 8px !important;
  color: var(--ts2-red) !important;
  background: #fff !important;
}
.tsr-nav-chargers-icon svg { width: 18px !important; height: 18px !important; }
.tsr-nav-chargers-copy {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
  line-height: 1.05 !important;
}
.tsr-nav-chargers-copy strong {
  color: inherit !important;
  font-size: 11px !important;
  font-weight: 750 !important;
}
.tsr-nav-chargers-copy small {
  margin-top: 3px !important;
  color: rgba(255, 255, 255, .82) !important;
  font-size: 8px !important;
  font-weight: 500 !important;
}
.tsr-mytesla {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 40px !important;
  padding: 0 12px !important;
  border: 1px solid var(--ts2-line) !important;
  border-radius: 9px !important;
  color: var(--ts2-text) !important;
  background: #fff !important;
}
.tsr-mytesla:hover {
  border-color: var(--ts2-line-strong) !important;
  background: var(--ts2-soft) !important;
}
.tsr-mytesla svg { width: 17px !important; height: 17px !important; }

/* Reusable controls and surfaces */
:where(
  .mp-btn, .evm-btn, .tsa-btn, .seller-btn, .sp-btn,
  .pc-hero-cta, .car-hero__cta, .services-search-btn, .shops-search-btn
) {
  border-radius: 7px !important;
  box-shadow: none !important;
}

:where(input, select, textarea):not([type="checkbox"]):not([type="radio"]) {
  border-radius: 7px;
}

:where(
  .card, .panel, .mp-card, .tsa-card, .tsa-panel, .seller-card, .sp-card,
  .pc-product-card, .car-card, .service-card, .shop-card, .diy-v2-card
) {
  border-color: var(--ts2-line) !important;
  border-radius: var(--ts2-radius) !important;
  box-shadow: none !important;
}

/* Marketplace hub and catalogs */
.evm-marketplace {
  --evm-accent: var(--ts2-red) !important;
  min-height: 0 !important;
  padding: 14px 0 64px !important;
  background: var(--ts2-bg) !important;
}
.evm-container {
  width: min(var(--ts2-shell), calc(100% - 28px)) !important;
}
.evm-catalog-hero {
  min-height: 0 !important;
  padding: 20px 22px !important;
  border: 1px solid var(--ts2-line) !important;
  border-radius: var(--ts2-radius) !important;
  color: var(--ts2-text) !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: var(--ts2-shadow) !important;
}
.evm-catalog-hero::before,
.evm-catalog-hero::after { display: none !important; }
.evm-catalog-hero__title-row { margin-top: 7px !important; }
.evm-catalog-hero__icon {
  width: 36px !important;
  height: 36px !important;
  border: 1px solid #f2c9cb !important;
  border-radius: 7px !important;
  color: var(--ts2-red) !important;
  background: #fff5f5 !important;
  box-shadow: none !important;
}
.evm-catalog-hero h1 {
  margin-top: 2px !important;
  color: var(--ts2-text) !important;
  font-size: clamp(24px, 3vw, 38px) !important;
  letter-spacing: -.035em !important;
}
.evm-catalog-hero__lead {
  max-width: 720px !important;
  margin-top: 7px !important;
  color: var(--ts2-muted) !important;
  font-size: 12px !important;
}
.evm-eyebrow {
  color: var(--ts2-red) !important;
  font-size: 9px !important;
  letter-spacing: .08em !important;
}
.evm-eyebrow::before { width: 16px !important; height: 1px !important; }
.evm-catalog-hero__aside > div {
  padding: 8px 11px !important;
  border-color: var(--ts2-line) !important;
  border-radius: 7px !important;
  background: var(--ts2-soft) !important;
}
.evm-catalog-hero__aside strong { color: var(--ts2-text) !important; }
.evm-catalog-hero__aside .evm-btn { min-height: 38px !important; background: var(--ts2-red) !important; }

.evm-catalog-tabs {
  gap: 0 !important;
  margin-top: 10px !important;
  overflow: hidden !important;
  border: 1px solid var(--ts2-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.evm-catalog-tabs a {
  min-height: 48px !important;
  border: 0 !important;
  border-right: 1px solid var(--ts2-line) !important;
  border-radius: 0 !important;
  color: var(--ts2-muted) !important;
  background: #fff !important;
}
.evm-catalog-tabs a:last-child { border-right: 0 !important; }
.evm-catalog-tabs a.is-active {
  color: var(--ts2-text) !important;
  background: var(--ts2-soft) !important;
  box-shadow: inset 0 -2px 0 var(--ts2-red) !important;
}
.evm-catalog-tabs__icon {
  color: inherit !important;
  background: transparent !important;
  box-shadow: none !important;
}
.evm-catalog-tabs b {
  color: var(--ts2-muted) !important;
  background: #eef0f3 !important;
}

.evm-catalog-layout {
  grid-template-columns: 252px minmax(0, 1fr) !important;
  gap: 12px !important;
  margin-top: 12px !important;
}
.evm-filter-panel {
  top: 106px !important;
  max-height: calc(100vh - 120px) !important;
  border: 1px solid var(--ts2-line) !important;
  border-radius: 9px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.evm-filter-panel__head,
.evm-filter-panel__actions {
  border-color: var(--ts2-line) !important;
  background: #fff !important;
  backdrop-filter: none !important;
}
.evm-filter-form { gap: 7px !important; padding: 8px !important; }
.evm-filter-group,
.evm-advanced-filters {
  gap: 7px !important;
  padding: 9px !important;
  border-color: var(--ts2-line) !important;
  border-radius: 7px !important;
  background: #fff !important;
}
.evm-filter-group input,
.evm-filter-group select,
.evm-advanced-filters input,
.evm-advanced-filters select,
.evm-filter-search,
.evm-sort-form select {
  min-height: 40px !important;
  border-color: var(--ts2-line-strong) !important;
  border-radius: 6px !important;
  color: var(--ts2-text) !important;
  background: #fff !important;
  font-size: 12px !important;
  box-shadow: none !important;
}
.evm-filter-panel__actions button { background: var(--ts2-red) !important; }
.evm-results-toolbar {
  min-height: 54px !important;
  margin-bottom: 10px !important;
  padding: 8px 11px !important;
  border-color: var(--ts2-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: none !important;
}

.evm-listing-grid--catalog,
.evm-marketplace .mp-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.evm-listing-grid--catalog .evm-listing-card,
.evm-listing-card {
  display: flex !important;
  min-height: 0 !important;
  flex-direction: column !important;
  overflow: hidden !important;
  border: 1px solid var(--ts2-line) !important;
  border-radius: 9px !important;
  color: var(--ts2-text) !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}
.evm-listing-card:hover {
  border-color: var(--ts2-line-strong) !important;
  box-shadow: var(--ts2-shadow) !important;
  transform: none !important;
}
.evm-listing-grid--catalog .evm-listing-card__media,
.evm-listing-card__media {
  width: 100% !important;
  min-height: 0 !important;
  aspect-ratio: 4 / 3 !important;
  background: #f0f2f4 !important;
}
.evm-listing-card__media > img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  transform: none !important;
}
.evm-listing-card--part .evm-listing-card__media > img,
.evm-listing-card--dismantled_part .evm-listing-card__media > img,
.evm-listing-card--service .evm-listing-card__media > img,
.evm-listing-card--charger .evm-listing-card__media > img {
  padding: 8px !important;
  object-fit: contain !important;
}
.evm-listing-card__media-shade { display: none !important; }
.evm-listing-grid--catalog .evm-listing-card__type,
.evm-listing-card__type {
  top: 7px !important;
  left: 7px !important;
  width: auto !important;
  max-width: calc(100% - 14px) !important;
  min-height: 24px !important;
  padding: 3px 6px !important;
  border: 1px solid rgba(201, 206, 214, .9) !important;
  border-radius: 5px !important;
  color: var(--ts2-text) !important;
  background: rgba(255,255,255,.94) !important;
  font-size: 8px !important;
  backdrop-filter: none !important;
}
.evm-listing-grid--catalog .evm-listing-card__type svg { display: block !important; }
.evm-listing-card__compatibility {
  right: 7px !important;
  bottom: 7px !important;
  left: auto !important;
  max-width: calc(100% - 14px) !important;
  border-radius: 5px !important;
  font-size: 8px !important;
}
.evm-listing-grid--catalog .evm-listing-card__body,
.evm-listing-card__body {
  min-height: 154px !important;
  padding: 10px !important;
}
.evm-listing-card__meta { color: var(--ts2-muted) !important; font-size: 9px !important; }
.evm-listing-card h3 {
  min-height: 38px !important;
  margin: 6px 0 0 !important;
  color: var(--ts2-text) !important;
  font-size: 13px !important;
}
.evm-listing-card__facts { margin-top: 5px !important; color: var(--ts2-muted) !important; font-size: 9px !important; }
.evm-listing-card__seller { color: var(--ts2-muted) !important; font-size: 9px !important; }
.evm-listing-card__seller span { background: var(--ts2-success) !important; }
.evm-listing-card__footer {
  margin-top: auto !important;
  padding-top: 8px !important;
  border-top: 1px solid #eef0f2 !important;
}
.evm-listing-card__footer strong {
  color: var(--ts2-text) !important;
  font-size: 14px !important;
}

/* Other listing directories */
.pc-product-grid,
.car-grid,
.evd-directory .services-grid,
.evd-directory .shops-grid,
.diy-v2-grid {
  gap: 10px !important;
}
.pc-product-card,
.car-card,
.evd-directory .service-card,
.evd-directory .shop-card,
.diy-v2-card {
  border-radius: 9px !important;
  box-shadow: none !important;
  transform: none !important;
}
.pc-product-card:hover,
.car-card:hover,
.evd-directory .service-card:hover,
.evd-directory .shop-card:hover,
.diy-v2-card:hover {
  border-color: var(--ts2-line-strong) !important;
  box-shadow: var(--ts2-shadow) !important;
  transform: none !important;
}
.pc-product-image-link,
.car-card__media,
.evd-directory .service-card-media,
.evd-directory .shop-card-media { background: #f0f2f4 !important; }

/* Legacy parts catalog: a compact catalog intro instead of a landing-page hero. */
.product-catalog-page .pc-shell {
  width: min(var(--ts2-shell), calc(100% - 28px)) !important;
}
.pc-breadcrumb {
  margin-bottom: 10px !important;
  font-size: 10px !important;
}
.pc-hero {
  grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr) !important;
  min-height: 218px !important;
  margin-bottom: 10px !important;
  padding: 20px 24px !important;
  border-color: var(--ts2-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.pc-hero-kicker {
  min-height: 0 !important;
  margin-bottom: 7px !important;
  color: var(--ts2-red) !important;
  font-size: 9px !important;
  letter-spacing: .06em !important;
}
.pc-hero h1 {
  max-width: 500px !important;
  margin: 0 !important;
  color: var(--ts2-text) !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}
.pc-hero p {
  max-width: 520px !important;
  margin: 10px 0 0 !important;
  color: var(--ts2-muted) !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
}
.pc-hero-cta {
  min-height: 36px !important;
  margin-top: 12px !important;
  padding: 0 13px !important;
  border-radius: 6px !important;
  background: var(--ts2-red) !important;
  font-size: 9px !important;
}
.pc-hero-visual {
  min-height: 176px !important;
  padding: 6px !important;
  border: 0 !important;
  border-left: 1px solid var(--ts2-line) !important;
  border-radius: 0 !important;
  background: var(--ts2-soft) !important;
}
.pc-hero-visual img {
  width: 94% !important;
  height: auto !important;
  max-height: 188px !important;
  padding: 0 !important;
}
.pc-catalog-layout { gap: 10px !important; }
.pc-sidebar-card,
.pc-toolbar {
  border-color: var(--ts2-line) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

/* Dismantler directory and detail pages */
.ds-page,
.dd-page {
  width: min(var(--ts2-shell), calc(100% - 28px)) !important;
  color: var(--ts2-text) !important;
}
.ds-breadcrumb,
.dd-bc {
  margin-bottom: 10px !important;
  color: var(--ts2-muted) !important;
  font-size: 10px !important;
}
.ds-hero {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr) !important;
  min-height: 0 !important;
  gap: 18px !important;
  padding: 22px 24px !important;
  border: 1px solid var(--ts2-line) !important;
  border-radius: 10px !important;
  color: var(--ts2-text) !important;
  background: #fff !important;
  box-shadow: none !important;
}
.ds-hero::before,
.ds-hero::after { display: none !important; }
.ds-eyebrow {
  padding: 0 !important;
  color: var(--ts2-red) !important;
  background: transparent !important;
  font-size: 9px !important;
  letter-spacing: .06em !important;
}
.ds-hero h1 {
  max-width: 760px !important;
  margin: 8px 0 !important;
  color: var(--ts2-text) !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  letter-spacing: -.035em !important;
}
.ds-hero p {
  max-width: 720px !important;
  color: var(--ts2-muted) !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
}
.ds-stats { gap: 7px !important; margin-top: 12px !important; }
.ds-stat {
  min-width: 108px !important;
  padding: 8px 10px !important;
  border-color: var(--ts2-line) !important;
  border-radius: 7px !important;
  color: var(--ts2-text) !important;
  background: var(--ts2-soft) !important;
  backdrop-filter: none !important;
}
.ds-stat b { font-size: 14px !important; }
.ds-stat span { color: var(--ts2-muted) !important; font-size: 8px !important; }
.ds-hero-panel {
  padding: 15px !important;
  border-color: var(--ts2-line) !important;
  border-radius: 8px !important;
  color: var(--ts2-text) !important;
  background: var(--ts2-soft) !important;
  backdrop-filter: none !important;
}
.ds-location-btn {
  min-height: 38px !important;
  border: 1px solid var(--ts2-red) !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: var(--ts2-red) !important;
  font-size: 10px !important;
}
.ds-location-status { color: var(--ts2-muted) !important; }
.ds-search-card {
  margin: 10px 0 18px !important;
  padding: 13px !important;
  border-color: var(--ts2-line) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}
.ds-search-grid { gap: 8px !important; }
.ds-field label { margin-bottom: 4px !important; font-size: 9px !important; }
.ds-field select,
.ds-field input,
.ds-search-submit {
  height: 38px !important;
  border-radius: 6px !important;
  font-size: 10px !important;
}
.ds-search-submit { background: var(--ts2-red) !important; }
.ds-section-head { margin: 18px 0 10px !important; }
.ds-section-head h2 { color: var(--ts2-text) !important; font-size: 19px !important; }
.ds-section-head p { color: var(--ts2-muted) !important; font-size: 10px !important; }
.ds-model-grid { gap: 9px !important; }
.ds-model-card {
  min-height: 120px !important;
  padding: 15px !important;
  border-color: var(--ts2-line) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  transform: none !important;
}
.ds-model-card::after,
.ds-model-icon { display: none !important; }
.ds-model-name { color: var(--ts2-text) !important; font-size: 15px !important; }
.ds-model-count {
  margin-top: 15px !important;
  padding: 5px 7px !important;
  border-radius: 5px !important;
  color: var(--ts2-text) !important;
  background: var(--ts2-soft) !important;
  font-size: 9px !important;
}
.ds-shop-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.ds-shop-card {
  border-color: var(--ts2-line) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
  transform: none !important;
}
.ds-shop-card:hover { border-color: var(--ts2-line-strong) !important; box-shadow: var(--ts2-shadow) !important; }
.ds-shop-body { padding: 12px !important; }
.ds-logo { border-radius: 7px !important; box-shadow: none !important; }
.ds-shop-name { color: var(--ts2-text) !important; font-size: 14px !important; }
.ds-metric { border-radius: 6px !important; background: var(--ts2-soft) !important; }
.ds-detail-btn,
.ds-icon-btn { height: 38px !important; border-radius: 6px !important; }
.ds-detail-btn { background: var(--ts2-text) !important; font-size: 9px !important; }

.dd-hero {
  overflow: hidden !important;
  border: 1px solid var(--ts2-line) !important;
  border-radius: 10px !important;
  color: var(--ts2-text) !important;
  background: #fff !important;
  box-shadow: none !important;
}
.dd-banner { height: 164px !important; background: var(--ts2-soft) !important; }
.dd-banner img { opacity: 1 !important; }
.dd-hero-body {
  gap: 14px !important;
  padding: 0 22px 20px !important;
}
.dd-shop-logo {
  border-radius: 9px !important;
  box-shadow: none !important;
}
.dd-shop-meta { color: var(--ts2-muted) !important; }
.dd-hero-actions a {
  min-height: 38px !important;
  border-radius: 6px !important;
  font-size: 9px !important;
}
.dd-call { border: 1px solid var(--ts2-line) !important; color: var(--ts2-text) !important; }
.dd-layout { grid-template-columns: minmax(0, 1fr) 320px !important; gap: 10px !important; margin-top: 12px !important; }
.dd-vehicle,
.dd-side-card {
  border-color: var(--ts2-line) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}
.dd-model-tab,
.dd-group,
.dd-field input,
.dd-field textarea,
.dd-submit { border-radius: 6px !important; }
.dd-model-tab.active,
.dd-submit { background: var(--ts2-red) !important; }

/* Legacy vehicle catalog: keep the inventory above the fold on desktop. */
.car-market__shell {
  width: min(var(--ts2-shell), calc(100% - 28px)) !important;
}
.car-breadcrumb {
  min-height: 42px !important;
  font-size: 10px !important;
}
.car-hero {
  grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr) !important;
  min-height: 218px !important;
  padding: 20px 24px !important;
  border: 1px solid var(--ts2-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  background-image: none !important;
  box-shadow: none !important;
}
.car-hero__copy {
  max-width: 560px !important;
  padding: 0 !important;
}
.car-hero__eyebrow {
  margin: 0 0 6px !important;
  color: var(--ts2-red) !important;
  font-size: 9px !important;
  letter-spacing: .06em !important;
}
.car-hero h1 {
  margin: 0 !important;
  color: var(--ts2-text) !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.035em !important;
}
.car-hero__lead {
  max-width: 520px !important;
  margin: 10px 0 0 !important;
  color: var(--ts2-muted) !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
}
.car-hero__visual {
  min-height: 176px !important;
  padding: 6px !important;
  border: 0 !important;
  border-left: 1px solid var(--ts2-line) !important;
  border-radius: 0 !important;
  background: var(--ts2-soft) !important;
}
.car-hero__visual img:not(.car-hero__watermark) {
  width: 92% !important;
  max-height: 188px !important;
  padding: 0 !important;
  filter: none !important;
}
.car-filter-card {
  margin-top: 10px !important;
  padding: 13px !important;
  border-color: var(--ts2-line) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}
.car-filter-card__head { margin-bottom: 10px !important; }
.car-filter-card__head h2 {
  color: var(--ts2-text) !important;
  font-size: 15px !important;
}
.car-filter-grid { gap: 8px !important; }
.car-filter-field label {
  margin-bottom: 4px !important;
  color: var(--ts2-muted) !important;
  font-size: 9px !important;
}
.car-filter-control,
.car-filter-pair input {
  min-height: 38px !important;
  padding: 0 9px !important;
  border-color: var(--ts2-line-strong) !important;
  border-radius: 6px !important;
  font-size: 11px !important;
  box-shadow: none !important;
}
.car-filter-options { padding-top: 0 !important; }
.car-check { min-height: 30px !important; font-size: 10px !important; }
.car-filter-actions a,
.car-filter-actions button {
  min-height: 38px !important;
  padding: 0 15px !important;
  border-radius: 6px !important;
  font-size: 10px !important;
}
.car-filter-actions button {
  min-width: 130px !important;
  background: var(--ts2-red) !important;
}
.car-purpose-tabs {
  margin-top: 10px !important;
  padding: 7px !important;
  border-color: var(--ts2-line) !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}
.car-purpose-tab {
  min-height: 34px !important;
  padding: 0 11px !important;
  border-radius: 6px !important;
  font-size: 10px !important;
}
.car-purpose-tab.is-active {
  border-color: var(--ts2-text) !important;
  color: #fff !important;
  background: var(--ts2-text) !important;
}
.car-results-head { margin: 16px 0 9px !important; }
.car-results-head h2 {
  color: var(--ts2-text) !important;
  font-size: 19px !important;
}

/* Listing details: desktop-first two-column presentation */
.mp-breadcrumb:not(.mp-car-breadcrumb),
.mp-owner-preview,
.mp-detail,
.mp-detail-sections {
  width: min(1320px, calc(100% - 28px)) !important;
}
.mp-detail {
  grid-template-columns: minmax(0, 1.45fr) minmax(330px, .55fr) !important;
  gap: 12px !important;
}
.mp-detail > .mp-gallery,
.mp-detail > .mp-detail-info,
.mp-detail-sections > article,
.mp-car-shell,
.mp-product-shell {
  border-color: var(--ts2-line) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}
.mp-detail-info {
  top: 106px !important;
  padding: 20px !important;
}
.mp-detail-info h1 {
  font-size: clamp(25px, 2.5vw, 36px) !important;
}
.mp-detail-sections > article { padding: 22px !important; }

/* Account/seller/service dashboards follow the same restrained system */
:where(.tsa-shell, .seller-shell, .sp-shell, .account-page, .tsa-app) {
  --tsa-accent: var(--ts2-red) !important;
  color: var(--ts2-text) !important;
}
:where(.tsa-sidebar, .seller-sidebar, .sp-sidebar) {
  border-color: var(--ts2-line) !important;
  background: #fff !important;
  box-shadow: none !important;
}
:where(.tsa-sidebar a, .seller-sidebar a, .sp-sidebar a).active,
:where(.tsa-sidebar a, .seller-sidebar a, .sp-sidebar a):hover {
  color: var(--ts2-text) !important;
  background: #f0f2f4 !important;
}
.mp-manage-card {
  border-radius: 9px !important;
  box-shadow: none !important;
}

/* Footer */
.site-footer.tsr-footer {
  margin-top: 72px !important;
  padding: 0 !important;
  border-top: 1px solid var(--ts2-line) !important;
  background: #fff !important;
}
.tsr-footer-top,
.tsr-footer-bottom { width: min(var(--ts2-shell), calc(100% - 32px)) !important; }
.tsr-footer-top {
  display: grid !important;
  grid-template-columns: minmax(250px, .9fr) minmax(260px, .82fr) minmax(430px, 1.45fr) !important;
  align-items: start !important;
  gap: clamp(26px, 3vw, 56px) !important;
  padding: 48px 0 38px !important;
}
.tsr-footer-logo {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: var(--ts2-text) !important;
}
.tsr-footer-logo-mark {
  display: grid !important;
  place-items: center !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 10px !important;
  color: #fff !important;
  background: var(--ts2-red) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}
.tsr-footer-wordmark {
  color: var(--ts2-text) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}
.tsr-footer-wordmark b { color: var(--ts2-red) !important; }
.tsr-footer-brand p {
  max-width: 390px !important;
  margin: 16px 0 18px !important;
  color: var(--ts2-muted) !important;
  font-size: 12px !important;
  line-height: 1.7 !important;
}
.tsr-footer-contact {
  display: grid !important;
  gap: 8px !important;
}
.tsr-footer-contact a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: max-content !important;
  margin: 0 !important;
  color: var(--ts2-text) !important;
  font-size: 11px !important;
}
.tsr-footer-contact svg { width: 16px !important; height: 16px !important; color: var(--ts2-red) !important; }
.tsr-footer-route {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 20px !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 132px !important;
  padding: 18px !important;
  border: 1px solid #f2c9cb !important;
  border-radius: 14px !important;
  color: var(--ts2-text) !important;
  background: #fff6f6 !important;
  text-decoration: none !important;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
.tsr-footer-route:hover {
  border-color: var(--ts2-red) !important;
  box-shadow: 0 12px 28px rgba(232, 33, 39, .09) !important;
  transform: translateY(-2px) !important;
}
.tsr-footer-route-icon {
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 11px !important;
  color: #fff !important;
  background: var(--ts2-red) !important;
}
.tsr-footer-route-icon svg { width: 23px !important; height: 23px !important; }
.tsr-footer-route-copy {
  display: flex !important;
  min-width: 0 !important;
  flex-direction: column !important;
}
.tsr-footer-route-copy small {
  color: var(--ts2-red) !important;
  font-size: 9px !important;
  font-style: normal !important;
  font-weight: 750 !important;
}
.tsr-footer-route-copy strong {
  margin-top: 4px !important;
  color: var(--ts2-text) !important;
  font-size: 15px !important;
}
.tsr-footer-route-copy em {
  margin-top: 4px !important;
  color: var(--ts2-muted) !important;
  font-size: 10px !important;
  font-style: normal !important;
  line-height: 1.45 !important;
}
.tsr-footer-route-arrow { width: 20px !important; height: 20px !important; color: var(--ts2-red) !important; }
.tsr-footer-links {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
}
.tsr-footer-links h4 {
  margin-bottom: 14px !important;
  color: var(--ts2-text) !important;
  font-size: 12px !important;
}
.tsr-footer-links a {
  margin: 9px 0 !important;
  color: var(--ts2-muted) !important;
  font-size: 11px !important;
}
.tsr-footer-links a:hover,
.tsr-footer-links a.tsr-footer-chargers-link { color: var(--ts2-red) !important; }
.tsr-footer-bottom {
  min-height: 64px !important;
  color: var(--ts2-muted) !important;
  font-size: 10px !important;
}
.tsr-footer-bottom > div { display: flex !important; gap: 16px !important; }
.tsr-footer-bottom a { font-size: 10px !important; }
.bn-item {
  position: relative !important;
  min-width: 0 !important;
  min-height: 62px !important;
  padding: 5px 3px !important;
  gap: 4px !important;
}
.bn-ico {
  width: 34px !important;
  height: 30px !important;
  border-radius: 9px !important;
}
.bn-lbl { font-size: 10px !important; font-weight: 650 !important; }
.bn-item-chargers { color: var(--ts2-red) !important; }
.bn-item-chargers .bn-ico {
  width: 40px !important;
  height: 40px !important;
  margin-top: -12px !important;
  border: 4px solid #fff !important;
  border-radius: 13px !important;
  color: #fff !important;
  background: var(--ts2-red) !important;
  box-shadow: 0 6px 16px rgba(232, 33, 39, .23) !important;
}
.bn-item-chargers .bn-lbl { color: var(--ts2-red) !important; }
.bn-menu-item--route { color: var(--ts2-red) !important; }
.bn-menu-item--route .bn-menu-ico {
  color: #fff !important;
  background: var(--ts2-red) !important;
}

@media (max-width: 1240px) {
  .tsr-header-main,
  .tsr-nav-wrap { width: calc(100% - 28px) !important; }
  .tsr-header-main { grid-template-columns: auto minmax(240px, 400px) auto !important; gap: 16px !important; }
  .tsr-nav a { padding-inline: 9px !important; font-size: 10px !important; }
  .tsr-nav a.tsr-nav-chargers { margin-inline: 4px !important; }
  .tsr-nav-chargers-copy small { display: none !important; }
  .tsr-footer-top {
    grid-template-columns: minmax(240px, .8fr) minmax(230px, .7fr) minmax(400px, 1.3fr) !important;
    gap: 28px !important;
  }
  .evm-listing-grid--catalog,
  .evm-marketplace .mp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .ds-shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (max-width: 1000px) {
  .tsr-header-main {
    display: flex !important;
    width: calc(100% - 24px) !important;
    min-height: 62px !important;
    gap: 8px !important;
  }
  .tsr-brand { margin-right: auto !important; }
  .tsr-nav-wrap { display: none !important; }
  .tsr-header-search { display: none !important; }
  .tsr-mobile-search { display: grid !important; }
  .tsr-footer-top {
    grid-template-columns: minmax(250px, .8fr) minmax(260px, .8fr) !important;
  }
  .tsr-footer-links { grid-column: 1 / -1 !important; }
}

@media (max-width: 920px) {
  .evm-catalog-layout { display: block !important; }
  .evm-filter-panel {
    top: auto !important;
    max-height: min(88vh, 760px) !important;
    border-radius: 12px 12px 0 0 !important;
  }
  .evm-mobile-toolbar {
    display: grid !important;
    margin-top: 10px !important;
  }
  .evm-listing-grid--catalog,
  .evm-marketplace .mp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .mp-detail { grid-template-columns: 1fr !important; }
  .mp-detail-info { position: static !important; }
  .car-hero {
    grid-template-columns: 1fr 1fr !important;
    min-height: 196px !important;
    padding: 16px !important;
  }
  .car-hero__visual { min-height: 164px !important; }
  .pc-hero {
    grid-template-columns: 1fr 1fr !important;
    min-height: 196px !important;
    padding: 16px !important;
  }
  .pc-hero-visual { min-height: 164px !important; }
  .ds-hero { grid-template-columns: 1fr !important; }
  .ds-shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .dd-layout { grid-template-columns: 1fr !important; }
}

@media (max-width: 640px) {
  body { padding-bottom: calc(62px + env(safe-area-inset-bottom, 0px)) !important; }
  .site-header.tsr-header { backdrop-filter: none !important; -webkit-backdrop-filter: none !important; }
  .tsr-header-main { width: calc(100% - 16px) !important; min-height: 60px !important; gap: 6px !important; }
  .tsr-brand-mark {
    display: grid !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 9px !important;
    font-size: 14px !important;
  }
  .tsr-brand-copy strong { font-size: 12px !important; }
  .tsr-brand-copy small { display: none !important; }
  .tsr-icon-button,
  .tsr-publish-button,
  .tsr-user-button {
    width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 !important;
    justify-content: center !important;
  }
  .tsr-publish-button {
    box-shadow: none !important;
  }
  .tsr-publish-button b { display: none !important; }
  .tsr-user-copy { display: none !important; }
  .tsr-login-link {
    min-height: 40px !important;
    padding: 0 10px !important;
    font-size: 10px !important;
  }
  .site-footer.tsr-footer {
    display: block !important;
    margin-top: 48px !important;
  }
  .tsr-footer-top {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
    padding: 34px 0 26px !important;
  }
  .tsr-footer-links {
    grid-column: auto !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
  .tsr-footer-route { min-height: 112px !important; padding: 15px !important; }
  .tsr-footer-bottom {
    gap: 9px !important;
    min-height: 0 !important;
    padding: 18px 0 22px !important;
  }
  .bottom-nav {
    min-height: 64px !important;
    padding-inline: 4px !important;
  }
  .evm-container { width: calc(100% - 14px) !important; }
  .evm-marketplace { padding-top: 7px !important; }
  .evm-catalog-hero {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px !important;
  }
  .evm-catalog-hero__aside {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  .evm-catalog-hero__aside > div { flex: 1 !important; }
  .evm-catalog-hero__aside .evm-btn { min-height: 36px !important; padding: 7px 9px !important; font-size: 9px !important; }
  .evm-catalog-tabs {
    grid-template-columns: repeat(4, minmax(76px, 1fr)) !important;
    overflow-x: auto !important;
  }
  .evm-catalog-tabs a {
    min-width: 76px !important;
    min-height: 44px !important;
    padding: 5px !important;
  }
  .evm-catalog-tabs__icon { display: none !important; }
  .evm-listing-grid--catalog,
  .evm-marketplace .mp-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  .evm-listing-grid--catalog .evm-listing-card,
  .evm-listing-card { display: flex !important; min-width: 0 !important; }
  .evm-listing-grid--catalog .evm-listing-card__media,
  .evm-listing-card__media { width: 100% !important; aspect-ratio: 1 / .82 !important; }
  .evm-listing-grid--catalog .evm-listing-card__body,
  .evm-listing-card__body {
    min-height: 138px !important;
    padding: 8px !important;
  }
  .evm-listing-card__type svg,
  .evm-listing-card__seller,
  .evm-listing-card__views { display: none !important; }
  .evm-listing-card h3 { min-height: 34px !important; font-size: 11px !important; }
  .evm-listing-card__footer strong { font-size: 12px !important; }
  .evm-listing-card__compatibility {
    right: 5px !important;
    bottom: 5px !important;
    max-width: calc(100% - 10px) !important;
  }
  .pc-product-grid,
  .car-grid,
  .diy-v2-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }
  .evd-directory .services-grid,
  .evd-directory .shops-grid { grid-template-columns: 1fr !important; }
  .mp-breadcrumb:not(.mp-car-breadcrumb),
  .mp-owner-preview,
  .mp-detail,
  .mp-detail-sections { width: calc(100% - 14px) !important; }
  .mp-detail > .mp-gallery { padding: 7px !important; }
  .mp-detail-info,
  .mp-detail-sections > article { padding: 15px !important; }
  .car-market__shell { width: calc(100% - 14px) !important; }
  .car-breadcrumb { min-height: 34px !important; }
  .car-hero {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 15px !important;
  }
  .car-hero h1 { font-size: 27px !important; }
  .car-hero__visual {
    min-height: 132px !important;
    margin-top: 12px !important;
    border-top: 1px solid var(--ts2-line) !important;
    border-left: 0 !important;
  }
  .car-hero__visual img:not(.car-hero__watermark) {
    width: 86% !important;
    max-height: 146px !important;
  }
  .car-purpose-tabs { padding: 5px !important; }
  .car-results-head { margin-top: 12px !important; }
  .product-catalog-page .pc-shell { width: calc(100% - 14px) !important; }
  .pc-hero {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 15px !important;
    text-align: left !important;
  }
  .pc-hero-copy { margin: 0 !important; }
  .pc-hero h1 { font-size: 27px !important; }
  .pc-hero p { margin-inline: 0 !important; }
  .pc-hero-visual {
    min-height: 132px !important;
    margin-top: 12px !important;
    border-top: 1px solid var(--ts2-line) !important;
    border-left: 0 !important;
  }
  .pc-hero-visual img {
    width: 86% !important;
    max-height: 146px !important;
  }
  .ds-page,
  .dd-page { width: calc(100% - 14px) !important; }
  .ds-hero { gap: 12px !important; padding: 15px !important; }
  .ds-hero h1 { font-size: 27px !important; }
  .ds-stats { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .ds-stat { min-width: 0 !important; padding: 7px !important; }
  .ds-search-card { margin: 7px 0 14px !important; }
  .ds-model-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 7px !important; }
  .ds-model-card { min-height: 108px !important; padding: 12px !important; }
  .ds-model-name { font-size: 13px !important; }
  .ds-shop-grid { grid-template-columns: 1fr !important; }
  .dd-banner { height: 128px !important; }
  .dd-hero-body { padding: 0 14px 15px !important; }
}

@media (max-width: 360px) {
  .tsr-brand-copy strong { font-size: 11px !important; }
  .tsr-brand { gap: 7px !important; }
  .tsr-header-actions { gap: 4px !important; }
  .tsr-login-link { width: 40px !important; padding: 0 !important; overflow: hidden !important; font-size: 0 !important; }
  .tsr-login-link::before { content: "↪" !important; font-size: 17px !important; }
  .tsr-footer-links { grid-template-columns: 1fr !important; }
  .evm-listing-grid--catalog,
  .evm-marketplace .mp-grid,
  .pc-product-grid,
  .car-grid,
  .diy-v2-grid { grid-template-columns: 1fr 1fr !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
