
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#06080b;color:#f4f5f7;font-family:Arial,Helvetica,sans-serif;line-height:1.45}a{text-decoration:none;color:inherit}button{font:inherit;color:inherit}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.loader{position:fixed;inset:0;z-index:99;background:#050608;display:grid;place-items:center;transition:.55s opacity,.55s visibility}.loader.hide{opacity:0;visibility:hidden}.loader-mark{font-size:44px;font-weight:900;font-style:italic;letter-spacing:-4px;color:#e5252a;animation:pulse 1s infinite}@keyframes pulse{50%{transform:scale(1.08);filter:drop-shadow(0 0 16px #e5252a)}}.hero{position:relative;overflow:hidden;border-bottom:1px solid #2b2e33;background:radial-gradient(circle at 75% 25%,#172330 0,transparent 32%),linear-gradient(120deg,#050608,#0b1017 65%,#08090b);min-height:330px}.hero:after{content:"";position:absolute;right:-5%;bottom:-90px;width:55%;height:230px;border-top:2px solid #e1262b;transform:skewX(-35deg);opacity:.75}.hero-glow{position:absolute;width:400px;height:400px;border-radius:50%;right:12%;top:-230px;background:#e1262b;filter:blur(150px);opacity:.12}.hero-inner{padding:55px 0;position:relative;z-index:2}.brand-line{font-size:50px;font-weight:900;font-style:italic;letter-spacing:-3px}.brand-line b{color:#e3262b}.tag{font-size:14px;font-weight:700;letter-spacing:1px}.hero-copy{margin-top:65px;max-width:700px}.hero-copy span,.eyebrow{color:#e92b30;font-size:12px;font-weight:800;letter-spacing:2px}.hero-copy h1{font-size:38px;margin:8px 0}.hero-copy p{color:#b8bdc5;margin:0;max-width:620px}.section{padding:62px 0}.section-head{text-align:center;margin-bottom:28px}.section-head h2{font-size:30px;margin:5px}.section-head>p:last-child{color:#9da2aa;margin:5px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{min-height:145px;border:1px solid #34373c;border-radius:16px;padding:24px;display:flex;align-items:center;gap:18px;text-align:left;cursor:pointer;position:relative;overflow:hidden;transition:.25s transform,.25s border-color,.25s box-shadow}.card:hover{transform:translateY(-5px);box-shadow:0 18px 45px #0008}.card .ico{font-size:38px;min-width:50px;text-align:center}.card div:nth-child(2){flex:1}.card h3{font-size:20px;margin:0 0 4px}.card p{margin:0;color:#e7e7e7cc}.card>b{font-size:26px}.whatsapp{background:linear-gradient(135deg,#0b8d45,#20c764)}.call{background:linear-gradient(135deg,#b8151a,#ef3035)}.instagram{background:linear-gradient(135deg,#5313bd,#d31b79 60%,#ff791d)}.telegram{background:linear-gradient(135deg,#076da1,#24a9e8)}.dark{background:linear-gradient(145deg,#191b1e,#101113)}.pin{color:#ef2b31}.showcase{border-top:1px solid #202328}.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.chips button{background:#111317;border:1px solid #30343a;border-radius:12px;padding:20px;cursor:pointer;transition:.2s}.chips button:hover{border-color:#e52b30;transform:translateY(-2px);background:#17191d}.hint{text-align:center;color:#777e87;font-size:13px;margin-top:15px}.info{border:1px solid #30343a;background:linear-gradient(145deg,#15171a,#0e1012);border-radius:18px;padding:10px 28px}.info-row{display:flex;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid #2b2e33}.info-row:last-child{border:0}.info-row>span{color:#e82c31;font-size:30px;width:42px;text-align:center}.info h3,.info p{margin:0}.info p{color:#aeb3ba;margin-top:3px}.shop{max-width:650px;margin:35px auto 65px;border:1px solid #e62b30;border-radius:13px;padding:20px 26px;display:flex;align-items:center;gap:20px;transition:.25s}.shop strong{flex:1;text-align:center;font-size:20px;text-transform:uppercase}.shop:hover{background:#e62b30;transform:scale(1.015)}footer{border-top:1px solid #24272c;color:#777e87;padding:25px;text-align:center;font-size:13px}.reveal{opacity:0;transform:translateY(22px);transition:.65s ease}.reveal.visible{opacity:1;transform:none}.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:center;z-index:50;opacity:0;visibility:hidden;transition:.25s;padding:20px}.modal.open{opacity:1;visibility:visible}.modal-box{width:min(480px,100%);background:#111317;border:1px solid #34383e;border-radius:18px;padding:28px;position:relative}.close{position:absolute;right:14px;top:10px;border:0;background:none;font-size:30px;cursor:pointer}.map-links{display:grid;gap:10px;margin-top:20px}.map-links a{border:1px solid #34383e;border-radius:10px;padding:17px;display:flex;justify-content:space-between}.map-links a:hover{border-color:#e62b30}
@media(max-width:760px){.wrap{width:min(100% - 24px,600px)}.hero{min-height:390px}.hero-inner{padding:38px 8px}.brand-line{font-size:39px}.tag{font-size:11px}.hero-copy{margin-top:75px}.hero-copy h1{font-size:31px}.section{padding:42px 0}.section-head h2{font-size:25px}.contact-grid{grid-template-columns:1fr}.card{min-height:105px;padding:18px}.card .ico{font-size:32px}.card h3{font-size:19px}.chips{grid-template-columns:1fr 1fr}.info{padding:5px 18px}.shop{margin-bottom:45px}.shop strong{font-size:15px}.hero:after{width:85%}}
@media(max-width:420px){.brand-line{font-size:34px}.chips{grid-template-columns:1fr}.card p{font-size:13px}}
/* =========================================
   MOBILE — компактная версия как в макете
   ========================================= */

