body { background:#f6f4f0; color:#252525; }
.hero { background:linear-gradient(135deg,#2d2a26,#6f563b); color:#fff; border-radius:26px; padding:42px 24px; }
.category-card { border:0; border-radius:20px; overflow:hidden; box-shadow:0 10px 25px rgba(0,0,0,.08); transition:.2s; background:#fff; }
.category-card:hover { transform:translateY(-4px); }
.category-icon { font-size:38px; color:#8b5e34; }
.product-card { border:0; border-radius:20px; overflow:hidden; box-shadow:0 10px 24px rgba(0,0,0,.08); height:100%; }
.product-img { width:100%; height:240px; object-fit:cover; background:#e9e9e9; }
.product-detail-img { width:100%; max-height:520px; object-fit:cover; border-radius:22px; background:#e9e9e9; }
.thumb-img { width:90px; height:75px; object-fit:cover; border-radius:12px; cursor:pointer; border:2px solid transparent; }
.thumb-img:hover { border-color:#8b5e34; }
.btn-whatsapp { background:#25D366; color:#fff; border:0; font-weight:700; border-radius:999px; padding:10px 18px; }
.btn-whatsapp:hover { background:#1ebe5d; color:#fff; }
.whatsapp-float { position:fixed; right:18px; bottom:18px; width:58px; height:58px; border-radius:50%; background:#25D366; color:#fff; display:flex; align-items:center; justify-content:center; font-size:30px; text-decoration:none; box-shadow:0 12px 28px rgba(0,0,0,.25); z-index:10; }
.price { color:#8b5e34; font-weight:800; }
.admin-sidebar { min-height:100vh; background:#1f1f1f; }
.admin-sidebar a { color:#fff; text-decoration:none; display:block; padding:12px 16px; border-radius:12px; margin-bottom:6px; }
.admin-sidebar a:hover { background:#333; }
.upload-preview { width:85px; height:75px; object-fit:cover; border-radius:12px; }
/* ================================
   ADMIN RESPONSIVE SIDEBAR
================================ */
.admin-body {
  background: #f6f4f0;
}

.admin-layout {
  display: flex;
  min-height: 100vh;
}

.admin-sidebar {
  width: 245px;
  min-height: 100vh;
  background: #1f1f1f;
  color: #fff;
  padding: 18px 14px;
  flex-shrink: 0;
  position: sticky;
  top: 0;
}

.admin-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 800;
  margin-bottom: 28px;
  padding: 10px 8px;
}

.admin-nav a {
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  border-radius: 14px;
  margin-bottom: 8px;
  font-weight: 600;
  transition: .2s ease;
}

.admin-nav a:hover,
.admin-nav a.active {
  background: #ffffff;
  color: #1f1f1f;
}

.admin-nav .logout-link {
  margin-top: 20px;
}

.admin-content {
  flex: 1;
  padding: 28px;
  min-width: 0;
}

.admin-menu-btn {
  display: none;
  position: fixed;
  top: 14px;
  left: 14px;
  z-index: 2001;
  background: #1f1f1f;
  color: #fff;
  border: 0;
  border-radius: 14px;
  padding: 10px 14px;
  font-weight: 700;
  box-shadow: 0 8px 22px rgba(0,0,0,.22);
}

.admin-overlay {
  display: none;
}

@media (max-width: 768px) {
  .admin-menu-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
  }

  .admin-sidebar {
    position: fixed;
    left: -270px;
    top: 0;
    height: 100vh;
    z-index: 2000;
    transition: left .25s ease;
    box-shadow: 12px 0 30px rgba(0,0,0,.25);
  }

  .admin-sidebar.show {
    left: 0;
  }

  .admin-overlay.show {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 1999;
  }

  body.menu-open {
    overflow: hidden;
  }

  .admin-layout {
    display: block;
  }

  .admin-content {
    padding: 76px 14px 24px;
    width: 100%;
  }
}