:root {
  --brand-primary: #1a5d3a;
  --brand-accent: #f2a71b;
}

body { background: #f7f8fa; font-family: 'Segoe UI', Arial, sans-serif; }

.topbar { background: var(--brand-primary); color: #fff; }
.main-navbar .navbar-brand { color: var(--brand-primary); font-size: 1.4rem; }
.category-strip .nav-link { color: #333; font-weight: 500; }
.category-strip .nav-link:hover { color: var(--brand-primary); }

#searchResultsDropdown { background: #fff; border-radius: 0 0 8px 8px; }

.product-card {
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #eee;
  transition: box-shadow .2s ease, transform .2s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.product-card:hover { box-shadow: 0 8px 20px rgba(0,0,0,.08); transform: translateY(-3px); }
.product-card .card-link-block { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.product-card .img-wrap {
  height: 180px;
  flex: 0 0 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fafafa;
  overflow: hidden;
}
.product-card .img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  padding: 12px;
  box-sizing: border-box;
}
.product-card .card-body-text { flex: 1 1 auto; }
.product-card .price-old { text-decoration: line-through; color: #999; font-size: .85rem; }
.product-card .price-new { color: var(--brand-primary); font-weight: 700; font-size: 1.1rem; }
.badge-trending { background: var(--brand-accent); color:#000; }
.badge-comingsoon { background:#6c757d; }

.section-title { border-left: 4px solid var(--brand-primary); padding-left: 10px; margin-bottom: 1rem; }

.banner-slider img { width:100%; max-height: 420px; object-fit: cover; border-radius: 8px; }
.brand-slider img, .category-slider img { max-height: 70px; object-fit: contain; margin: 0 auto; }
.category-slider .cat-item, .brand-slider .brand-item { text-align:center; padding: 10px; }

.product-detail-slide-inner {
  height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  box-sizing: border-box;
}
.product-detail-slide-inner img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

.wishlist-btn { cursor: pointer; }

.order-progress { display:flex; justify-content: space-between; position: relative; margin: 30px 0; }
.order-progress::before { content:''; position:absolute; top:14px; left:0; right:0; height:4px; background:#e0e0e0; z-index:0; }
.order-progress .step { text-align:center; flex:1; position:relative; z-index:1; }
.order-progress .step .dot { width:30px; height:30px; border-radius:50%; background:#e0e0e0; color:#fff; display:flex; align-items:center; justify-content:center; margin: 0 auto 6px; }
.order-progress .step.done .dot { background: var(--brand-primary); }
.order-progress .step.active .dot { background: var(--brand-accent); }

#loadMoreSpinner { display:none; text-align:center; padding: 20px; }

/* Circular crop preview mask - used for profile photo cropping (see CustomerCropTool) */
#customerCropModal.crop-round .cropper-view-box,
#customerCropModal.crop-round .cropper-face {
  border-radius: 50%;
}
#customerCropModal.crop-round .cropper-view-box {
  outline: 1px solid #39f;
  outline-color: rgba(51, 153, 255, 0.75);
}
