:root{
  --bg:#ffffff;
  --card:#ffffff;
  --accent:#ff3131;
  --muted:#444444;
}

body{
  background:var(--bg);
  color:var(--muted);
  font-family:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  -webkit-font-smoothing:antialiased;
}

/* NAVBAR */
.top-navbar{
  background:var(--accent);
    color:#fff;
    font-size:14px;
}
.top-navbar a{
text-decoration:none;
}
.navbar{
  background:#ffffff;
  border-bottom:1px solid #e5e5e5;
}






/* PRODUCT CARD */

.title-box {
  display: flex;
  align-items: center;              /* sejajar vertikal */
  justify-content: space-between;   /* kiri - kanan */
  border-bottom: 2px solid #ff3131;
  padding: 10px 0;
}

.title-product {
  font-weight: bold;
  margin: 0;
  color: var(--accent);
}

.title-box a {
  color: var(--muted);
  text-decoration: none;
  font-size: 14px;
}

.title-box a:hover {
  color: var(--accent);
}


.product-card{
  background:var(--card);
  border:1px solid #e7e7e7;
  border-radius:10px;
  box-shadow:0 2px 5px rgba(0,0,0,0.05);
}

.price{
  color:var(--accent);
  font-weight:700;
}



.btn-outline-danger:hover {
  background: var(--accent);
  color: #fff;
}

.price {
  color: var(--accent);
  font-weight: 700;
}

.product-img {
  max-height: 350px;
  object-fit: cover;
}

.buy-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  padding: 10px;
  display: flex;
  gap: 10px;
  box-shadow: 0 -2px 8px rgba(0,0,0,.1);
  z-index: 999;
}


@media (max-width:576px){
  .product-card img{
    height:160px;
    object-fit:cover;
  }
  
    .title-box {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }

  .title-box a {
    align-self: flex-end;
  }
   .card img {
    max-height: 320px;
    object-fit: cover;
  }
  
}
/* ===============================
   CATEGORY BOX
================================ */
.category-box {
  background:#ffffff;
  border:1px solid #ff3131;
  border-radius:12px;
  padding:12px;
  transition:0.2s;
}

/* ===============================
   ICON KATEGORI
================================ */
.category-icon {
  width:100px;
  height:100px;
  border-radius:20%;
  background:#fff;
  border:3px solid var(--accent);
  padding:4px;
  overflow:hidden;
  transition:0.2s ease;
}

.category-icon img {
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:20%;
}

/* ===============================
   NAMA KATEGORI
================================ */
.category-name {
  color:#333;
  font-weight:600;
  font-size:0.85rem;
  margin-top:6px;
  text-align:center;
}

/* Hover Desktop */
@media (hover:hover) {
  .category-icon:hover {
    transform:scale(1.05);
    box-shadow:0 4px 12px rgba(255,49,49,0.25);
  }
}

/* ===============================
   MOBILE STYLE
================================ */
@media (max-width: 576px) {

  .category-box {
    padding:8px;
    border-radius:10px;
  }

  .category-icon {
    width:70px;
    height:70px;
    border-width:2px;
  }

  .category-name {
    font-size:0.75rem;
  }
}



/* ===============================
   checkout
================================ */

.title-box {
  border-bottom: 2px solid var(--accent);
  padding-bottom: 8px;
}

.title-product {
  color: var(--accent);
  font-weight: 700;
}

.price {
  color: var(--accent);
  font-weight: 700;
}

.card-header {
  font-size: 0.95rem;
}

@media (max-width: 576px) {
  .card-body img {
    width: 50px;
    height: 50px;
  }
}

