/* Kerajinan Azka - Soft Pink Minimal Theme */
:root{
  --ka-bg: #fff7fb;
  --ka-card: rgba(255,255,255,.92);
  --ka-border: rgba(236,72,153,.18);
  --ka-primary: #ec4899;
  --ka-primary-2: #fb7185;
  --ka-text: #111827;
  --ka-muted: #6b7280;
  --ka-shadow: 0 18px 40px rgba(236,72,153,.15);
}

*{font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;}
.ka-body{
  background:
    radial-gradient(1100px 500px at 15% 20%, rgba(236,72,153,.18), transparent 55%),
    radial-gradient(1100px 500px at 85% 35%, rgba(251,113,133,.16), transparent 55%),
    var(--ka-bg);
  color: var(--ka-text);
}

.ka-navbar{
  background: rgba(255,255,255,.7);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--ka-border);
}

.navbar-brand{ color: var(--ka-text) !important; }
.nav-link{ color: rgba(17,24,39,.78) !important; }
.nav-link:hover{ color: var(--ka-primary) !important; }

.ka-card{
  border: 1px solid var(--ka-border);
  border-radius: 18px;
  background: var(--ka-card);
  box-shadow: var(--ka-shadow);
}

.ka-footer{
  border-top: 1px solid var(--ka-border);
  background: rgba(255,255,255,.6);
  backdrop-filter: blur(10px);
}

.btn-primary{
  background: linear-gradient(90deg, var(--ka-primary), var(--ka-primary-2));
  border: none;
}
.btn-primary:hover{ filter: brightness(.98); }
.btn-outline-primary{
  border-color: var(--ka-border);
  color: var(--ka-primary);
}
.btn-outline-primary:hover{
  background: rgba(236,72,153,.08);
  border-color: rgba(236,72,153,.3);
  color: var(--ka-primary);
}

.form-control, .form-select{
  border-radius: 14px;
  border-color: var(--ka-border);
}
.form-control:focus, .form-select:focus{
  border-color: rgba(236,72,153,.45);
  box-shadow: 0 0 0 .25rem rgba(236,72,153,.12);
}

.ka-pill{
  background: rgba(236,72,153,.10);
  border: 1px solid rgba(236,72,153,.18);
  color: var(--ka-primary);
  border-radius: 999px;
  padding: .35rem .8rem;
  font-weight: 600;
}

.ka-hero{
  display:flex;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  padding: 22px 22px;
  border-radius: 18px;
  border: 1px solid var(--ka-border);
  background: rgba(255,255,255,.75);
  box-shadow: var(--ka-shadow);
}

.ka-price{ color: var(--ka-primary); font-weight: 700; }

.ka-img-placeholder{
  height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(236,72,153,.06);
  border-bottom: 1px solid var(--ka-border);
  color: var(--ka-muted);
}

.ka-badge{
  background: var(--ka-primary);
}

/* Cart thumbnail */
.ka-cart-thumb{
  width: 84px;
  height: 84px;
  border-radius: 14px;
  object-fit: contain;
  border: 1px solid rgba(236,72,153,.18);
  background: #fff;
}

.ka-cart-thumb--ph{
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 12px;
  color: rgba(0,0,0,.45);
  background: rgba(255,255,255,.7);
}

/* Qty buttons */
.ka-qty-btn{
  width: 36px;
  height: 36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 12px;
}

ka-media-frame--card