:root {
  --brand: #2563eb;
  --brand-dark: #1e3a8a;
  --accent: #f59e0b;
  --accent-dark: #d97706;
  --dark: #0f172a;
  --ink: #1e293b;
}

body {
  font-family: 'Poppins', sans-serif;
  background: #f7f8fb;
  color: var(--ink);
}

/* Navbar */
.navbar { background: var(--dark); padding-top: .9rem; padding-bottom: .9rem; }
.navbar-brand, .navbar .nav-link { color: #fff !important; }
.navbar .nav-link { font-weight: 500; margin: 0 .4rem; }
.navbar .nav-link.active { color: var(--accent) !important; }
.btn-cart { background: var(--accent); color: var(--dark) !important; font-weight: 600; border: none; padding: .5rem 1.1rem; border-radius: 30px; }
.btn-cart:hover { background: var(--accent-dark); color: #fff !important; }

/* Buttons */
.btn-brand { background: var(--brand); border: none; color: #fff; font-weight: 600; }
.btn-brand:hover { background: var(--brand-dark); color: #fff; }
.btn-outline-brand { border: 1.5px solid var(--brand); color: var(--brand); font-weight: 600; }
.btn-outline-brand:hover { background: var(--brand); color: #fff; }

/* Hero */
.hero { background: linear-gradient(135deg, var(--brand), var(--brand-dark)); color: #fff; padding: 100px 0 110px; position: relative; overflow: hidden; }
.hero h1 { font-weight: 700; }
.hero .lead { color: rgba(255,255,255,.85); }

/* Section titles */
.section-title { font-weight: 700; position: relative; display: inline-block; margin-bottom: 2.2rem; }
.section-title::after { content: ''; position: absolute; left: 0; bottom: -12px; width: 55px; height: 4px; background: var(--accent); border-radius: 2px; }
.section-title.center { display: block; text-align: center; }
.section-title.center::after { left: 50%; transform: translateX(-50%); }

/* Product cards */
.product-card { border: none; border-radius: 16px; overflow: hidden; box-shadow: 0 2px 12px rgba(15,23,42,.07); transition: transform .2s ease, box-shadow .2s ease; height: 100%; background: #fff; }
.product-card:hover { transform: translateY(-6px); box-shadow: 0 14px 28px rgba(15,23,42,.14); }
.product-card .product-img-wrap { height: 220px; overflow: hidden; background: #eef1f6; }
.product-card .product-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.product-card .card-body { padding: 1.2rem; }
.product-card .price { color: var(--brand); font-weight: 700; font-size: 1.15rem; }
.stock-badge { font-size: .72rem; }

/* Feature icons */
.feature-icon { width: 64px; height: 64px; border-radius: 16px; background: rgba(37,99,235,.1); color: var(--brand); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; margin: 0 auto 1rem; }

/* Cart page */
.cart-item img { width: 90px; height: 90px; object-fit: cover; border-radius: 10px; }
.qty-input { width: 70px; }

/* Checkout payment options */
.payment-option { border: 1.5px solid #e2e8f0; border-radius: 12px; padding: 1rem 1.2rem; cursor: pointer; transition: border-color .15s, background .15s; }
.payment-option:hover { border-color: var(--brand); }
.payment-option input:checked ~ .payment-label,
.form-check-input:checked + .payment-label { color: var(--brand); }
.payment-option.active { border-color: var(--brand); background: rgba(37,99,235,.05); }

/* Invoice */
.invoice-box { border: 1px dashed #cbd5e1; border-radius: 14px; }

/* Footer */
.footer { background: var(--dark); }
.footer-links a { color: rgba(255,255,255,.6); text-decoration: none; line-height: 2.1; }
.footer-links a:hover { color: #fff; }

/* Admin */
.admin-sidebar { min-height: 100vh; background: var(--dark); }
.admin-sidebar a { color: rgba(255,255,255,.7); text-decoration: none; display: block; padding: .7rem 1.2rem; border-radius: 8px; margin-bottom: .2rem; }
.admin-sidebar a:hover, .admin-sidebar a.active { background: rgba(255,255,255,.08); color: #fff; }
.admin-thumb { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; background: #eef1f6; }

@media (max-width: 991px) {
  .navbar .nav-link { margin: .2rem 0; }
}
