/*
 * TESLASHOP.GE — EV HUB Marketplace v2 — safe isolated card release
 * Marketplace hub + catalog + listing cards
 * Dark/Light · Mobile-first · no horizontal page scrolling
 */

.evm-marketplace {
  --evm-accent: var(--evx-primary);
  min-height: 100vh;
  padding: clamp(1rem, 2vw, 1.5rem) 0 calc(6.5rem + env(safe-area-inset-bottom, 0px));
  overflow-x: clip;
}

.evm-marketplace--parts { --evm-accent: var(--evx-purple-500); }
.evm-marketplace--dismantled { --evm-accent: #8b5cf6; }
.evm-marketplace--cars { --evm-accent: #2f6fab; }
.evm-marketplace--services { --evm-accent: var(--evx-blue-500); }

.evm-container {
  width: min(calc(100% - 2rem), 94rem);
  min-width: 0;
  margin-inline: auto;
}

.evm-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: 0;
  color: var(--evm-accent, var(--evx-primary));
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .13em;
  line-height: 1.2;
  text-transform: uppercase;
}

.evm-eyebrow::before {
  content: "";
  width: 1.8rem;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}

.evm-btn {
  display: inline-flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  padding: .78rem 1.05rem;
  border: 1px solid transparent;
  border-radius: .9rem;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  touch-action: manipulation;
  transition: transform var(--evx-transition), box-shadow var(--evx-transition), background var(--evx-transition), border-color var(--evx-transition), color var(--evx-transition);
}

.evm-btn:hover { transform: translateY(-1px); }
.evm-btn:active { transform: translateY(0); }
.evm-btn--primary {
  color: #fff;
  background: var(--evm-accent, var(--evx-primary));
  box-shadow: 0 10px 25px color-mix(in srgb, var(--evm-accent, var(--evx-primary)) 28%, transparent);
}
.evm-btn--primary:hover { background: color-mix(in srgb, var(--evm-accent, var(--evx-primary)) 88%, #000); }
.evm-btn--secondary {
  color: var(--evx-text);
  border-color: var(--evx-border-strong);
  background: var(--evx-surface);
}
.evm-btn--secondary:hover { border-color: var(--evm-accent, var(--evx-primary)); background: var(--evx-surface-2); }

/* Marketplace hub hero */
.evm-hero {
  position: relative;
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--evx-border);
  border-radius: clamp(1.35rem, 4vw, 2rem);
  color: var(--evx-text);
  background:
    radial-gradient(circle at 10% 4%, color-mix(in srgb, var(--evx-primary) 13%, transparent), transparent 24rem),
    linear-gradient(145deg, var(--evx-surface-raised), var(--evx-surface-2));
  box-shadow: var(--evx-shadow-card);
}

.evm-hero::after {
  content: "";
  position: absolute;
  right: -8rem;
  bottom: -12rem;
  width: 28rem;
  height: 28rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--evx-primary) 8%, transparent);
  filter: blur(1px);
  pointer-events: none;
}

.evm-hero__content {
  position: relative;
  z-index: 2;
  min-width: 0;
  padding: clamp(1.25rem, 5vw, 4rem);
}

.evm-hero h1 {
  max-width: 13ch;
  margin: .7rem 0 1rem;
  color: var(--evx-text-strong);
  font-size: clamp(2rem, 8.5vw, 5.2rem);
  font-weight: 880;
  letter-spacing: -.055em;
  line-height: 1.01;
}

.evm-hero h1 span { color: var(--evx-primary); }

.evm-hero__lead {
  max-width: 42rem;
  margin: 0;
  color: var(--evx-text-secondary);
  font-size: clamp(.97rem, 2vw, 1.16rem);
  line-height: 1.7;
}

.evm-global-search {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  min-width: 0;
  margin-top: 1.4rem;
  overflow: hidden;
  border: 1px solid var(--evx-border-strong);
  border-radius: 1rem;
  background: var(--evx-surface);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
  transition: border-color var(--evx-transition), box-shadow var(--evx-transition);
}

.evm-global-search:focus-within {
  border-color: var(--evx-primary);
  box-shadow: 0 0 0 4px var(--evx-focus), 0 12px 32px rgba(0, 0, 0, .1);
}

.evm-global-search > span {
  display: grid;
  width: 3.25rem;
  place-items: center;
  color: var(--evx-text-muted);
}

.evm-global-search input {
  min-width: 0;
  min-height: 3.45rem;
  padding: .7rem .6rem .7rem 0;
  border: 0;
  outline: 0;
  color: var(--evx-text);
  background: transparent;
  font-size: 1rem;
}

.evm-global-search input::placeholder { color: var(--evx-text-muted); opacity: 1; }
.evm-global-search button {
  grid-column: 1 / -1;
  min-height: 3.2rem;
  border: 0;
  color: #fff;
  background: var(--evx-primary);
  font-size: .9rem;
  font-weight: 820;
  cursor: pointer;
}

.evm-quick-search {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin-top: .85rem;
}
.evm-quick-search > span { color: var(--evx-text-muted); font-size: .75rem; font-weight: 700; }
.evm-quick-search button {
  min-height: 2.15rem;
  padding: .4rem .7rem;
  border: 1px solid var(--evx-border);
  border-radius: 999px;
  color: var(--evx-text-secondary);
  background: var(--evx-surface-2);
  font-size: .72rem;
  font-weight: 720;
  cursor: pointer;
}
.evm-quick-search button:hover { color: var(--evx-primary); border-color: color-mix(in srgb, var(--evx-primary) 42%, var(--evx-border)); }

