/* ============================================================
   DRK Drone Store — Main Stylesheet
   Bootstrap 5 + Custom
   ============================================================ */

:root {
  --primary: #0d0d0d;
  --accent: #ffc107;
  --accent-dark: #e0a800;
  --danger: #dc3545;
  --muted: #6c757d;
  --bg-light: #f8f9fa;
  --border: #dee2e6;
  --card-radius: 8px;
  --shadow: 0 2px 12px rgba(0,0,0,.08);
}

/* ---- Base ---- */
body { font-family: 'Segoe UI', system-ui, sans-serif; background: #fff; color: #1a1a1a; }
a { color: inherit; }

/* ---- Topbar ---- */
.topbar { background: var(--primary); font-size:.82rem; }
.topbar a:hover { color: var(--accent) !important; }

/* ---- Logo ---- */
.logo-text { font-weight:900; font-size:1.5rem; color:var(--primary); letter-spacing:-1px; }
.logo-text::before { content:'drk'; color:var(--accent); }
.logo-text::after  { content:'store.in'; }

/* ---- Header ---- */
.site-header { background:#fff; border-bottom:2px solid var(--accent); z-index:1030; }

/* Search */
.search-form { border:2px solid var(--accent); border-radius:4px; overflow:hidden; }
.search-cat  { max-width:160px; border-radius:0; background:#f9f9f9; font-size:.8rem; }
.search-form .form-control { border-radius:0; }
.search-form .form-control:focus { box-shadow:none; }

/* Cart btn */
.cart-btn { font-size:.9rem; }
.cart-badge { font-size:.65rem; min-width:18px; height:18px; display:flex; align-items:center; justify-content:center; }

/* ---- Navbar main ---- */
.navbar-main { background:var(--primary); }
.navbar-main .nav-link { color:#ccc !important; font-size:.85rem; padding:.5rem .85rem; font-weight:500; transition:color .2s; }
.navbar-main .nav-link:hover { color: var(--accent) !important; }

/* Browse btn */
.btn-browse { border-radius:0; min-width:200px; font-size:.85rem; }
.cat-mega { min-width:220px; border-radius:0 0 6px 6px; border:none; box-shadow: 0 8px 32px rgba(0,0,0,.15); }
.cat-mega .dropdown-item { font-size:.87rem; padding:.5rem 1rem; }
.cat-mega .dropdown-item:hover { background:#fff8e1; }

/* ---- Hero Slider ---- */
.hero-section { background: var(--primary); overflow:hidden; }
.hero-slide { position:relative; height:420px; background-size:cover; background-position:center; }
.hero-slide::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.65) 0%,transparent 70%); }
.hero-content { position:relative; z-index:2; color:#fff; }
.hero-content .badge-label { background:var(--accent); color:#000; font-size:.75rem; padding:.3rem .7rem; border-radius:3px; font-weight:700; text-transform:uppercase; }
.hero-content h2 { font-size:2.4rem; font-weight:900; line-height:1.1; }
.swiper-pagination-bullet-active { background:var(--accent) !important; }

/* ---- Section headings ---- */
.section-heading { font-weight:800; font-size:1.15rem; text-transform:uppercase; letter-spacing:.5px; position:relative; padding-bottom:.5rem; }
.section-heading::after { content:''; position:absolute; bottom:0; left:0; width:40px; height:3px; background:var(--accent); border-radius:2px; }

/* ---- Category boxes ---- */
.cat-card { border:1px solid var(--border); border-radius:var(--card-radius); text-align:center; padding:1.2rem .8rem; transition: all .2s; cursor:pointer; text-decoration:none; color:inherit; display:block; }
.cat-card:hover { border-color:var(--accent); background:#fff8e1; transform:translateY(-3px); box-shadow:var(--shadow); }
.cat-card i { font-size:1.8rem; color:var(--accent); }
.cat-card .cat-name { font-size:.8rem; font-weight:600; margin-top:.5rem; }
.cat-card .cat-count { font-size:.7rem; color:var(--muted); }

/* ---- Product Cards ---- */
.product-card { border:1px solid var(--border); border-radius:var(--card-radius); overflow:hidden; transition:all .2s; position:relative; background:#fff; height:100%; }
.product-card:hover { box-shadow: 0 8px 30px rgba(0,0,0,.12); transform:translateY(-4px); border-color:#ccc; }
.product-card .card-img-wrap { position:relative; overflow:hidden; background:#f5f5f5; height:200px; display:flex; align-items:center; justify-content:center; }
.product-card .card-img-wrap img { max-height:180px; object-fit:contain; transition:transform .3s; }
.product-card:hover .card-img-wrap img { transform:scale(1.06); }
.product-card .card-actions { position:absolute; top:8px; right:8px; display:flex; flex-direction:column; gap:5px; opacity:0; transition:opacity .2s; }
.product-card:hover .card-actions { opacity:1; }
.product-card .card-actions .btn { width:34px; height:34px; padding:0; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.85rem; }
.product-card .card-body { padding:.9rem; }
.product-card .prod-name { font-weight:600; font-size:.88rem; line-height:1.3; margin-bottom:.4rem; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.product-card .price-new { font-weight:800; font-size:1.05rem; color:#c00; }
.product-card .price-old { font-size:.82rem; color:var(--muted); text-decoration:line-through; }
.product-card .discount-badge { position:absolute; top:8px; left:8px; background:var(--danger); color:#fff; font-size:.7rem; font-weight:700; padding:.2rem .5rem; border-radius:3px; }
.product-card .stock-low { font-size:.72rem; color:orange; }
.product-card .add-cart-btn { font-size:.8rem; padding:.3rem .7rem; }

/* ---- Product Detail ---- */
.product-images .main-img { height:400px; display:flex; align-items:center; justify-content:center; background:#f7f7f7; border:1px solid var(--border); border-radius:var(--card-radius); overflow:hidden; }
.product-images .main-img img { max-height:380px; object-fit:contain; }
.product-images .thumb-list { display:flex; gap:8px; flex-wrap:wrap; margin-top:.5rem; }
.product-images .thumb-list img { width:70px; height:70px; object-fit:contain; border:2px solid var(--border); border-radius:4px; cursor:pointer; padding:4px; background:#fff; }
.product-images .thumb-list img.active { border-color:var(--accent); }
.product-price-big .price-new { font-size:2rem; font-weight:900; color:#c00; }
.product-price-big .price-old { font-size:1.1rem; color:var(--muted); text-decoration:line-through; }
.product-price-big .discount-pct { background:#c00; color:#fff; font-size:.78rem; font-weight:700; padding:.2rem .5rem; border-radius:3px; }
.qty-control { display:inline-flex; align-items:center; border:1px solid var(--border); border-radius:4px; overflow:hidden; }
.qty-control button { border:none; background:#f0f0f0; width:34px; height:34px; font-weight:700; cursor:pointer; }
.qty-control input  { border:none; width:46px; height:34px; text-align:center; outline:none; font-weight:600; }
.qty-control button:hover { background:var(--accent); }

/* ---- Cart ---- */
.cart-table { font-size:.9rem; }
.cart-thumb { width:72px; height:72px; object-fit:contain; border:1px solid var(--border); border-radius:4px; background:#f5f5f5; }
.order-summary-card { background:#fafafa; border:1px solid var(--border); border-radius:var(--card-radius); padding:1.2rem; }

/* ---- Checkout ---- */
.checkout-steps .step { display:flex; align-items:center; gap:.5rem; font-size:.85rem; color:var(--muted); }
.checkout-steps .step.active { color:var(--accent); font-weight:700; }
.checkout-steps .step-num { width:26px; height:26px; border-radius:50%; background:var(--border); display:inline-flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:700; }
.checkout-steps .step.active .step-num { background:var(--accent); color:#000; }

/* ---- Auth forms ---- */
.auth-card { max-width:440px; margin:3rem auto; border:1px solid var(--border); border-radius:10px; padding:2rem; box-shadow:var(--shadow); }
.auth-card h2 { font-weight:800; margin-bottom:1.5rem; }

/* ---- Account ---- */
.account-sidebar .nav-link { color:#333; border-radius:4px; font-size:.9rem; }
.account-sidebar .nav-link:hover, .account-sidebar .nav-link.active { background:#fff8e1; color:#000; font-weight:600; }
.account-sidebar .nav-link i { width:20px; }

/* ---- Order status badges ---- */
.badge-pending    { background:#ffc107; color:#000; }
.badge-confirmed  { background:#0dcaf0; color:#000; }
.badge-processing { background:#6610f2; color:#fff; }
.badge-shipped    { background:#0d6efd; color:#fff; }
.badge-delivered  { background:#198754; color:#fff; }
.badge-cancelled  { background:#dc3545; color:#fff; }
.badge-refunded   { background:#6c757d; color:#fff; }

/* ---- Footer ---- */
.footer-features { background:#fff8e1; }
.site-footer { background:#111; color:#ccc; }
.site-footer h6 { color:#fff; }
.site-footer a:hover { color:var(--accent) !important; }

/* ---- Breadcrumb ---- */
.breadcrumb-section { background:var(--bg-light); padding:.6rem 0; font-size:.85rem; }
.breadcrumb-item + .breadcrumb-item::before { color:var(--muted); }

/* ---- Filters sidebar ---- */
.filter-sidebar .form-check-label { font-size:.88rem; cursor:pointer; }
.filter-sidebar .accordion-button { font-size:.9rem; font-weight:600; padding:.6rem 1rem; }
.filter-sidebar .accordion-button:not(.collapsed) { background:#fff8e1; color:#000; box-shadow:none; }

/* ---- Admin styles (shared) ---- */
.admin-sidebar { width:240px; min-height:100vh; background:#1a1a2e; flex-shrink:0; }
.admin-sidebar .brand { padding:1.2rem 1rem; background:#16213e; color:var(--accent); font-weight:800; font-size:1.1rem; border-bottom:1px solid #2d2d4e; }
.admin-sidebar .nav-link { color:#aaa; font-size:.87rem; padding:.55rem 1rem; border-radius:4px; transition:all .15s; display:flex; align-items:center; gap:.6rem; }
.admin-sidebar .nav-link:hover, .admin-sidebar .nav-link.active { background:rgba(255,193,7,.15); color:var(--accent); }
.admin-sidebar .nav-section { color:#555; font-size:.7rem; text-transform:uppercase; letter-spacing:1px; padding:.8rem 1rem .3rem; }
.admin-content { flex:1; background:#f0f2f5; min-height:100vh; }
.admin-topbar { background:#fff; padding:.6rem 1.5rem; border-bottom:1px solid var(--border); display:flex; align-items:center; justify-content:space-between; }
.stat-card { background:#fff; border-radius:10px; padding:1.2rem; box-shadow:var(--shadow); border:1px solid var(--border); }
.stat-card .stat-icon { width:52px; height:52px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.4rem; }
.data-table th { font-size:.8rem; text-transform:uppercase; letter-spacing:.5px; color:var(--muted); font-weight:600; background:#f8f9fa; }
.data-table td { font-size:.88rem; vertical-align:middle; }

/* ---- Responsive ---- */
@media (max-width:767px) {
  .hero-slide { height:240px; }
  .hero-content h2 { font-size:1.4rem; }
  .product-card .card-img-wrap { height:150px; }
  .admin-sidebar { display:none; }
}

/* ---- Utilities ---- */
.text-accent { color:var(--accent) !important; }
.bg-accent   { background:var(--accent) !important; }
.btn-accent  { background:var(--accent); border-color:var(--accent); color:#000; font-weight:700; }
.btn-accent:hover { background:var(--accent-dark); border-color:var(--accent-dark); }
.hover-shadow:hover { box-shadow:var(--shadow); }
.cursor-pointer { cursor:pointer; }
