:root{
  --brand-red:#c8102e;
  --brand-dark:#1a1a1a;
  --brand-cream:#f7f5f2;
  --brand-grey:#6b6b6b;
  --brand-green:#1e7a4c;
}
body{
  font-family:'Poppins',sans-serif;
  color:var(--brand-dark);
}
a{ text-decoration:none; }

/* Top marquee */
.top-bar{
  background:var(--brand-dark);
  color:#fff;
  font-size:.78rem;
  padding:6px 0;
  overflow:hidden;
  white-space:nowrap;
}
.marquee-track{
  display:inline-block;
  padding-left:100%;
  animation:scroll-left 28s linear infinite;
}
.marquee-track span{ margin-right:60px; }
@keyframes scroll-left{
  0%{ transform:translateX(0); }
  100%{ transform:translateX(-100%); }
}

/* Header */
.site-header{ padding:1px 0; border-bottom:1px solid #eee; }
.logo-mark{
  width:40px;height:40px;border-radius:50%;
  background:var(--brand-dark);
  display:inline-flex;align-items:center;justify-content:center;
  position:relative;
}
.logo-mark::after{
  content:"";
  width:14px;height:14px;border-radius:50%;
  background:var(--brand-red);
}
.logo-text{
  font-weight:700;letter-spacing:1px;font-size:1.6rem;
  color:var(--brand-dark);
}
.logo-tagline{
  font-size:.62rem;letter-spacing:2px;color:var(--brand-red);
  text-transform:uppercase;border-top:1px solid var(--brand-red);
  padding-top:2px; display:block;
}
.search-box{
  border-radius:30px;overflow:hidden;border:1px solid #ddd;
}
.search-box input{ border:none; box-shadow:none; }
.search-box .btn{ background:#fff; border:none; border-left:1px solid #ddd; }
.header-icon-link{
  color:var(--brand-dark); text-align:center; font-size:.75rem;
}
.header-icon-link i{ font-size:1.2rem; display:block; margin-bottom:2px; }
.cart-badge{ position:relative; }
.cart-badge .badge{ position:absolute; top:-6px; right:-10px; font-size:.6rem; }

/* Nav */
.main-nav{ font-size:.92rem; font-weight:500; }
.main-nav .nav-link{ color:var(--brand-dark); padding:14px 18px; }
.main-nav .nav-link.active{ color:var(--brand-red); font-weight:600; }
.main-nav .nav-link.sale{
  background:var(--brand-red); color:#fff;/* border-radius:4px;
  padding:8px 16px; margin-top:4px;*/
}

/* Breadcrumb */
.breadcrumb-bar{ background:var(--brand-cream); padding:14px 0; font-size:.85rem; }
.breadcrumb-bar a{ color:var(--brand-grey); }
.breadcrumb-bar span{ color:var(--brand-dark); font-weight:500; }

/* Hero */
.hero-section{
  background:linear-gradient(135deg,#e9e2d6,#f3ede1);
  border-radius:10px;
  overflow:hidden;
  position:relative;
}
.hero-img-side{
  background:url('https://images.unsplash.com/photo-1556909114-44e3e70034e2?auto=format&fit=crop&w=1200&q=80') center/cover;
  min-height:380px;
}
.hero-promo-side{
  background:var(--brand-dark);
  color:#fff;
  display:flex;flex-direction:column;justify-content:center;
  padding:40px;
  min-height:380px;
}
.hero-promo-side .brand-row{ display:flex; gap:16px; align-items:center; margin-bottom:20px; }
.hero-promo-side .discount-tag{
  background:var(--brand-red); display:inline-block; padding:10px 20px;
  font-size:1.8rem; font-weight:700; border-radius:4px; margin-bottom:10px;
}
.code-pill{
  background:#333; display:inline-block; padding:6px 14px; border-radius:4px; font-weight:600;
}
.btn-shop-now{
  background:var(--brand-red); color:#fff; border:none; padding:10px 28px;
  border-radius:4px; font-weight:600; margin-top:20px; display:inline-block; width:fit-content;
}
.btn-shop-now:hover{ background:#a30d25; color:#fff; }
.hero-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:36px;height:36px;border-radius:50%; background:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(0,0,0,.15); z-index:5;
}
.hero-arrow.left{ left:10px; }
.hero-dots{ position:absolute; bottom:16px; left:0; right:0; display:flex; justify-content:center; gap:6px; }
.hero-dots span{ width:8px;height:8px;border-radius:50%; background:rgba(255,255,255,.6); }
.hero-dots span.active{ width:26px; border-radius:5px; background:#fff; }

/* Category circles */
.cat-circle{
  width:110px;height:110px;border-radius:50%;
  background:#eef0f6;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 10px; font-size:2.2rem; color:var(--brand-dark);
  transition:.25s;
}
.category-item:hover .cat-circle{ background:var(--brand-red); color:#fff; transform:translateY(-4px); }
.category-item{ text-align:center; color:var(--brand-dark); font-size:.9rem; font-weight:500; }

/* Section titles */
.section-title{ font-weight:600; font-size:1.5rem; }
.view-more-link{ color:var(--brand-dark); font-weight:500; font-size:.9rem; }

/* Product cards */
.product-card{
  border:1px solid #eee; border-radius:6px; padding:14px; height:100%;
  position:relative; transition:.2s; background:#fff;
}
.product-card:hover{ box-shadow:0 8px 22px rgba(0,0,0,.08); }
.discount-badge{
  position:absolute; top:12px; left:12px; background:var(--brand-green);
  color:#fff; font-size:.72rem; padding:3px 8px; border-radius:3px; font-weight:600; z-index:2;
}
.wish-btn{
  position:absolute; top:10px; right:10px; width:30px;height:30px;border-radius:50%;
  background:#fff; border:1px solid #eee; display:flex;align-items:center;justify-content:center;
  z-index:2;
}
.product-img{
  height:150px; display:flex; align-items:center; justify-content:center;
  margin-bottom:10px; background:#fafafa; border-radius:4px; overflow:hidden;
}
.product-img img{ max-height:100%; max-width:100%; object-fit:contain; }
.brand-name{  color:var(--brand-grey); text-transform:uppercase; }
.product-name{
  font-size:.88rem; font-weight:600; min-height:42px;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.stars{ color:#f5b301; font-size:.8rem; }
.price-old{ text-decoration:line-through; color:var(--brand-grey); font-size:.82rem; margin-left:6px; }
.price-new{ font-weight:700; }
.btn-add-cart{
  background:var(--brand-red); color:#fff; border:none; width:100%;
  padding:8px; border-radius:4px; font-size:.85rem; font-weight:600; margin-top:8px;
}
.btn-add-cart:hover{ background:#a30d25; color:#fff; }

.scroller-btn{
  width:36px;height:36px;border-radius:50%; background:#fff; border:1px solid #eee;
  display:flex;align-items:center;justify-content:center;
}

/* Brand strip */
.brand-strip{ padding:40px 0; }

/* Top sellers tabs */
.seller-tabs .nav-link{ color:var(--brand-grey); font-weight:500; padding:6px 16px; border:none; }
.seller-tabs .nav-link.active{ color:var(--brand-red); border-bottom:2px solid var(--brand-red); background:none; }

/* Promo grid */
.promo-tile{
  border-radius:8px; overflow:hidden; position:relative; 
  background-size:cover; background-position:center; color:#fff; display:flex; align-items:flex-start;
}
.promo-tile::before{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.28); }
.promo-tile .promo-text{ position:relative; z-index:2; padding:20px; font-weight:700; font-size:1.15rem; }
.promo-tile .brand-chip{
  position:absolute; top:14px; right:14px; background:#fff; color:var(--brand-dark);
  font-size:.7rem; font-weight:700; padding:4px 8px; border-radius:3px; z-index:2;
}

/* Blogs */
.blog-card img{ border-radius:6px; width:100%; height:200px; object-fit:cover; }
.blog-date{ color:var(--brand-grey); font-size:.8rem; margin-top:10px; }
.blog-title{ font-weight:600; margin-top:4px; }
.blog-excerpt{ color:var(--brand-grey); font-size:.85rem; }

/* Feature strip */
.feature-strip{ background:var(--brand-red); color:#fff; padding:26px 0; }
.feature-item{ display:flex; align-items:center; gap:14px; justify-content:center; }
.feature-item i{ font-size:1.6rem; border:2px solid #fff; border-radius:50%; padding:12px; }
.feature-item .label{ font-size:.85rem; font-weight:600; line-height:1.2; }

/* Footer */
footer{ background:var(--brand-dark); color:#ccc; padding-top:50px; }
footer h6{ color:#fff; font-weight:600; margin-bottom:16px; font-size:.9rem; letter-spacing:.5px; }
footer a{ color:#ccc; font-size:.85rem; line-height:2; display:block; }
footer a:hover{ color:#fff; }
.footer-logo .logo-text{ color:#fff; }
.newsletter-input{ background:transparent; border:none; border-bottom:1px solid #555; color:#fff; border-radius:0; }
.newsletter-input::placeholder{ color:#999; }
.social-icon{
  width:32px;height:32px;border:1px solid #555;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center; margin-right:6px; color:#ccc;
}
.payment-icon{ background:#fff; border-radius:4px; padding:4px 8px; margin-right:6px; display:inline-block; }
.footer-bottom{ border-top:1px solid #333; margin-top:30px; padding:16px 0; font-size:.78rem; color:#999; }

.chat-fab{
  position:fixed; bottom:20px; right:20px; width:54px; height:54px; border-radius:50%;
  background:var(--brand-red); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.4rem; box-shadow:0 4px 14px rgba(0,0,0,.25); z-index:50;
}

/* ---------- Shop / Product Listing ---------- */
.filter-card{ border:1px solid #eee; border-radius:6px; padding:20px; margin-bottom:20px; }
.filter-card h6{ font-weight:600; margin-bottom:14px; text-transform:uppercase; font-size:.8rem; letter-spacing:.5px; }
.filter-card .form-check{ margin-bottom:8px; font-size:.88rem; color:var(--brand-grey); }
.filter-card .form-check-input:checked{ background-color:var(--brand-red); border-color:var(--brand-red); }
.price-range-track{ height:4px; background:#eee; border-radius:2px; position:relative; margin:20px 0 10px; }
.price-range-track .fill{ position:absolute; height:4px; background:var(--brand-red); border-radius:2px; left:15%; right:25%; }
.price-range-track .handle{
  width:14px;height:14px;border-radius:50%; background:var(--brand-red); position:absolute; top:-5px;
}
.color-swatch{ width:22px;height:22px;border-radius:50%; display:inline-block; border:1px solid #ddd; margin-right:6px; cursor:pointer; }
.sort-select{ border-radius:4px; font-size:.85rem; }
.results-bar{ font-size:.88rem; color:var(--brand-grey); }
.page-item .page-link{ border-radius:4px !important; margin:0 3px; color:var(--brand-dark); border-color:#eee; }
.page-item.active .page-link{ background:var(--brand-red); border-color:var(--brand-red); }
.view-toggle .btn{ border-color:#eee; color:var(--brand-grey); }
.view-toggle .btn.active{ background:var(--brand-dark); color:#fff; border-color:var(--brand-dark); }

/* ---------- Cart Page ---------- */
.cart-table{ border-collapse:separate; border-spacing:0; }
.cart-table th{ font-size:.78rem; text-transform:uppercase; color:var(--brand-grey); font-weight:600; border-bottom:1px solid #eee; padding-bottom:12px; }
.cart-row td{ border-bottom:1px solid #f0f0f0; padding:18px 10px; vertical-align:middle; }
.cart-item-img{ width:80px;height:80px; background:#fafafa; border-radius:6px; display:flex;align-items:center;justify-content:center; }
.cart-item-name{ font-weight:600; font-size:.92rem; }
.cart-item-meta{ font-size:.78rem; color:var(--brand-grey); }
.qty-box{ display:inline-flex; align-items:center; border:1px solid #ddd; border-radius:4px; }
.qty-box button{ width:32px;height:32px; border:none; background:#fff; font-weight:600; }
.qty-box input{ width:40px; border:none; text-align:center; font-weight:600; }
.remove-link{ color:var(--brand-red); font-size:.8rem; cursor:pointer; }
.summary-card{ border:1px solid #eee; border-radius:8px; padding:24px; position:sticky; top:20px; }
.summary-card h5{ font-weight:600; margin-bottom:18px; }
.summary-row{ display:flex; justify-content:space-between; font-size:.9rem; margin-bottom:12px; color:var(--brand-grey); }
.summary-row.total{ color:var(--brand-dark); font-weight:700; font-size:1.05rem; border-top:1px solid #eee; padding-top:14px; margin-top:8px; }
.coupon-box{ display:flex; border:1px solid #ddd; border-radius:4px; overflow:hidden; margin-bottom:20px; }
.coupon-box input{ border:none; }
.coupon-box button{ background:var(--brand-dark); color:#fff; border:none; padding:0 18px; font-size:.85rem; font-weight:600; }
.empty-cart{ text-align:center; padding:80px 20px; }
.empty-cart i{ font-size:4rem; color:#ddd; margin-bottom:20px; }

/* ---------- Checkout Page ---------- */
.checkout-steps{ display:flex; justify-content:center; gap:0; margin-bottom:40px; flex-wrap:wrap; }
.checkout-steps .step{ display:flex; align-items:center; gap:10px; padding:0 24px; position:relative; }
.checkout-steps .step:not(:last-child)::after{
  content:""; position:absolute; right:-2px; top:50%; width:40px; height:1px; background:#ddd;
}
.checkout-steps .step .circle{
  width:30px;height:30px;border-radius:50%; background:#eee; color:var(--brand-grey);
  display:flex;align-items:center;justify-content:center; font-size:.85rem; font-weight:600;
}
.checkout-steps .step.active .circle{ background:var(--brand-red); color:#fff; }
.checkout-steps .step.done .circle{ background:var(--brand-green); color:#fff; }
.checkout-steps .step span.label{ font-size:.85rem; font-weight:500; color:var(--brand-grey); }
.checkout-steps .step.active span.label{ color:var(--brand-dark); font-weight:600; }

.form-section{ border:1px solid #eee; border-radius:8px; padding:26px; margin-bottom:24px; }
.form-section h5{ font-weight:600; margin-bottom:20px; display:flex; align-items:center; gap:10px; }
.form-section h5 .num{
  width:26px;height:26px;border-radius:50%; background:var(--brand-dark); color:#fff;
  display:inline-flex;align-items:center;justify-content:center; font-size:.8rem;
}
.form-label{ font-size:.85rem; font-weight:500; }
.form-control, .form-select{ border-radius:4px; border-color:#ddd; font-size:.9rem; }
.form-control:focus, .form-select:focus{ border-color:var(--brand-red); box-shadow:0 0 0 .2rem rgba(200,16,46,.1); }

.pay-option{ border:1px solid #ddd; border-radius:6px; padding:14px 16px; margin-bottom:10px; display:flex; align-items:center; gap:12px; cursor:pointer; }
.pay-option.selected{ border-color:var(--brand-red); background:#fff7f8; }
.pay-option img, .pay-option i{ font-size:1.4rem; }

.mini-cart-item{ display:flex; gap:12px; padding:12px 0; border-bottom:1px solid #f0f0f0; }
.mini-cart-item img{ width:56px;height:56px;object-fit:contain; background:#fafafa; border-radius:6px; }
.mini-cart-item .name{ font-size:.85rem; font-weight:600; }
.mini-cart-item .qty{ font-size:.75rem; color:var(--brand-grey); }
.btn-place-order{
  background:var(--brand-red); color:#fff; border:none; padding:14px; border-radius:4px;
  font-weight:600; width:100%; font-size:.95rem;
}
.btn-place-order:hover{ background:#a30d25; color:#fff; }
.secure-note{ font-size:.78rem; color:var(--brand-grey); text-align:center; margin-top:12px; }

/* ---------- Product Detail Page ---------- */
.pd-gallery-main{
  border:1px solid #eee; border-radius:8px; height:420px; display:flex;  justify-content:center;
  background:#fafafa; position:relative; overflow:hidden;
}
.pd-gallery-main i{ font-size:8rem; color:#ccc; }
.pd-thumb-row{ display:flex; gap:10px; margin-top:12px; }
.pd-thumb{
  width:74px;height:74px; border:1px solid #eee; border-radius:6px; display:flex; align-items:center; justify-content:center;
  background:#fafafa; cursor:pointer;
}
.pd-thumb.active{ border-color:var(--brand-red); }
.pd-thumb i{ font-size:1.6rem; color:#bbb; }
.pd-title{ font-size:1.5rem; font-weight:700; }
.pd-price-new{ font-size:1.7rem; font-weight:700; }
.pd-price-old{ text-decoration:line-through; color:var(--brand-grey); font-size:1.05rem; margin-left:10px; }
.pd-save-badge{ background:var(--brand-green); color:#fff; font-size:.75rem; font-weight:600; padding:3px 10px; border-radius:3px; margin-left:10px; }
.pd-meta-row{ font-size:.85rem; color:var(--brand-grey); }
.pd-swatch{ width:32px;height:32px;border-radius:50%; border:2px solid #fff; box-shadow:0 0 0 1px #ddd; display:inline-block; cursor:pointer; margin-right:8px; }
.pd-swatch.selected{ box-shadow:0 0 0 2px var(--brand-red); }
.pd-size-option{
  border:1px solid #ddd; border-radius:4px; padding:8px 16px; font-size:.85rem; font-weight:500; cursor:pointer; margin-right:8px; display:inline-block;
}
.pd-size-option.selected{ border-color:var(--brand-red); background:#fff7f8; color:var(--brand-red); }
.pd-actions .qty-box{ height:44px; }
.pd-actions .qty-box button{ height:44px; width:40px; }
.btn-add-cart-lg{
  background:var(--brand-red); color:#fff; border:none; padding:12px 30px; border-radius:4px; font-weight:600;
}
.btn-add-cart-lg:hover{ background:#a30d25; color:#fff; }
.btn-wishlist-lg{
  border:1px solid #ddd; border-radius:4px; padding:12px 16px; background:#fff;
}
.pd-trust-row{ border-top:1px solid #eee; border-bottom:1px solid #eee; padding:16px 0; margin-top:20px; }
.pd-trust-item{ font-size:.8rem; text-align:center; color:var(--brand-grey); }
.pd-trust-item i{ display:block; font-size:1.3rem; margin-bottom:6px; color:var(--brand-dark); }

.pd-tabs .nav-link{ color:var(--brand-grey); font-weight:600; border:none; border-bottom:2px solid transparent; padding:12px 22px; }
.pd-tabs .nav-link.active{ color:var(--brand-red); border-bottom-color:var(--brand-red); background:none; }
.pd-tab-content{ padding:26px 0; font-size:.92rem; color:#444; line-height:1.8; }
.spec-table{ width:100%; font-size:.88rem; }
.spec-table tr td{ padding:9px 0; border-bottom:1px solid #f0f0f0; }
.spec-table tr td:first-child{ color:var(--brand-grey); width:35%; }

.review-summary{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:24px; }
.review-score{ font-size:3rem; font-weight:700; line-height:1; }
.review-bar-row{ display:flex; align-items:center; gap:10px; font-size:.8rem; margin-bottom:4px; }
.review-bar-track{ flex-grow:1; height:6px; background:#eee; border-radius:3px; overflow:hidden; }
.review-bar-fill{ height:100%; background:#f5b301; }
.review-item{ border-bottom:1px solid #f0f0f0; padding:18px 0; }
.review-item .reviewer{ font-weight:600; font-size:.9rem; }
.review-item .review-date{ color:var(--brand-grey); font-size:.78rem; }

/* ---------- Auth Pages (login / register) ---------- */
.auth-wrapper{ min-height:calc(100vh - 250px); display:flex; align-items:center; padding:50px 0; }
.auth-card{
  border:1px solid #eee; border-radius:10px; padding:40px; max-width:460px; margin:0 auto; background:#fff;
}
.auth-card h3{ font-weight:700; margin-bottom:6px; }
.auth-card .sub{ color:var(--brand-grey); font-size:.9rem; margin-bottom:28px; }
.auth-side{
  background:linear-gradient(135deg,#1a1a1a,#2c2c2c);
  border-radius:10px; color:#fff; padding:50px; height:100%;
  display:flex; flex-direction:column; justify-content:center;
  background-image:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.65)), url('https://images.unsplash.com/photo-1556909114-44e3e70034e2?auto=format&fit=crop&w=1000&q=80');
  background-size:cover; background-position:center;
}
.auth-side .discount-tag{
  background:var(--brand-red); display:inline-block; padding:8px 18px; border-radius:4px; font-weight:700; font-size:1.3rem; margin-bottom:16px;
}
.auth-side ul{ list-style:none; padding:0; margin-top:20px; }
.auth-side ul li{ margin-bottom:12px; font-size:.9rem; display:flex; align-items:center; gap:10px; }
.auth-side ul li i{ color:var(--brand-red); }
.btn-auth-submit{
  background:var(--brand-red); color:#fff; border:none; padding:12px; border-radius:4px; font-weight:600; width:100%;
}
.btn-auth-submit:hover{ background:#a30d25; color:#fff; }
.social-auth-btn{
  border:1px solid #ddd; border-radius:4px; padding:10px; width:100%; background:#fff; font-size:.88rem; font-weight:500;
  display:flex; align-items:center; justify-content:center; gap:10px;
}
.social-auth-btn:hover{ background:#f7f7f7; }
.auth-divider{ display:flex; align-items:center; gap:14px; color:var(--brand-grey); font-size:.8rem; margin:22px 0; }
.auth-divider::before, .auth-divider::after{ content:""; flex:1; height:1px; background:#eee; }
.pw-strength{ height:4px; border-radius:2px; background:#eee; margin-top:6px; overflow:hidden; }
.pw-strength .fill{ height:100%; width:60%; background:#f5b301; }
.form-check-inline-link a{ color:var(--brand-red); font-weight:500; }