.evm-hero__actions {
  display: grid;
  gap: .65rem;
  margin-top: 1.2rem;
}

.evm-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
  margin: 1.4rem 0 0;
}
.evm-hero__stats div {
  min-width: 0;
  padding: .75rem;
  border: 1px solid var(--evx-border);
  border-radius: .85rem;
  background: color-mix(in srgb, var(--evx-surface) 82%, transparent);
}
.evm-hero__stats dt {
  overflow: hidden;
  color: var(--evx-text-strong);
  font-size: clamp(1.1rem, 5vw, 1.65rem);
  font-weight: 880;
  letter-spacing: -.035em;
  line-height: 1.1;
  text-overflow: ellipsis;
}
.evm-hero__stats dd { margin: .25rem 0 0; color: var(--evx-text-muted); font-size: .65rem; line-height: 1.35; }

.evm-hero__visual {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 19rem;
  overflow: hidden;
  background: linear-gradient(145deg, color-mix(in srgb, var(--evx-navy-900) 94%, transparent), var(--evx-navy-800));
}
.evm-hero__image-wrap { position: absolute; inset: 0; }
.evm-hero__image-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 10, 17, .08), rgba(5, 10, 17, .75));
}
.evm-hero__image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.evm-hero__floating {
  position: absolute;
  z-index: 2;
  display: flex;
  max-width: calc(100% - 2rem);
  align-items: center;
  gap: .65rem;
  padding: .65rem .75rem;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: .85rem;
  color: #fff;
  background: rgba(8, 16, 26, .78);
  box-shadow: 0 15px 30px rgba(0, 0, 0, .28);
  backdrop-filter: blur(12px);
}
.evm-hero__floating--top { top: 1rem; right: 1rem; }
.evm-hero__floating--bottom { right: 1rem; bottom: 1rem; }
.evm-hero__floating-icon { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border-radius: .6rem; color: #fff; background: var(--evx-primary); }
.evm-hero__floating div { display: flex; min-width: 0; flex-direction: column; }
.evm-hero__floating strong { font-size: .75rem; line-height: 1.3; }
.evm-hero__floating small { color: rgba(255,255,255,.64); font-size: .63rem; }

/* Sections */
.evm-section { margin-top: clamp(2rem, 6vw, 5rem); }
.evm-section__header { margin-bottom: 1rem; }
.evm-section__header h2 {
  margin: .45rem 0 .4rem;
  color: var(--evx-text-strong);
  font-size: clamp(1.45rem, 5vw, 2.45rem);
  font-weight: 860;
  letter-spacing: -.04em;
  line-height: 1.12;
}
.evm-section__header p:not(.evm-eyebrow) { max-width: 45rem; margin: 0; color: var(--evx-text-secondary); font-size: .9rem; line-height: 1.6; }
.evm-section__header--split { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 1rem; }
.evm-text-link { display: inline-flex; min-height: 2.75rem; align-items: center; gap: .35rem; color: var(--evx-primary); font-size: .82rem; font-weight: 800; text-decoration: none; }

.evm-category-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}
.evm-category-card {
  --evm-category-accent: var(--evx-primary);
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 12.5rem;
  overflow: hidden;
  border: 1px solid var(--evx-border);
  border-radius: 1.15rem;
  color: #fff;
  background: var(--evx-navy-900);
  box-shadow: var(--evx-shadow-card);
  text-decoration: none;
  isolation: isolate;
  transition: transform var(--evx-transition), box-shadow var(--evx-transition), border-color var(--evx-transition);
}
.evm-category-card:hover { transform: translateY(-3px); border-color: color-mix(in srgb, var(--evm-category-accent) 65%, transparent); box-shadow: var(--evx-shadow-float); }
.evm-category-card--parts { --evm-category-accent: var(--evx-purple-500); }
.evm-category-card--cars { --evm-category-accent: #4d8fd0; }
.evm-category-card--dismantled { --evm-category-accent: #9b77ed; }
.evm-category-card--services { --evm-category-accent: var(--evx-blue-500); }
.evm-category-card--chargers { --evm-category-accent: var(--evx-green-500); }
.evm-category-card--shops { --evm-category-accent: var(--evx-orange-500); }
.evm-category-card > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 450ms cubic-bezier(.2,.8,.2,1); }
.evm-category-card:hover > img { transform: scale(1.045); }
.evm-category-card__scrim { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg, rgba(6, 12, 20, .12), rgba(6, 12, 20, .91)); }
.evm-category-card__icon { position: absolute; top: .75rem; left: .75rem; display: grid; width: 2.45rem; height: 2.45rem; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: .75rem; color: #fff; background: color-mix(in srgb, var(--evm-category-accent) 78%, rgba(5,10,17,.55)); backdrop-filter: blur(10px); }
.evm-category-card__content { display: flex; min-width: 0; align-self: end; flex-direction: column; padding: 4.3rem .8rem .85rem; }
.evm-category-card__content small { color: rgba(255,255,255,.65); font-size: .62rem; font-style: normal; font-weight: 700; }
.evm-category-card__content strong { margin-top: .18rem; font-size: clamp(.88rem, 3.4vw, 1.2rem); font-weight: 850; letter-spacing: -.025em; line-height: 1.2; }
.evm-category-card__content em { display: none; margin-top: .35rem; color: rgba(255,255,255,.7); font-size: .73rem; font-style: normal; line-height: 1.45; }
.evm-category-card__arrow { position: absolute; right: .75rem; bottom: .75rem; display: none; width: 2.25rem; height: 2.25rem; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 50%; background: rgba(255,255,255,.11); }

.evm-trust-grid { display: grid; min-width: 0; gap: .75rem; margin-top: clamp(2rem, 6vw, 4rem); }
.evm-trust-grid article { display: flex; min-width: 0; gap: .8rem; padding: 1rem; border: 1px solid var(--evx-border); border-radius: 1rem; background: var(--evx-surface); box-shadow: var(--evx-shadow-card); }
.evm-trust-grid article > span { display: grid; width: 2.6rem; height: 2.6rem; flex: 0 0 auto; place-items: center; border-radius: .75rem; color: var(--evx-primary); background: var(--evx-primary-soft); }
.evm-trust-grid h3 { margin: 0; color: var(--evx-text-strong); font-size: .9rem; font-weight: 820; }
.evm-trust-grid p { margin: .3rem 0 0; color: var(--evx-text-secondary); font-size: .76rem; line-height: 1.55; }

.evm-sell-cta { display: grid; gap: 1rem; margin-top: clamp(2rem, 6vw, 5rem); padding: clamp(1.2rem, 5vw, 2.6rem); overflow: hidden; border: 1px solid color-mix(in srgb, var(--evx-primary) 28%, var(--evx-border)); border-radius: 1.35rem; background: linear-gradient(135deg, var(--evx-surface), color-mix(in srgb, var(--evx-primary-soft) 72%, var(--evx-surface))); box-shadow: var(--evx-shadow-card); }
.evm-sell-cta h2 { margin: .45rem 0 .5rem; color: var(--evx-text-strong); font-size: clamp(1.35rem, 5vw, 2.3rem); font-weight: 860; letter-spacing: -.04em; line-height: 1.15; }
.evm-sell-cta p:not(.evm-eyebrow) { margin: 0; color: var(--evx-text-secondary); font-size: .88rem; line-height: 1.6; }

/* Catalog hero and navigation */
.evm-catalog-hero {
  display: grid;
  min-width: 0;
  gap: 1rem;
  padding: 1.15rem;
  border: 1px solid var(--evx-border);
  border-radius: 1.3rem;
  background:
    radial-gradient(circle at 100% 0, color-mix(in srgb, var(--evm-accent) 13%, transparent), transparent 19rem),
    var(--evx-surface);
  box-shadow: var(--evx-shadow-card);
}
.evm-breadcrumb { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; gap: .3rem; color: var(--evx-text-muted); font-size: .7rem; font-weight: 680; }
.evm-breadcrumb a { text-decoration: none; }
.evm-breadcrumb a:hover { color: var(--evm-accent); }
.evm-catalog-hero__title-row { display: flex; min-width: 0; align-items: center; gap: .8rem; margin-top: .9rem; }
.evm-catalog-hero__icon { display: grid; width: 3.2rem; height: 3.2rem; flex: 0 0 auto; place-items: center; border-radius: .9rem; color: #fff; background: var(--evm-accent); box-shadow: 0 10px 25px color-mix(in srgb, var(--evm-accent) 28%, transparent); }
.evm-catalog-hero h1 { margin: .25rem 0 0; color: var(--evx-text-strong); font-size: clamp(1.55rem, 6.5vw, 3.2rem); font-weight: 880; letter-spacing: -.045em; line-height: 1.08; }
.evm-catalog-hero__lead { max-width: 49rem; margin: .8rem 0 0; color: var(--evx-text-secondary); font-size: .9rem; line-height: 1.65; }
.evm-catalog-hero__aside { display: grid; min-width: 0; gap: .75rem; }
.evm-catalog-hero__aside > div { display: flex; min-width: 0; align-items: baseline; gap: .55rem; padding: .8rem 1rem; border: 1px solid var(--evx-border); border-radius: .85rem; background: var(--evx-surface-2); }
.evm-catalog-hero__aside strong { color: var(--evx-text-strong); font-size: 1.35rem; font-weight: 880; }
.evm-catalog-hero__aside span { color: var(--evx-text-muted); font-size: .74rem; }
.evm-vehicle-match { display: flex; min-width: 0; align-items: center; gap: .65rem; margin-top: .9rem; padding: .7rem .8rem; border: 1px solid color-mix(in srgb, var(--evm-accent) 32%, var(--evx-border)); border-radius: .85rem; background: color-mix(in srgb, var(--evm-accent) 8%, var(--evx-surface)); }
.evm-vehicle-match > span { display: grid; width: 2.2rem; height: 2.2rem; flex: 0 0 auto; place-items: center; border-radius: .65rem; color: #fff; background: var(--evm-accent); }
.evm-vehicle-match div { display: flex; min-width: 0; flex-direction: column; }
.evm-vehicle-match small { color: var(--evx-text-muted); font-size: .62rem; }
.evm-vehicle-match strong { overflow: hidden; color: var(--evx-text); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.evm-vehicle-match a { margin-left: auto; color: var(--evm-accent); font-size: .7rem; font-weight: 800; text-decoration: none; }

.evm-catalog-tabs { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin-top: .75rem; }
.evm-catalog-tabs a { display: grid; min-width: 0; min-height: 4.3rem; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .45rem; padding: .65rem; border: 1px solid var(--evx-border); border-radius: .9rem; color: var(--evx-text-secondary); background: var(--evx-surface); text-decoration: none; box-shadow: 0 1px 2px rgba(0,0,0,.03); transition: transform var(--evx-transition), border-color var(--evx-transition), background var(--evx-transition), color var(--evx-transition); }
.evm-catalog-tabs a:hover { transform: translateY(-1px); border-color: color-mix(in srgb, var(--evm-accent) 45%, var(--evx-border)); }
.evm-catalog-tabs a.is-active { color: var(--evx-text-strong); border-color: color-mix(in srgb, var(--evm-accent) 55%, var(--evx-border)); background: color-mix(in srgb, var(--evm-accent) 8%, var(--evx-surface)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--evm-accent) 20%, transparent); }
.evm-catalog-tabs__icon { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; border-radius: .65rem; color: var(--evm-accent); background: color-mix(in srgb, var(--evm-accent) 10%, var(--evx-surface)); }
.evm-catalog-tabs__label { min-width: 0; overflow: hidden; font-size: .72rem; font-weight: 780; text-overflow: ellipsis; white-space: nowrap; }
.evm-catalog-tabs b { display: grid; min-width: 1.65rem; height: 1.65rem; padding-inline: .35rem; place-items: center; border-radius: 999px; color: var(--evx-text-muted); background: var(--evx-surface-3); font-size: .62rem; }

.evm-active-filters { display: grid; min-width: 0; gap: .6rem; margin-top: .8rem; padding: .75rem; border: 1px solid var(--evx-border); border-radius: .9rem; background: var(--evx-surface); }
.evm-active-filters__label { display: flex; align-items: center; gap: .4rem; color: var(--evx-text-secondary); font-size: .72rem; font-weight: 760; }
.evm-active-filters__label span { display: grid; width: 1.45rem; height: 1.45rem; place-items: center; border-radius: 50%; color: #fff; background: var(--evm-accent); font-size: .65rem; }
.evm-active-filters__chips { display: flex; min-width: 0; flex-wrap: wrap; gap: .4rem; }
.evm-active-filters__chips a { display: inline-flex; min-height: 2.1rem; align-items: center; gap: .4rem; padding: .36rem .6rem; border: 1px solid color-mix(in srgb, var(--evm-accent) 25%, var(--evx-border)); border-radius: 999px; color: var(--evx-text-secondary); background: color-mix(in srgb, var(--evm-accent) 6%, var(--evx-surface-2)); font-size: .68rem; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.evm-active-filters__chips a span { color: var(--evm-accent); font-size: 1rem; line-height: 1; }
.evm-active-filters__chips .evm-active-filters__clear { color: var(--evm-accent); border-style: dashed; background: transparent; }

.evm-mobile-toolbar { position: sticky; z-index: 20; top: .5rem; display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin-top: .75rem; padding: .55rem; border: 1px solid var(--evx-border); border-radius: .95rem; background: var(--evx-glass); box-shadow: var(--evx-shadow-card); backdrop-filter: blur(16px); }
.evm-mobile-toolbar button,
.evm-mobile-toolbar form { min-width: 0; }
.evm-mobile-toolbar__filter { display: flex; min-height: 3rem; align-items: center; justify-content: center; gap: .45rem; border: 0; border-radius: .75rem; color: #fff; background: var(--evm-accent); font-size: .78rem; font-weight: 800; cursor: pointer; }
.evm-mobile-toolbar__filter > span { display: grid; min-width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 999px; color: var(--evm-accent); background: #fff; font-size: .62rem; }
.evm-mobile-toolbar__sort { position: relative; display: flex; min-height: 3rem; align-items: center; gap: .35rem; padding-left: .65rem; border: 1px solid var(--evx-border); border-radius: .75rem; background: var(--evx-surface); }
.evm-mobile-toolbar__sort > span { flex: 0 0 auto; color: var(--evx-text-muted); }
.evm-mobile-toolbar__sort select { width: 100%; min-width: 0; height: 100%; padding: .4rem 1.55rem .4rem .1rem; border: 0; outline: 0; color: var(--evx-text); background: transparent; font-size: .72rem; font-weight: 760; }

.evm-catalog-layout { display: grid; min-width: 0; gap: 1rem; margin-top: .8rem; }

/* Filter panel */
.evm-filter-backdrop { position: fixed; z-index: 1090; inset: 0; border: 0; background: rgba(4, 9, 15, .58); opacity: 0; transition: opacity var(--evx-transition); backdrop-filter: blur(3px); }
.evm-filter-backdrop.is-visible { opacity: 1; }
.evm-filter-panel { position: fixed; z-index: 1100; right: 0; bottom: 0; left: 0; max-height: min(90dvh, 48rem); min-width: 0; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--evx-border-strong); border-bottom: 0; border-radius: 1.35rem 1.35rem 0 0; background: var(--evx-surface-raised); box-shadow: var(--evx-shadow-modal); transform: translateY(105%); visibility: hidden; transition: transform var(--evx-transition-slow), visibility var(--evx-transition-slow); padding-bottom: calc(env(safe-area-inset-bottom, 0px) + .5rem); }
.evm-filter-panel.is-open { transform: translateY(0); visibility: visible; }
.evm-filter-panel__mobile-head { position: sticky; z-index: 3; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border-bottom: 1px solid var(--evx-border); background: var(--evx-glass); backdrop-filter: blur(16px); }
.evm-filter-panel__mobile-head::before { content: ""; position: absolute; top: .38rem; left: 50%; width: 2.7rem; height: .25rem; border-radius: 999px; background: var(--evx-border-strong); transform: translateX(-50%); }
.evm-filter-panel__mobile-head div { display: flex; flex-direction: column; padding-top: .3rem; }
.evm-filter-panel__mobile-head strong { color: var(--evx-text-strong); font-size: .9rem; }
.evm-filter-panel__mobile-head span { color: var(--evx-text-muted); font-size: .67rem; }
.evm-filter-panel__mobile-head button { display: grid; width: 2.65rem; height: 2.65rem; place-items: center; border: 1px solid var(--evx-border); border-radius: .75rem; color: var(--evx-text); background: var(--evx-surface); cursor: pointer; }
.evm-filter-panel__head { display: none; }
.evm-filter-form { display: flex; min-width: 0; flex-direction: column; gap: .75rem; padding: .9rem; }
.evm-filter-group { display: flex; min-width: 0; flex-direction: column; gap: .7rem; padding: .85rem; border: 1px solid var(--evx-border); border-radius: .95rem; background: var(--evx-surface); }
.evm-filter-group h3 { margin: 0 0 .05rem; color: var(--evx-text-strong); font-size: .78rem; font-weight: 820; }
.evm-filter-group > label,
.evm-filter-group--search { min-width: 0; }
.evm-filter-group label { display: flex; min-width: 0; flex-direction: column; gap: .38rem; }
.evm-filter-group label > span,
.evm-filter-group--search > label { color: var(--evx-text-secondary); font-size: .7rem; font-weight: 740; }
.evm-filter-group input,
.evm-filter-group select,
.evm-advanced-filters input,
.evm-advanced-filters select { width: 100%; min-width: 0; min-height: 3.1rem; padding: .7rem .8rem; border: 1px solid var(--evx-border-strong); border-radius: .75rem; outline: 0; color: var(--evx-text); background: var(--evx-surface-2); font-size: 1rem; transition: border-color var(--evx-transition), box-shadow var(--evx-transition), background var(--evx-transition); }
.evm-filter-group input:focus,
.evm-filter-group select:focus,
.evm-advanced-filters input:focus,
.evm-advanced-filters select:focus { border-color: var(--evm-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--evm-accent) 20%, transparent); background: var(--evx-surface); }
.evm-filter-group select[multiple], .evm-advanced-filters select[multiple] { min-height: 8rem; }
.evm-filter-search { display: flex; min-width: 0; align-items: center; border: 1px solid var(--evx-border-strong); border-radius: .75rem; background: var(--evx-surface-2); }
.evm-filter-search:focus-within { border-color: var(--evm-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--evm-accent) 20%, transparent); }
.evm-filter-search span { display: grid; width: 2.8rem; flex: 0 0 auto; place-items: center; color: var(--evx-text-muted); }
.evm-filter-search input { border: 0; background: transparent; box-shadow: none !important; padding-left: 0; }
.evm-filter-pair { display: grid !important; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }

.evm-advanced-filters { min-width: 0; overflow: hidden; border: 1px solid var(--evx-border); border-radius: .95rem; background: var(--evx-surface); }
.evm-advanced-filters summary { display: grid; min-height: 3.4rem; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: .5rem; padding: .8rem; color: var(--evx-text); font-size: .75rem; font-weight: 800; cursor: pointer; list-style: none; }
.evm-advanced-filters summary::-webkit-details-marker { display: none; }
.evm-advanced-filters summary b { display: grid; min-width: 1.6rem; height: 1.6rem; place-items: center; border-radius: 999px; color: #fff; background: var(--evm-accent); font-size: .65rem; }
.evm-advanced-filters summary svg { transition: transform var(--evx-transition); }
.evm-advanced-filters[open] summary svg { transform: rotate(180deg); }
.evm-advanced-filters__body { display: flex; min-width: 0; flex-direction: column; gap: .7rem; padding: 0 .8rem .8rem; border-top: 1px solid var(--evx-border); }
.evm-advanced-filters__body > label { display: flex; min-width: 0; flex-direction: column; gap: .35rem; padding-top: .8rem; }
.evm-advanced-filters__body > label > span { color: var(--evx-text-secondary); font-size: .7rem; font-weight: 740; }

.evm-filter-panel__actions { position: sticky; z-index: 3; bottom: 0; display: grid; grid-template-columns: .7fr 1.3fr; gap: .55rem; margin: .15rem -.9rem -.9rem; padding: .7rem .9rem calc(.7rem + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--evx-border); background: var(--evx-glass); backdrop-filter: blur(16px); }
.evm-filter-panel__actions a,
.evm-filter-panel__actions button { display: inline-flex; min-height: 3.2rem; align-items: center; justify-content: center; gap: .4rem; border-radius: .8rem; font-size: .74rem; font-weight: 820; text-align: center; text-decoration: none; }
.evm-filter-panel__actions a { border: 1px solid var(--evx-border-strong); color: var(--evx-text-secondary); background: var(--evx-surface); }
.evm-filter-panel__actions button { border: 0; color: #fff; background: var(--evm-accent); cursor: pointer; }
.evm-filter-panel__actions button b { display: none; }
html.evm-filter-lock { overflow: hidden; }

/* Results */
.evm-catalog-results { min-width: 0; }
.evm-results-toolbar { display: none; }
.evm-sort-form { display: flex; align-items: center; gap: .6rem; }
.evm-sort-form label { color: var(--evx-text-muted); font-size: .72rem; font-weight: 720; }
.evm-sort-form select { min-height: 2.8rem; padding: .55rem 2rem .55rem .75rem; border: 1px solid var(--evx-border); border-radius: .75rem; color: var(--evx-text); background: var(--evx-surface); font-size: .76rem; font-weight: 740; }

/* Listing cards */
.evm-listing-grid,
.evm-marketplace .mp-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 1fr);
  gap: .75rem;
}

.evm-listing-card {
  --evm-card-accent: var(--evx-primary);
  display: grid;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--evx-border);
  border-radius: 1rem;
  color: var(--evx-text);
  background: var(--evx-surface);
  box-shadow: var(--evx-shadow-card);
  transition: transform var(--evx-transition), border-color var(--evx-transition), box-shadow var(--evx-transition);
}
.evm-listing-card:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--evm-card-accent) 40%, var(--evx-border)); box-shadow: var(--evx-shadow-float); }
.evm-listing-card--part { --evm-card-accent: var(--evx-purple-500); }
.evm-listing-card--dismantled_part,
.evm-listing-card--dismantled_vehicle { --evm-card-accent: #8b5cf6; }
.evm-listing-card--car { --evm-card-accent: #2f6fab; }
.evm-listing-card--service { --evm-card-accent: var(--evx-blue-500); }
.evm-listing-card--charger { --evm-card-accent: var(--evx-green-500); }

.evm-listing-card__media {
  position: relative;
  display: block;
  min-width: 0;
  min-height: 10rem;
  overflow: hidden;
  color: #fff;
  background: var(--evx-surface-3);
}
.evm-listing-card__media > img { width: 100%; height: 100%; min-height: 10rem; object-fit: cover; transition: transform 400ms cubic-bezier(.2,.8,.2,1); }
.evm-listing-card:hover .evm-listing-card__media > img { transform: scale(1.035); }
.evm-listing-card__media-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(3,8,14,.18), transparent 46%, rgba(3,8,14,.52)); pointer-events: none; }
.evm-listing-card__type { position: absolute; top: .6rem; left: .6rem; display: inline-flex; max-width: calc(100% - 1.2rem); min-height: 1.8rem; align-items: center; gap: .35rem; padding: .3rem .5rem; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; color: #fff; background: rgba(6,12,20,.72); font-size: .6rem; font-weight: 800; line-height: 1.2; backdrop-filter: blur(9px); }
.evm-listing-card__type svg { width: .9rem; height: .9rem; flex: 0 0 auto; }
.evm-listing-card__priority { position:absolute;z-index:3;top:.6rem;right:.6rem;display:inline-flex;min-height:1.8rem;align-items:center;padding:.3rem .58rem;border-radius:999px;color:#fff;background:linear-gradient(135deg,#4f46e5,#312e81);box-shadow:0 .45rem 1rem rgba(3,8,14,.25);font-size:.6rem;font-weight:900;letter-spacing:.07em; }
.evm-listing-card__priority--vip { background:linear-gradient(135deg,#ef4444,#9f1239); }
.evm-listing-card__priority--top { color:#171a20;background:linear-gradient(135deg,#fde68a,#f59e0b); }
.evm-listing-card__compatibility { position: absolute; right: .6rem; bottom: .6rem; max-width: calc(100% - 1.2rem); padding: .32rem .5rem; border-radius: .55rem; color: #fff; background: rgba(6,12,20,.78); font-size: .58rem; font-weight: 780; line-height: 1.3; backdrop-filter: blur(8px); }
.evm-listing-card__compatibility--exact,
.evm-listing-card__compatibility--universal { background: rgba(8, 116, 67, .9); }
.evm-listing-card__compatibility--likely { background: rgba(25, 103, 210, .9); }
.evm-listing-card__compatibility--confirm_required { background: rgba(154, 90, 0, .9); }
.evm-listing-card__compatibility--incompatible { background: rgba(185, 20, 32, .9); }
.evm-listing-card__view { display: none; }

.evm-listing-card__body { display: flex; min-width: 0; flex-direction: column; padding: .85rem; }
.evm-listing-card__meta { display: flex; min-width: 0; flex-wrap: wrap; gap: .35rem; color: var(--evx-text-muted); font-size: .63rem; line-height: 1.35; }
.evm-listing-card__meta span { display: inline-flex; min-width: 0; align-items: center; }
.evm-listing-card__meta span + span::before { content: "•"; margin-right: .35rem; color: var(--evm-card-accent); }
.evm-listing-card h3 { margin: .45rem 0 0; color: var(--evx-text-strong); font-size: .95rem; font-weight: 820; letter-spacing: -.018em; line-height: 1.35; }
.evm-listing-card h3 a { display: -webkit-box; overflow: hidden; color: inherit; text-decoration: none; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.evm-listing-card__description { display: -webkit-box; margin: .45rem 0 0; overflow: hidden; color: var(--evx-text-secondary); font-size: .68rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.evm-listing-card__facts { display: flex; min-width: 0; flex-direction: column; gap: .3rem; margin-top: .55rem; color: var(--evx-text-secondary); font-size: .68rem; line-height: 1.45; }
.evm-listing-card__facts span { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 1; }
.evm-listing-card__seller { display: flex; min-width: 0; align-items: center; gap: .35rem; margin-top: .5rem; overflow: hidden; color: var(--evx-text-muted); font-size: .64rem; font-weight: 680; text-overflow: ellipsis; white-space: nowrap; }
.evm-listing-card__seller span { display: grid; width: 1rem; height: 1rem; flex: 0 0 auto; place-items: center; border-radius: 50%; color: #fff; background: var(--evx-green-500); font-size: .55rem; }
.evm-listing-card__footer { display: flex; min-width: 0; align-items: end; justify-content: space-between; gap: .55rem; margin-top: auto; padding-top: .7rem; }
.evm-listing-card__footer strong { min-width: 0; overflow: hidden; color: var(--evm-card-accent); font-size: 1rem; font-weight: 900; letter-spacing: -.025em; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.evm-listing-card__views { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .25rem; color: var(--evx-text-muted); font-size: .62rem; }
.evm-listing-card__views svg { width: .9rem; height: .9rem; }

/* Compact application-style card on small phones */
@media (max-width: 39.99rem) {
  .evm-listing-grid--catalog .evm-listing-card { grid-template-columns: 7.5rem minmax(0, 1fr); min-height: 10.2rem; }
  .evm-listing-grid--catalog .evm-listing-card__media { min-height: 100%; }
  .evm-listing-grid--catalog .evm-listing-card__media > img { min-height: 100%; }
  .evm-listing-grid--catalog .evm-listing-card__type { top: .45rem; left: .45rem; max-width: calc(100% - .9rem); padding: .28rem .42rem; font-size: .54rem; }
  .evm-listing-grid--catalog .evm-listing-card__type svg { display: none; }
  .evm-listing-grid--catalog .evm-listing-card__compatibility { right: .45rem; bottom: .45rem; left: .45rem; max-width: none; font-size: .52rem; text-align: center; }
  .evm-listing-grid--catalog .evm-listing-card__body { padding: .7rem; }
  .evm-listing-grid--catalog .evm-listing-card__meta { font-size: .58rem; }
  .evm-listing-grid--catalog .evm-listing-card h3 { font-size: .82rem; }
  .evm-listing-grid--catalog .evm-listing-card__facts { margin-top: .4rem; font-size: .61rem; }
  .evm-listing-grid--catalog .evm-listing-card__seller { display: none; }
  .evm-listing-grid--catalog .evm-listing-card__footer { padding-top: .45rem; }
  .evm-listing-grid--catalog .evm-listing-card__footer strong { font-size: .83rem; }
}

.evm-empty { grid-column: 1 / -1; display: flex; min-width: 0; flex-direction: column; align-items: center; padding: clamp(2rem, 8vw, 4rem) 1.25rem; border: 1px dashed var(--evx-border-strong); border-radius: 1.2rem; color: var(--evx-text-secondary); background: var(--evx-surface); text-align: center; }
.evm-empty > span { display: grid; width: 4rem; height: 4rem; place-items: center; border-radius: 1.2rem; color: var(--evm-accent, var(--evx-primary)); background: color-mix(in srgb, var(--evm-accent, var(--evx-primary)) 10%, var(--evx-surface)); }
.evm-empty h2,
.evm-empty h3 { margin: 1rem 0 .4rem; color: var(--evx-text-strong); font-size: 1.2rem; font-weight: 840; }
.evm-empty p { max-width: 35rem; margin: 0; font-size: .84rem; line-height: 1.6; }
.evm-empty > div { display: grid; width: 100%; gap: .55rem; margin-top: 1rem; }

.evm-pagination { display: flex; min-width: 0; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .65rem; margin-top: 1.25rem; padding: .7rem; border: 1px solid var(--evx-border); border-radius: .95rem; background: var(--evx-surface); }
.evm-pagination > div { display: flex; min-width: 0; flex-wrap: wrap; justify-content: center; gap: .35rem; }
.evm-pagination a { display: inline-flex; min-width: 2.55rem; min-height: 2.55rem; align-items: center; justify-content: center; gap: .25rem; padding: .45rem .6rem; border: 1px solid var(--evx-border); border-radius: .7rem; color: var(--evx-text-secondary); background: var(--evx-surface-2); font-size: .72rem; font-weight: 760; text-decoration: none; }
.evm-pagination a.is-active { color: #fff; border-color: var(--evm-accent); background: var(--evm-accent); }
.evm-pagination__arrow span { display: none; }
.evm-pagination__previous-icon { transform: rotate(180deg); }

@media (min-width: 30rem) {
  .evm-global-search { grid-template-columns: auto minmax(0, 1fr) auto; }
  .evm-global-search button { grid-column: auto; min-width: 7rem; padding-inline: 1rem; }
  .evm-hero__actions { display: flex; flex-wrap: wrap; }
  .evm-hero__actions .evm-btn { width: auto; }
  .evm-category-card__content em { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .evm-category-card__arrow { display: grid; }
  .evm-category-card__content { padding-right: 3.4rem; }
  .evm-empty > div { width: auto; grid-template-columns: repeat(2, auto); }
}

@media (min-width: 40rem) {
  .evm-container { width: min(calc(100% - 3rem), 94rem); }
  .evm-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
  .evm-category-card { min-height: 15rem; }
  .evm-category-card__content { padding: 5rem 1rem 1rem; }
  .evm-trust-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .evm-sell-cta { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .evm-catalog-hero { grid-template-columns: minmax(0, 1fr) auto; align-items: end; padding: 1.4rem; }
  .evm-catalog-hero__aside { min-width: 15rem; }
  .evm-catalog-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .evm-listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
  .evm-listing-card__media { aspect-ratio: 4 / 3; min-height: 0; }
  .evm-listing-card__media > img { min-height: 0; }
  .evm-pagination__arrow span { display: inline; }
}

@media (min-width: 58rem) {
  .evm-marketplace { padding-top: 1.5rem; padding-bottom: 4rem; }
  .evm-hero { grid-template-columns: minmax(0, 1.08fr) minmax(24rem, .92fr); min-height: 38rem; }
  .evm-hero__content { display: flex; flex-direction: column; justify-content: center; }
  .evm-hero__visual { min-height: 100%; }
  .evm-global-search { max-width: 46rem; }
  .evm-hero__stats { max-width: 42rem; gap: .75rem; }
  .evm-hero__stats div { padding: .9rem 1rem; }
  .evm-category-card { min-height: 18rem; }
  .evm-category-card__content strong { font-size: 1.2rem; }
  .evm-catalog-layout { grid-template-columns: minmax(17.5rem, 20rem) minmax(0, 1fr); align-items: start; gap: 1.25rem; margin-top: 1.25rem; }
  .evm-mobile-toolbar { display: none; }
  .evm-filter-backdrop { display: none !important; }
  .evm-filter-panel { position: sticky; z-index: 5; top: 1rem; max-height: calc(100vh - 2rem); visibility: visible; overflow-y: auto; border: 1px solid var(--evx-border); border-radius: 1.15rem; background: var(--evx-surface); box-shadow: var(--evx-shadow-card); transform: none; padding-bottom: 0; scrollbar-width: thin; scrollbar-color: var(--evx-border-strong) transparent; }
  .evm-filter-panel__mobile-head { display: none; }
  .evm-filter-panel__head { position: sticky; z-index: 4; top: 0; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem; border-bottom: 1px solid var(--evx-border); background: var(--evx-glass); backdrop-filter: blur(15px); }
  .evm-filter-panel__head h2 { margin: .25rem 0 0; color: var(--evx-text-strong); font-size: 1rem; font-weight: 840; }
  .evm-filter-panel__head a { color: var(--evm-accent); font-size: .68rem; font-weight: 780; text-decoration: none; }
  .evm-filter-form { padding: .8rem; }
  .evm-filter-panel__actions { margin: .15rem -.8rem -.8rem; padding: .65rem .8rem; }
  .evm-filter-panel__actions a { display: none; }
  .evm-filter-panel__actions { grid-template-columns: 1fr; }
  .evm-filter-panel__actions button b { display: inline; }
  .evm-results-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; padding: .75rem .9rem; border: 1px solid var(--evx-border); border-radius: .95rem; background: var(--evx-surface); box-shadow: 0 1px 2px rgba(0,0,0,.03); }
  .evm-results-toolbar h2 { margin: 0; color: var(--evx-text-strong); font-size: .92rem; font-weight: 830; }
  .evm-results-toolbar p { margin: .15rem 0 0; color: var(--evx-text-muted); font-size: .65rem; }
  .evm-active-filters { grid-template-columns: auto minmax(0, 1fr); align-items: start; padding: .8rem 1rem; }
  .evm-active-filters__label { min-height: 2.1rem; }
  .evm-listing-grid--catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 75rem) {
  .evm-container { width: min(calc(100% - 4rem), 94rem); }
  .evm-hero__content { padding: 4.5rem; }
  .evm-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .evm-listing-grid--catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .evm-filter-panel { max-height: calc(100vh - 3rem); }
}

@media (min-width: 94rem) {
  .evm-listing-grid--catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 22rem) {
  .evm-container { width: min(calc(100% - 1rem), 94rem); }
  .evm-marketplace { min-width: 0; }
  .evm-hero__content { padding: 1rem; }
  .evm-hero h1 { font-size: 1.75rem; }
  .evm-hero__stats { grid-template-columns: 1fr; }
  .evm-category-grid { grid-template-columns: 1fr; }
  .evm-catalog-tabs { grid-template-columns: 1fr; }
  .evm-mobile-toolbar { grid-template-columns: 1fr; }
  .evm-filter-pair { grid-template-columns: 1fr !important; }
  .evm-listing-grid--catalog .evm-listing-card { grid-template-columns: 6.65rem minmax(0, 1fr); }
  .evm-pagination { justify-content: center; }
}

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

[data-evm-reveal] {
  opacity: 0;
  transform: translateY(.8rem);
}
[data-evm-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 420ms ease, transform 420ms cubic-bezier(.2,.8,.2,1);
}
@media (prefers-reduced-motion: reduce) {
  [data-evm-reveal] { opacity: 1; transform: none; }
}
