:root{--bg:#0b0f1a;--panel:#121a2b;--panel-2:#1a2439;--text:#e8eefc;--muted:#8fa1c0;--accent:#2f7cf6;--accent-2:#1a5fd0;--ok:#22c55e;--radius:12px}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,sans-serif;background:var(--bg);color:var(--text)}.container{max-width:1280px;margin:0 auto;padding:0 16px}
.header{position:sticky;top:0;z-index:20;background:rgba(11,15,26,.9);backdrop-filter:blur(8px);border-bottom:1px solid #1e2a44}.header__inner{display:flex;align-items:center;gap:16px;height:64px}
.logo{font-weight:800;font-size:20px;color:var(--text);text-decoration:none}.logo span{color:var(--accent)}.search{flex:1;padding:10px 14px;border-radius:10px;border:1px solid #23304d;background:var(--panel);color:var(--text)}
.cart-btn{background:var(--accent);color:#fff;border:0;padding:10px 16px;border-radius:10px;cursor:pointer}.badge{background:#fff;color:var(--accent);border-radius:999px;padding:1px 7px;font-size:12px}
.layout{display:grid;grid-template-columns:260px 1fr;gap:24px;padding-top:24px;padding-bottom:48px}
.filters{background:var(--panel);border:1px solid #1e2a44;border-radius:var(--radius);padding:16px;height:max-content;position:sticky;top:88px}
.filters label{display:block;font-size:13px;color:var(--muted);margin-bottom:12px}.filters select,.filters input{width:100%;margin-top:6px;padding:9px 10px;border-radius:8px;border:1px solid #23304d;background:var(--panel-2);color:var(--text)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.card{background:var(--panel);border:1px solid #1e2a44;border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card__img{height:140px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:linear-gradient(135deg,#2f7cf6,#7a4cf6);font-size:20px}.card__body{padding:12px;display:flex;flex-direction:column;gap:6px;flex:1}
.card__brand{font-size:12px;color:var(--muted);text-transform:uppercase}.card__name{font-size:15px;font-weight:600}.card__sku{font-size:12px;color:var(--muted)}.card__foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:8px}
.price{font-weight:800;font-size:17px}.btn{background:var(--accent);color:#fff;border:0;padding:9px 14px;border-radius:9px;cursor:pointer;font-weight:600}.btn:hover{background:var(--accent-2)}.btn--ghost{background:transparent;border:1px solid #2b3d63;width:100%;margin-top:8px}.card .btn{padding:8px 12px;font-size:13px}
.pager{display:flex;gap:8px;justify-content:center;margin-top:24px}.pager button{background:var(--panel);border:1px solid #23304d;color:var(--text);padding:7px 12px;border-radius:8px;cursor:pointer}.pager button.active{background:var(--accent);border-color:var(--accent)}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:40;padding:16px}.modal.hidden,.cart-drawer.hidden{display:none}.modal__box{background:var(--panel);border-radius:16px;max-width:640px;width:100%;padding:24px;position:relative;max-height:90vh;overflow:auto}.modal__close{position:absolute;top:10px;right:12px;background:transparent;border:0;font-size:26px;color:var(--muted);cursor:pointer}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,100%);background:var(--panel);z-index:50;display:flex;flex-direction:column;border-left:1px solid #1e2a44}.cart-drawer__head{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid #1e2a44;position:relative}.cart-drawer__body{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.cart-drawer__foot{padding:16px;border-top:1px solid #1e2a44;display:flex;flex-direction:column;gap:10px}
.cart-item{display:flex;justify-content:space-between;gap:8px;align-items:center;background:var(--panel-2);border-radius:10px;padding:10px}.cart-item small{color:var(--muted);display:block}.cart-item button{background:transparent;border:0;color:#f87171;cursor:pointer;font-size:18px}
/* Стили для всплывающего уведомления (Тоста) */
.toast {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: var(--ok); /* Зеленый цвет для успеха */
  color: #fff;
  padding: 15px 25px;
  border-radius: 8px;
  font-weight: bold;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  z-index: 1000;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s, transform 0.3s;
  pointer-events: none; /* Чтобы клики проходили сквозь него */
}

.toast.show {
  opacity: 1;
  transform: translateY(0);
}
/* Стили для модального окна успеха */
.success-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

.success-modal.show {
  opacity: 1;
  pointer-events: auto;
}

.success-modal__box {
  background: var(--panel);
  border: 1px solid #1e2a44;
  border-radius: 16px;
  padding: 40px;
  text-align: center;
  max-width: 400px;
  width: 90%;
  transform: translateY(20px);
  transition: transform 0.3s;
}

.success-modal.show .success-modal__box {
  transform: translateY(0);
}

.success-modal__icon {
  font-size: 50px;
  color: var(--ok);
  margin-bottom: 20px;
}
/* Стили для модального окна возврата */
.return-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

.return-modal.show {
  opacity: 1;
  pointer-events: auto;
}

.return-modal__box {
  background: var(--panel);
  border: 1px solid #1e2a44;
  border-radius: 16px;
  padding: 30px;
  max-width: 500px;
  width: 90%;
  transform: translateY(20px);
  transition: transform 0.3s;
}

.return-modal.show .return-modal__box {
  transform: translateY(0);
}

.return-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 20px 0;
}

.return-option {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--panel-2);
  padding: 12px;
  border-radius: 8px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: 0.2s;
}

.return-option:hover {
  border-color: #2f7cf6;
}

.return-option input[type="radio"] {
  accent-color: #2f7cf6;
  width: 18px;
  height: 18px;
}