@media (max-width: 600px) {

  .wrap {
    width: calc(100% - 24px);
  }

  /* Заголовок секции */
  .section {
    padding: 26px 0;
  }

  .section-head {
    margin-bottom: 22px;
  }

  .section-head .eyebrow {
    font-size: 11px;
    letter-spacing: 1.8px;
  }

  .section-head h2 {
    font-size: 24px;
    line-height: 1.15;
    margin: 7px 0;
  }

  .section-head p {
    font-size: 14px;
  }


  /* Карточки контактов */
  .contact-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .card {
    width: 100%;
    min-height: 0;
    height: 82px;

    padding: 12px 16px;

    border-radius: 14px;

    display: flex;
    align-items: center;
    gap: 13px;
  }

  /* Иконка */
  .card .ico {
    width: 48px;
    min-width: 48px;

    font-size: 27px;

    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* Текст */
  .card div:nth-child(2) {
    flex: 1;
  }

  .card h3 {
    font-size: 17px;
    line-height: 1.15;
    margin: 0 0 4px;
  }

  .card p {
    font-size: 12px;
    line-height: 1.2;
    margin: 0;
  }

  /* Стрелка */
  .card > b {
    font-size: 22px;
    font-weight: 400;
    margin-left: auto;
  }

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

  .hero {
    min-height: auto;
  }

  .hero-inner {
    padding: 22px 8px 26px;
  }

  .brand-line {
    font-size: 31px;
    line-height: 1;
  }

  .tag {
    font-size: 10px;
    margin-top: 5px;
  }

  .hero-copy {
    margin-top: 42px;
    max-width: 100%;
  }

  .hero-copy span {
    font-size: 10px;
    letter-spacing: 1.6px;
  }

  .hero-copy h1 {
    font-size: 29px;
    line-height: 1.15;
    margin: 8px 0 10px;
  }

  .hero-copy p {
    font-size: 14px;
    line-height: 1.45;
    max-width: 100%;
  }

  .hero:after {
    bottom: -130px;
    height: 170px;
  }
}
@media (max-width: 600px) {

  .info {
    padding: 4px 14px;
    border-radius: 14px;
  }

  .info-row {
    gap: 12px;
    padding: 15px 0;
  }

  .info-row > span {
    width: 34px;
    min-width: 34px;
    font-size: 24px;
  }

  .info h3 {
    font-size: 16px;
    line-height: 1.2;
  }

  .info p {
    margin-top: 3px;
    font-size: 12px;
    line-height: 1.35;
  }

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

  .shop {
    margin: 18px auto 28px;
    padding: 14px 16px;
    gap: 12px;
    border-radius: 12px;
  }

  .shop > span {
    font-size: 20px;
  }

  .shop strong {
    font-size: 14px;
    line-height: 1.2;
  }

  .shop > b {
    font-size: 21px;
  }

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

  footer {
    padding: 18px 12px;
    font-size: 11px;
  }

}
.card .ico svg {
  width: 32px;
  height: 32px;
  display: block;
  fill: currentColor;
}

@media (max-width: 600px) {
  .card .ico svg {
    width: 26px;
    height: 26px;
  }
}

/* =====================================================
   ПОИСК ЗАПЧАСТЕЙ
   ===================================================== */

.parts-search-section {
  padding: 52px 0 60px;
  background:
    radial-gradient(circle at 50% 0%, rgba(229,43,48,.08), transparent 34%),
    #080a0d;

  border-bottom: 1px solid #202328;
}

.parts-search-head {
  max-width: 700px;
  margin: 0 auto 26px;
  text-align: center;
}

.parts-search-head h2 {
  margin: 6px 0;
  font-size: 30px;
  line-height: 1.15;
}

.parts-search-head > p:last-child {
  margin: 0;
  color: #9298a1;
}


/* =====================
   Форма поиска
   ===================== */

.parts-search-form {
  width: min(760px, 100%);
  margin: 0 auto;

  display: flex;
  gap: 10px;
}

.parts-search-input-wrap {
  position: relative;
  flex: 1;
}

.parts-search-input-wrap svg {
  position: absolute;
  left: 18px;
  top: 50%;

  width: 21px;
  height: 21px;

  transform: translateY(-50%);

  fill: #777e88;

  pointer-events: none;
}

.parts-search-input-wrap input {
  width: 100%;
  height: 58px;

  padding: 0 18px 0 52px;

  background: #111419;

  border: 1px solid #343941;
  border-radius: 12px;

  outline: none;

  color: #fff;

  font-size: 17px;

  transition: .2s;
}

.parts-search-input-wrap input::placeholder {
  color: #626973;
}

.parts-search-input-wrap input:focus {
  border-color: #e52b30;

  box-shadow:
    0 0 0 3px rgba(229,43,48,.1);
}

.parts-search-form button {
  height: 58px;

  padding: 0 30px;

  border: 0;
  border-radius: 12px;

  background:
    linear-gradient(135deg,#bd171d,#ef3035);

  color: #fff;

  font-weight: 700;
  font-size: 16px;

  cursor: pointer;

  transition: .2s;
}

.parts-search-form button:hover {
  transform: translateY(-2px);

  box-shadow:
    0 12px 30px rgba(229,43,48,.2);
}

.parts-search-form button:disabled {
  opacity: .6;
  cursor: wait;
  transform: none;
}

.parts-search-note {
  margin-top: 10px;

  text-align: center;

  color: #686f78;

  font-size: 12px;
}


/* =====================
   Загрузка
   ===================== */

.parts-loading {
  display: none;

  margin: 35px auto 0;

  align-items: center;
  justify-content: center;

  gap: 12px;

  color: #a2a8b0;

  font-size: 14px;
}

.parts-loading.active {
  display: flex;
}

.parts-spinner {
  width: 22px;
  height: 22px;

  border: 2px solid #343941;
  border-top-color: #e52b30;

  border-radius: 50%;

  animation: partsSpin .7s linear infinite;
}

@keyframes partsSpin {
  to {
    transform: rotate(360deg);
  }
}


/* =====================
   Ошка
   ===================== */

.parts-error {
  display: none;

  width: min(760px,100%);

  margin: 24px auto 0;

  padding: 16px 18px;

  background: rgba(229,43,48,.08);

  border: 1px solid rgba(229,43,48,.35);
  border-radius: 12px;

  color: #ff8e92;

  text-align: center;
}

.parts-error.active {
  display: block;
}


/* =====================
   Результаты
   ===================== */

.parts-results {
  display: none;

  width: min(920px,100%);

  margin: 38px auto 0;
}

.parts-results.active {
  display: block;
}


/* =====================
   Оригинал
   ===================== */

.original-label {
  display: inline-flex;

  margin-bottom: 10px;

  padding: 5px 9px;

  border-radius: 6px;

  background: rgba(229,43,48,.12);

  color: #ef3439;

  font-size: 10px;
  font-weight: 800;

  letter-spacing: 1.5px;
}

.original-card {
  position: relative;

  overflow: hidden;

  padding: 26px;

  background:
    linear-gradient(145deg,#171a1f,#0d1013);

  border: 1px solid #e32b30;
  border-radius: 16px;

  display: grid;

  grid-template-columns:
    minmax(0,1fr)
    auto;

  gap: 25px;

  align-items: center;
}

.original-card::before {
  content: "";

  position: absolute;

  width: 180px;
  height: 180px;

  right: -70px;
  top: -80px;

  border-radius: 50%;

  background: #e52b30;

  filter: blur(90px);

  opacity: .12;
}

.part-brand {
  color: #e52d32;

  font-size: 13px;
  font-weight: 800;

  text-transform: uppercase;

  letter-spacing: 1px;
}

.part-number {
  margin: 5px 0 4px;

  font-size: 24px;
  font-weight: 800;
}

.part-name {
  color: #9ba1aa;

  font-size: 14px;
}

.part-meta {
  display: flex;

  flex-wrap: wrap;

  gap: 8px;

  margin-top: 16px;
}

.part-status,
.part-delivery {
  display: inline-flex;

  align-items: center;

  padding: 6px 10px;

  border-radius: 8px;

  font-size: 12px;
}

.part-status {
  background: rgba(33,191,103,.11);

  color: #43d487;
}

.part-delivery {
  background: #1c2025;

  color: #c3c7cd;
}

.part-price {
  text-align: right;
}

.part-price strong {
  display: block;

  font-size: 29px;

  white-space: nowrap;
}

.part-price small {
  display: block;

  margin-bottom: 12px;

  color: #777e87;
}

.part-order {
  display: inline-flex;

  justify-content: center;
  align-items: center;

  padding: 11px 15px;

  background: #e52b30;

  border: 0;
  border-radius: 9px;

  color: #fff;

  font-weight: 700;

  cursor: pointer;

  transition: .2s;
}

.part-order:hover {
  background: #ff343a;
}


/* =====================
   Аналоги
   ===================== */

.analogs-block {
  margin-top: 40px;
}

.analogs-title {
  display: flex;

  align-items: flex-end;
  justify-content: space-between;

  gap: 20px;

  margin-bottom: 16px;
}

.analogs-title h3 {
  margin: 3px 0 0;

  font-size: 25px;
}

.analogs-title > span {
  color: #707781;

  font-size: 13px;
}

.analogs-list {
  display: grid;

  gap: 10px;
}

.analog-card {
  padding: 18px 20px;

  background:
    linear-gradient(145deg,#13161a,#0d0f12);

  border: 1px solid #2e333b;
  border-radius: 13px;

  display: grid;

  grid-template-columns:
    minmax(0,1.4fr)
    minmax(150px,.7fr)
    auto;

  align-items: center;

  gap: 20px;

  transition: .2s;
}

.analog-card:hover {
  transform: translateY(-2px);

  border-color: #454b55;
}

.analog-main strong {
  display: block;

  margin-bottom: 3px;

  font-size: 16px;
}

.analog-number {
  color: #e32b30;

  font-weight: 700;

  font-size: 13px;
}

.analog-name {
  margin-top: 4px;

  color: #8e959e;

  font-size: 13px;
}

.analog-meta {
  color: #9ca2aa;

  font-size: 13px;
}

.analog-meta span {
  display: block;
}

.analog-price {
  text-align: right;
}

.analog-price strong {
  display: block;

  margin-bottom: 7px;

  font-size: 21px;

  white-space: nowrap;
}

.analog-price button {
  padding: 8px 12px;

  background: transparent;

  border: 1px solid #e52b30;
  border-radius: 8px;

  color: #fff;

  cursor: pointer;

  transition: .2s;
}

.analog-price button:hover {
  background: #e52b30;
}


/* =====================
   Показать ещё
   ===================== */

.show-more-parts {
  display: none;

  width: 100%;

  margin-top: 12px;

  padding: 13px;

  background: #111419;

  border: 1px solid #343941;
  border-radius: 10px;

  color: #d6d9dd;

  cursor: pointer;
}

.show-more-parts.active {
  display: block;
}

/* =====================================================
   МОБИЛЬНАЯ ВЕРСИЯ
   ===================================================== */

@media (max-width: 600px) {

  .parts-search-section {
    padding: 32px 0 38px;
  }

  .parts-search-head {
    margin-bottom: 20px;
  }

  .parts-search-head h2 {
    font-size: 24px;
  }

  .parts-search-head > p:last-child {
    font-size: 13px;
  }


  .parts-search-form {
    display: grid;

    grid-template-columns: 1fr;
  }

  .parts-search-input-wrap input {
    height: 52px;

    font-size: 16px;
  }

  .parts-search-form button {
    height: 48px;
  }


  .parts-results {
    margin-top: 28px;
  }


  .original-card {
    grid-template-columns: 1fr;

    gap: 18px;

    padding: 18px;
  }

  .part-number {
    font-size: 21px;
  }

  .part-price {
    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 12px;

    text-align: left;
  }

  .part-price small {
    display: none;
  }

  .part-price strong {
    font-size: 25px;
  }


  .analogs-block {
    margin-top: 30px;
  }

  .analogs-title h3 {
    font-size: 21px;
  }


  .analog-card {
    grid-template-columns: 1fr auto;

    gap: 12px;

    padding: 15px;
  }

  .analog-meta {
    grid-column: 1 / 2;
  }

  .analog-price {
    grid-column: 2 / 3;
    grid-row: 1 / 3;

    align-self: center;
  }

  .analog-price strong {
    font-size: 18px;
  }

}
.part-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 7px;
}

.part-badge {
  display: inline-flex;
  align-items: center;

  padding: 4px 7px;

  border-radius: 6px;

  font-size: 10px;
  font-weight: 800;

  letter-spacing: .4px;
  text-transform: uppercase;
}

.badge-recommended {
  background: rgba(229,43,48,.13);
  color: #ff555a;
}

.badge-fast {
  background: rgba(37,169,232,.12);
  color: #55c2f3;
}

.badge-price {
  background: rgba(35,196,103,.12);
  color: #4bd788;
}
/* =====================================================
   ФИЛЬТРЫ И СОРТИРОВКА АНАЛОГОВ
   ===================================================== */

.analogs-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 16px;

  margin-bottom: 16px;
}

.parts-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.parts-filter {
  padding: 8px 12px;

  background: #111419;

  border: 1px solid #343941;
  border-radius: 9px;

  color: #b9bec6;

  font-size: 12px;
  font-weight: 700;

  cursor: pointer;

  transition: .2s;
}

.parts-filter:hover {
  border-color: #e52b30;
  color: #fff;
}

.parts-filter.active {
  background: #e52b30;
  border-color: #e52b30;
  color: #fff;
}


/* ===========================
   Сортировка
   =========================== */

.parts-sort {
  display: flex;
  align-items: center;

  gap: 8px;

  color: #8e959e;

  font-size: 12px;
}

.parts-sort select {
  height: 36px;

  padding: 0 34px 0 12px;

  background: #111419;

  border: 1px solid #343941;
  border-radius: 9px;

  color: #fff;

  outline: none;

  cursor: pointer;
}

.parts-sort select:focus {
  border-color: #e52b30;
}


/* ===========================
   Телефон
   =========================== */

@media (max-width: 600px) {

  .analogs-controls {
    align-items: stretch;
    flex-direction: column;

    gap: 10px;
  }

  .parts-filters {
    display: grid;

    grid-template-columns:
      repeat(3, 1fr);

    gap: 6px;
  }

  .parts-filter {
    padding: 8px 6px;

    font-size: 10px;

    text-align: center;
  }

  .parts-sort {
    justify-content: space-between;
  }

  .parts-sort select {
    flex: 1;
  }

}

/* =====================================================
   KOREA-AUTO — КОЛИЧЕСТВО, ФОТО И КОРЗИНА
   ===================================================== */

/* Действия внутри карточки товара */
.part-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.qty-control {
  display: inline-grid;
  grid-template-columns: 34px minmax(34px, auto) 34px;
  align-items: center;
  overflow: hidden;
  min-height: 38px;
  background: #0d1014;
  border: 1px solid #343941;
  border-radius: 9px;
}

.qty-control button {
  width: 34px;
  min-width: 34px;
  height: 36px;
  padding: 0 !important;
  display: grid;
  place-items: center;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  box-shadow: none !important;
  transform: none !important;
}

.qty-control button:hover {
  background: #1a1f25 !important;
}

.qty-control span {
  min-width: 34px;
  padding: 0 5px;
  text-align: center;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  line-height: 36px;
  border-left: 1px solid #2a2f36;
  border-right: 1px solid #2a2f36;
}

.photo-button {
  min-height: 38px;
  padding: 0 12px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #15191e !important;
  border: 1px solid #343941 !important;
  border-radius: 9px !important;
  color: #d9dde2 !important;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none !important;
}

.photo-button:hover {
  background: #1c2127 !important;
  border-color: #555d68 !important;
}

/* Не даём старым стилям analog-price перекрашивать служебные кнопки */
.analog-price .part-actions .part-order,
.original-card .part-actions .part-order {
  min-height: 38px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #e52b30;
  border: 1px solid #e52b30;
  border-radius: 9px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}

.analog-price .part-actions .part-order:hover,
.original-card .part-actions .part-order:hover {
  background: #ff343a;
  border-color: #ff343a;
}

/* Цена и действия — стабильная ширина на ПК */
.original-card .part-price {
  min-width: 280px;
}

.analog-price {
  min-width: 275px;
}

.analog-price .part-actions {
  margin-top: 8px;
}

/* Плавающая кнопка корзины */
.cart-fab {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 46;

  min-height: 50px;
  padding: 0 14px;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  background: #e52b30;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;

  color: #fff;
  font-size: 13px;
  font-weight: 800;

  cursor: pointer;

  box-shadow: 0 16px 45px rgba(0,0,0,.42);
}

.cart-fab:hover {
  background: #f33137;
}

.cart-fab-icon {
  font-size: 19px;
}

.cart-count {
  min-width: 22px;
  height: 22px;
  padding: 0 6px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  background: #fff;
  border-radius: 999px;

  color: #111419;
  font-size: 11px;
  font-style: normal;
}

.cart-count:not(.active) {
  opacity: .6;
}

/* Окно корзины */
body.cart-open {
  overflow: hidden;
}

.cart-modal {
  position: fixed;
  inset: 0;
  z-index: 70;

  display: flex;
  justify-content: flex-end;

  padding: 18px;

  background: rgba(0,0,0,.72);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  transition: opacity .2s ease, visibility .2s ease;
}

.cart-modal.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.cart-panel {
  width: min(500px, 100%);
  height: 100%;
  max-height: calc(100vh - 36px);

  display: flex;
  flex-direction: column;

  overflow: hidden;

  background: #0f1216;
  border: 1px solid #343941;
  border-radius: 18px;

  box-shadow: 0 28px 80px rgba(0,0,0,.5);
}

.cart-head {
  flex: 0 0 auto;

  padding: 18px 18px 15px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;

  border-bottom: 1px solid #292e35;
}

.cart-head span {
  color: #e52b30;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.5px;
}

.cart-head h2 {
  margin: 3px 0 0;
  font-size: 23px;
}

.cart-close {
  width: 40px;
  height: 40px;

  display: grid;
  place-items: center;

  padding: 0;

  background: #171b20;
  border: 1px solid #343941;
  border-radius: 10px;

  color: #fff;
  font-size: 25px;
  line-height: 1;

  cursor: pointer;
}

.cart-items {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 12px 18px;
}

.cart-empty {
  padding: 42px 16px;
  text-align: center;
  color: #777f89;
  font-size: 13px;
}

.cart-item {
  padding: 13px 0;

  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 14px;

  border-bottom: 1px solid #272c33;
}

.cart-item:last-child {
  border-bottom: 0;
}

.cart-item-main {
  min-width: 0;
}

.cart-item-main strong {
  display: block;
  margin-bottom: 4px;
  color: #fff;
  font-size: 13px;
}

.cart-item-main span,
.cart-item-main small {
  display: block;
}

.cart-item-main span {
  color: #9ca3ac;
  font-size: 12px;
  line-height: 1.35;
}

.cart-item-main small {
  margin-top: 5px;
  color: #6f7781;
  font-size: 10px;
}

.cart-item-actions {
  display: grid;
  justify-items: end;
  align-content: center;
  gap: 7px;
}

.cart-item-actions > strong {
  font-size: 14px;
  white-space: nowrap;
}

.cart-remove {
  padding: 0;
  background: transparent;
  border: 0;
  color: #e66a6e;
  font-size: 10px;
  cursor: pointer;
}

.cart-footer {
  flex: 0 0 auto;

  padding: 16px 18px 18px;

  background: #0c0f12;
  border-top: 1px solid #292e35;
}

.cart-total-row {
  margin-bottom: 12px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
}

.cart-total-row span {
  color: #838b95;
  font-size: 12px;
}

.cart-total-row strong {
  font-size: 22px;
  white-space: nowrap;
}

.cart-checkout {
  width: 100%;
  min-height: 48px;

  padding: 0 16px;

  background: #20b85a;
  border: 0;
  border-radius: 11px;

  color: #fff;
  font-size: 13px;
  font-weight: 900;

  cursor: pointer;
}

.cart-checkout:hover {
  background: #25c764;
}

.cart-checkout:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.cart-footer > small {
  display: block;
  margin-top: 9px;
  color: #69717a;
  font-size: 10px;
  line-height: 1.4;
}

/* После перехода в WhatsApp */
.cart-after-checkout {
  margin-top: 12px;
  padding: 13px;

  background: rgba(37,211,102,.07);
  border: 1px solid rgba(37,211,102,.28);
  border-radius: 11px;
}

.cart-after-checkout[hidden] {
  display: none !important;
}

.cart-after-checkout > strong {
  display: block;
  margin-bottom: 5px;
  color: #5ee393;
  font-size: 13px;
}

.cart-after-checkout > p {
  margin: 0;
  color: #aab0b7;
  font-size: 11px;
  line-height: 1.45;
}

.cart-after-actions {
  display: flex;
  gap: 7px;
  margin-top: 10px;
}

.cart-clear,
.cart-continue {
  min-height: 38px;
  padding: 0 12px;

  border-radius: 9px;

  font: inherit;
  font-size: 11px;
  font-weight: 800;

  cursor: pointer;
}

.cart-clear {
  background: rgba(229,43,48,.08);
  border: 1px solid rgba(229,43,48,.35);
  color: #ff7478;
}

.cart-continue {
  background: #15191e;
  border: 1px solid #343941;
  color: #fff;
}


/* =====================================================
   АДАПТАЦИЯ КОРЗИНЫ И КНОПОК
   ===================================================== */

@media (max-width: 760px) {

  .original-card .part-price {
    min-width: 0;
  }

  .part-price {
    display: block !important;
    text-align: left !important;
  }

  .part-price > div:first-child {
    margin-bottom: 9px;
  }

  .part-actions {
    justify-content: flex-start;
    width: 100%;
  }

  .analog-card {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .analog-meta,
  .analog-price {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .analog-price {
    min-width: 0;
    width: 100%;
    text-align: left;
  }

  .analog-price > strong {
    margin-bottom: 7px;
    font-size: 20px;
  }

  .analog-price .part-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {

  .cart-fab {
    right: 12px;
    bottom: 12px;

    min-height: 46px;
    padding: 0 12px;

    border-radius: 12px;
  }

  .cart-fab > span:nth-child(2) {
    display: none;
  }

  .cart-modal {
    align-items: flex-end;
    padding: 0;
  }

  .cart-panel {
    width: 100%;
    height: min(82vh, 720px);
    max-height: 82vh;

    border-radius: 18px 18px 0 0;
    border-left: 0;
    border-right: 0;
    border-bottom: 0;
  }

  .cart-head {
    padding: 15px 14px 13px;
  }

  .cart-items {
    padding: 8px 14px;
  }

  .cart-footer {
    padding: 13px 14px 14px;
  }

  .cart-item {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .cart-item-actions {
    grid-template-columns: auto 1fr auto;
    align-items: center;
    justify-items: start;
  }

  .cart-item-actions > strong {
    justify-self: end;
  }

  .cart-remove {
    justify-self: end;
  }

  .part-actions {
    display: grid;
    grid-template-columns: auto auto minmax(94px,1fr);
    align-items: center;
    gap: 6px;
  }

  .photo-button {
    min-width: 0;
    padding: 0 9px !important;
  }

  .analog-price .part-actions .part-order,
  .original-card .part-actions .part-order {
    width: 100%;
    min-width: 94px;
    padding: 0 10px;
  }

  .cart-after-actions {
    flex-direction: column;
  }

  .cart-clear,
  .cart-continue {
    width: 100%;
  }
}

@media (max-width: 390px) {

  .part-actions {
    grid-template-columns: 1fr 1fr;
  }

  .photo-button,
  .qty-control {
    width: 100%;
  }

  .qty-control {
    grid-template-columns: 32px 1fr 32px;
  }

  .analog-price .part-actions .part-order,
  .original-card .part-actions .part-order {
    grid-column: 1 / -1;
  }
}

.site-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;margin:20px 0 4px}.site-nav a{padding:8px 10px;border-radius:8px;color:#8e959e;font-size:11px;font-weight:700;text-decoration:none;transition:.18s}.site-nav a:hover,.site-nav a.active{color:#fff;background:#15191e}.site-nav a.active{box-shadow:inset 0 -2px 0 #e52b30}.brand-link{display:block;color:inherit;text-decoration:none}.info-hero{position:relative;overflow:hidden;padding:30px 0 52px;border-bottom:1px solid #252a30;background:radial-gradient(circle at 82% 15%,rgba(229,43,48,.13),transparent 28%),linear-gradient(180deg,#090b0e 0%,#07090c 100%)}.info-header-inner,.info-hero-copy{position:relative;z-index:2}.info-hero-copy{max-width:900px;padding-top:50px}.info-hero-copy h1{margin:7px 0 14px;max-width:760px;font-size:clamp(34px,6vw,62px);line-height:.98;letter-spacing:-2px}.info-hero-copy>p:last-child{max-width:720px;margin:0;color:#989fa8;font-size:15px;line-height:1.7}.info-page{padding-top:44px;padding-bottom:58px}.info-page-section{display:grid;gap:16px}.feature-grid,.steps-grid,.contact-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.feature-card,.step-card,.text-card,.notice-card,.contact-page-card,.about-statement{background:#101318;border:1px solid #2d3239;border-radius:14px}.feature-card,.step-card{padding:22px}.feature-card h2,.step-card h2,.text-card h2,.contact-page-card h2,.about-statement h2{margin:0 0 8px;font-size:17px}.feature-card p,.step-card p,.text-card p,.notice-card p,.contact-page-card p,.about-statement p{margin:0;color:#8f969f;font-size:12px;line-height:1.65}.feature-icon{width:42px;height:42px;margin-bottom:18px;display:grid;place-items:center;border-radius:10px;background:#e52b30;color:#fff;font-size:13px;font-weight:900}.step-card span{display:block;margin-bottom:22px;color:#e52b30;font-size:11px;font-weight:900;letter-spacing:1.4px}.text-card,.about-statement{padding:24px}.about-statement{padding:30px;background:radial-gradient(circle at 90% 10%,rgba(229,43,48,.11),transparent 30%),#101318}.about-statement h2{max-width:720px;font-size:clamp(22px,4vw,34px);line-height:1.15}.about-statement p{max-width:760px;margin-top:14px}.notice-card{padding:18px 20px;border-color:rgba(229,43,48,.28);background:rgba(229,43,48,.055)}.notice-card strong{display:block;margin-bottom:5px;color:#fff;font-size:13px}.notice-card.warning{border-color:rgba(240,174,70,.28);background:rgba(240,174,70,.05)}.legal-note{padding:0 4px;color:#656c75;font-size:10px;line-height:1.5}.contact-page-card{padding:20px;display:flex;gap:14px}.contact-page-card>span{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border-radius:10px;background:#181c21;color:#e52b30;font-weight:900}.contact-cta-row,.bottom-cta-actions{display:flex;flex-wrap:wrap;gap:9px}.primary-cta,.secondary-cta{min-height:44px;padding:0 17px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-size:12px;font-weight:800;text-decoration:none}.primary-cta{background:#e52b30;border:1px solid #e52b30;color:#fff}.secondary-cta{background:#12161a;border:1px solid #343a42;color:#fff}.bottom-cta{margin-top:34px;padding:25px;display:flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #2e343b;border-radius:15px;background:radial-gradient(circle at 85% 20%,rgba(229,43,48,.12),transparent 34%),#101318}.bottom-cta h2{margin:4px 0 5px;font-size:24px}.bottom-cta>div>p:last-child{margin:0;color:#8c939c;font-size:12px}.site-footer{border-top:1px solid #24292f}.footer-inner{padding-top:20px;padding-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.footer-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:13px}.footer-nav a{color:#777f88;font-size:10px;text-decoration:none}.footer-nav a:hover{color:#fff}@media(max-width:820px){.feature-grid,.steps-grid,.contact-page-grid{grid-template-columns:1fr 1fr}.site-nav{justify-content:flex-start}}@media(max-width:560px){.info-hero{padding-top:22px;padding-bottom:36px}.info-hero-copy{padding-top:34px}.info-hero-copy h1{letter-spacing:-1.2px}.site-nav{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:4px}.site-nav a{padding:8px 7px;background:#101318;border:1px solid #22272e}.feature-grid,.steps-grid,.contact-page-grid{grid-template-columns:1fr}.feature-card,.step-card,.text-card,.about-statement{padding:18px}.bottom-cta{align-items:flex-start;flex-direction:column;padding:20px}.bottom-cta-actions,.contact-cta-row{width:100%}.primary-cta,.secondary-cta{flex:1 1 auto}.footer-inner{align-items:flex-start;flex-direction:column}.footer-nav{justify-content:flex-start}}


/* =====================================================
   KOREA-AUTO — COMPACT PREMIUM HEADER v2
   ===================================================== */

.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  min-height: 72px;
  background: rgba(6, 8, 11, .93);
  border-bottom: 1px solid rgba(255,255,255,.07);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.site-header-inner {
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 28px;
}

.site-brand {
  flex: 0 0 auto;
  color: #fff;
  text-decoration: none;
  line-height: 1;
}

.site-brand-name {
  display: block;
  font-size: 30px;
  font-weight: 900;
  font-style: italic;
  letter-spacing: -2px;
  white-space: nowrap;
}

.site-brand-name i {
  font-style: italic;
  color: #f5f6f7;
}

.site-brand-name b {
  color: #ef2b31;
}

.site-brand small {
  display: block;
  margin-top: 5px;
  color: #f0f2f4;
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .75px;
  white-space: nowrap;
}

.desktop-nav {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 3px;
}

.desktop-nav a {
  position: relative;
  padding: 9px 9px;
  border-radius: 8px;
  color: #979ea7;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  text-decoration: none;
  transition: .18s ease;
}

.desktop-nav a:hover {
  color: #fff;
  background: rgba(255,255,255,.045);
}

.desktop-nav a.active {
  color: #fff;
  background: rgba(229,43,48,.08);
}

.desktop-nav a.active::after {
  content: "";
  position: absolute;
  left: 9px;
  right: 9px;
  bottom: 3px;
  height: 2px;
  border-radius: 999px;
  background: #e52b30;
}

.mobile-nav {
  display: none;
  margin-left: auto;
  position: relative;
}

.mobile-nav summary {
  width: 42px;
  height: 42px;
  padding: 0;
  display: grid;
  place-content: center;
  gap: 4px;
  list-style: none;
  cursor: pointer;
  border: 1px solid #2d333b;
  border-radius: 11px;
  background: #111419;
}

.mobile-nav summary::-webkit-details-marker {
  display: none;
}

.mobile-nav summary span {
  width: 18px;
  height: 2px;
  display: block;
  border-radius: 999px;
  background: #fff;
  transition: .18s ease;
}

.mobile-nav[open] summary span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}
.mobile-nav[open] summary span:nth-child(2) {
  opacity: 0;
}
.mobile-nav[open] summary span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.mobile-nav-panel {
  position: absolute;
  top: 50px;
  right: 0;
  width: min(310px, calc(100vw - 24px));
  padding: 7px;
  display: grid;
  gap: 3px;
  background: rgba(15,18,22,.98);
  border: 1px solid #303640;
  border-radius: 14px;
  box-shadow: 0 22px 65px rgba(0,0,0,.52);
}

.mobile-nav-panel a {
  padding: 12px 13px;
  border-radius: 9px;
  color: #a4abb3;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.mobile-nav-panel a:hover,
.mobile-nav-panel a.active {
  color: #fff;
  background: #1a1e24;
}

.mobile-nav-panel a.active {
  box-shadow: inset 3px 0 0 #e52b30;
}

/* Главный hero: компактный, без лишней пустоты */
.hero {
  min-height: 0 !important;
  background:
    radial-gradient(circle at 78% 5%, rgba(50,70,92,.22), transparent 35%),
    linear-gradient(120deg,#07090c,#0b1017 70%,#090b0f);
}

.hero::after {
  display: none !important;
}

.hero-inner {
  padding: 46px 0 48px !important;
}

.hero .brand,
.hero > .brand,
.hero-inner > .brand,
.hero .site-nav {
  display: none !important;
}

.hero-copy {
  margin-top: 0 !important;
  max-width: 760px;
}

.hero-copy span {
  font-size: 10px !important;
  letter-spacing: 1.8px !important;
}

.hero-copy h1 {
  margin: 8px 0 8px !important;
  max-width: 760px;
  font-size: clamp(32px, 4vw, 50px) !important;
  line-height: 1.04 !important;
  letter-spacing: -1.5px;
}

.hero-copy p {
  max-width: 660px !important;
  color: #9fa6ae !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

/* Поиск ближе к первому экрану */
.parts-search-section {
  padding-top: 38px !important;
  padding-bottom: 42px !important;
}

.parts-search-head {
  margin-bottom: 20px !important;
}

.parts-search-head h2 {
  font-size: 28px !important;
}

/* Информационные страницы */
.info-hero {
  padding: 0 0 38px !important;
  min-height: 0;
}

.info-header-inner {
  display: none !important;
}

.info-hero-copy {
  padding-top: 38px !important;
}

.info-hero-copy h1 {
  margin: 6px 0 10px !important;
  font-size: clamp(32px,5vw,52px) !important;
  line-height: 1 !important;
}

.info-hero-copy > p:last-child {
  font-size: 14px !important;
  line-height: 1.6 !important;
}

/* Старую навигацию полностью выключаем */
.site-nav {
  display: none !important;
}

@media (max-width: 1050px) {
  .site-header-inner {
    gap: 16px;
  }

  .site-brand-name {
    font-size: 27px;
  }

  .desktop-nav a {
    padding-left: 7px;
    padding-right: 7px;
    font-size: 9px;
  }
}

@media (max-width: 860px) {
  .desktop-nav {
    display: none;
  }

  .mobile-nav {
    display: block;
  }
}

@media (max-width: 600px) {
  .site-header,
  .site-header-inner {
    min-height: 60px;
  }

  .site-header-inner {
    width: calc(100% - 24px);
  }

  .site-brand-name {
    font-size: 24px;
    letter-spacing: -1.4px;
  }

  .site-brand small {
    margin-top: 3px;
    font-size: 6.5px;
    letter-spacing: .55px;
  }

  .mobile-nav summary {
    width: 39px;
    height: 39px;
    border-radius: 10px;
  }

  .mobile-nav-panel {
    top: 46px;
  }

  .hero-inner {
    padding: 30px 8px 32px !important;
  }

  .hero-copy span {
    font-size: 9px !important;
    letter-spacing: 1.35px !important;
  }

  .hero-copy h1 {
    margin-top: 7px !important;
    font-size: 29px !important;
    line-height: 1.06 !important;
    letter-spacing: -.8px !important;
  }

  .hero-copy p {
    margin-top: 8px !important;
    font-size: 12.5px !important;
    line-height: 1.48 !important;
  }

  .parts-search-section {
    padding: 28px 0 32px !important;
  }

  .parts-search-head {
    margin-bottom: 16px !important;
  }

  .parts-search-head .eyebrow {
    font-size: 9px !important;
    letter-spacing: 1.5px !important;
  }

  .parts-search-head h2 {
    margin: 6px 0 !important;
    font-size: 23px !important;
    line-height: 1.12 !important;
  }

  .parts-search-head > p:last-child {
    font-size: 12px !important;
  }

  .parts-search-form {
    gap: 8px !important;
  }

  .parts-search-input-wrap input {
    height: 52px !important;
    padding-left: 46px !important;
    font-size: 14px !important;
  }

  .parts-search-input-wrap svg {
    left: 15px !important;
    width: 18px !important;
    height: 18px !important;
  }

  .parts-search-form button {
    height: 48px !important;
    font-size: 14px !important;
  }

  .parts-search-note {
    margin-top: 8px !important;
    font-size: 9px !important;
  }

  .info-hero {
    padding-bottom: 28px !important;
  }

  .info-hero-copy {
    padding-top: 28px !important;
  }

  .info-hero-copy h1 {
    font-size: 31px !important;
    letter-spacing: -.8px !important;
  }

  .info-hero-copy > p:last-child {
    font-size: 12.5px !important;
  }

  .info-page {
    padding-top: 28px !important;
  }
}

@media (max-width: 390px) {
  .site-brand-name {
    font-size: 22px;
  }

  .site-brand small {
    font-size: 6px;
  }

  .hero-copy h1 {
    font-size: 27px !important;
  }
}

/* v3 info page spacing */
.info-hero{margin-top:0!important}.info-hero-copy{padding-top:34px!important}.info-page{padding-top:34px!important}
@media(max-width:600px){.info-hero-copy{padding-top:24px!important}.info-page{padding-top:24px!important}}
