:root{ --container: 1100px; }
*{ box-sizing:border-box; }
body{ margin:0; font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; background:#0b0c10; color:#f7f7f7; }
a{ color:inherit; text-decoration:none; }
.container{ width:min(var(--container), 92vw); margin:0 auto; }
.site-header{ background:#111217; border-bottom:1px solid #1f2130; }
.site-header .container{ display:flex; align-items:center; gap:16px; padding:14px 0; }
.logo{ font-weight:800; letter-spacing:0.3px; font-size:22px; }
.logo span{ color:#6cd4ff; }
.search.adv{ flex:1; display:flex; gap:8px; }
.search input, .search select{ background:#0f1016; border:1px solid #25283b; padding:10px 12px; border-radius:12px; color:#fff; }
nav a{ margin-left:12px; padding:8px 10px; border-radius:10px; background:#181a28; }
.site-footer{ border-top:1px solid #1f2130; margin-top:40px; }
.site-footer .container{ padding:20px 0; color:#b9b9b9; font-size:14px; }

h1,h2,h3{ margin:18px 0 12px; }
.grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap:16px; }
.card{ background:#12131b; border:1px solid #1f2130; border-radius:14px; padding:10px; display:block; }
.card .thumb{ width:100%; aspect-ratio:1/1; background:#0d0f1a center/cover no-repeat; border-radius:10px; }
.card h3{ font-size:16px; margin:10px 0 4px; }

.product{ display:grid; grid-template-columns:1.3fr 1fr; gap:24px; }
.product .gallery img{ width:100%; border-radius:12px; margin-bottom:10px; background:#0d0f1a; }
.product .price{ font-size:22px; font-weight:700; color:#6cd4ff; }
.badge{ display:inline-block; font-size:12px; padding:3px 8px; border-radius:999px; background:#1c2430; border:1px solid #2a3342; margin-right:6px; }

.alert{ padding:10px 12px; border-radius:10px; margin:10px 0; }
.alert-error{ background:#3a1010; border:1px solid #612525; }
.alert-ok{ background:#103a1b; border:1px solid #25613b; }

form label{ display:block; margin-bottom:10px; }
form input, form textarea, form select{ width:100%; padding:10px; border:1px solid #2a2d40; background:#0f1016; color:#fff; border-radius:10px; }
button{ background:#6cd4ff; color:#001018; border:0; padding:10px 16px; border-radius:10px; font-weight:700; cursor:pointer; }
.table{ width:100%; border-collapse:collapse; }
.table th,.table td{ border-bottom:1px solid #1f2130; padding:10px 6px; text-align:left; }
.account-menu{ display:flex; gap:12px; }

@media (max-width: 900px){
  .product{ grid-template-columns:1fr; }
  .search.adv{ flex-direction:column; }
}
