.main-header {
  height: 70px;
  background: var(--header);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border);
  transition: box-shadow .25s ease, background-color .25s ease;
  z-index: 1030;
}
@media (max-width: 768px) { .main-header { height: 60px; } }
.main-header .navbar { height: 100%; }
.main-header.scrolled { box-shadow: 0 6px 20px rgba(0,0,0,.1); }

.page-enter { animation: fadeIn .35s ease-out; }
.animate-slide-up { animation: slideUp .5s ease both; }
.animate-scale { animation: scaleIn .25s ease both; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes slideUp { from { opacity:0; transform: translateY(22px);} to {opacity:1; transform:none;} }
@keyframes scaleIn { from { opacity:0; transform: scale(.96);} to {opacity:1; transform:none;} }

.btn-danger, .btn-primary {
  --bs-btn-bg: var(--primary);
  --bs-btn-color: #fff;
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--primary-hover);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-border-color: var(--primary-hover);
  --bs-btn-active-bg: var(--primary-hover);
  --bs-btn-active-color: #fff;
  --bs-btn-active-border-color: var(--primary-hover);
}
.btn {
  --bs-btn-color: var(--text);
}
.btn-danger, .btn-primary, .btn-outline-primary {
  color: #fff;
}
.btn-outline-danger, .btn-outline-secondary {
  --bs-btn-color: var(--primary);
  --bs-btn-bg: transparent;
  --bs-btn-border-color: var(--primary);
  --bs-btn-hover-bg: var(--primary);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-border-color: var(--primary);
  --bs-btn-active-bg: var(--primary);
  --bs-btn-active-color: #fff;
  --bs-btn-active-border-color: var(--primary);
}

.auth-wrap {
  min-height: calc(100vh - 140px);
  display: grid;
  place-items: center;
  padding: 24px;
}
.auth-card {
  width: 100%;
  max-width: 460px;
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.product-card {
  border: 1px solid var(--border);
  border-radius: 14px;
  background: var(--card);
  transition: box-shadow .25s ease, border-color .25s ease;
}
.product-card:hover { box-shadow: 0 10px 18px rgba(0,0,0,.08); border-color: #f1b7be; }
.product-thumb { width: 100%; height: 210px; object-fit: cover; border-radius: 12px; }

.skeleton {
  background: linear-gradient(90deg,#eceff1 25%,#f7f7f7 50%,#eceff1 75%);
  background-size: 200% 100%;
  animation: loading 1.2s linear infinite;
}
@keyframes loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

.admin-shell { display:flex; min-height: 100vh; background: var(--bg); }
.admin-sidebar {
  width: 260px; border-right: 1px solid var(--border); background: var(--card);
  transition: transform .25s ease;
}
.admin-main { flex:1; padding: 20px; }
.admin-link { display:block; padding:10px 14px; border-radius:10px; color:var(--text); text-decoration:none; }
.admin-link:hover, .admin-link.active { background: rgba(220,53,69,.08); color: var(--primary); }
.site-footer { background: var(--card); }
