:root {
  --navy: #0e1f3c;
  --navy-2: #152c52;
  --gold: #c8a24a;
  --gold-light: #e4c980;
  --cream: #f6f3ec;
  --ivory: #fffdf8;
  --ink: #20242c;
  --muted: #7c8291;
  --line: #e8e2d4;
}

.page-header {
  background: linear-gradient(rgba(15, 30, 61, .85), rgba(15, 30, 61, .9)), url('https://healthcaremonk.com/laksa-interiors/img/service-1.jpg') center/cover;
  padding: 70px 0 50px;
  text-align: center;
  color: #fff;
}

.page-header h1 {
  color: #fff;
  font-size: 2.2rem;
  margin: 6px 0 10px;
}

.breadcrumb-custom {
  color: #c7cee0;
  font-size: .9rem;
}

.breadcrumb-custom a {
  color: var(--gold);
}

/* ===== Shop toolbar ===== */
.shop-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 40px 32px 22px;
  flex-wrap: wrap;
  gap: 16px;
}

.cat-filters {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.cat-filters button {
  background: var(--ivory);
  border: 1px solid var(--line);
  color: var(--navy);
  padding: 9px 18px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: .2s;
}

.cat-filters button:hover {
  border-color: var(--gold);
  color: var(--gold);
}

.cat-filters button.active {
  background: var(--navy);
  border-color: var(--navy);
  color: #fff;
}

.result-count {
  font-size: 13.5px;
  color: var(--muted);
}

.sort-select {
  border: 1px solid var(--line);
  background: var(--ivory);
  padding: 9px 14px;
  border-radius: 30px;
  font-size: 13px;
  color: var(--navy);
  font-weight: 600;
}

/* ===== Product grid ===== */
.shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
}

.shop-page {
  padding: 10px 32px 90px;
  background: #f6f3ec;
}

.product-card {
  background: var(--ivory);
  border: 1px solid var(--line);
  border-radius: 3px;
  overflow: hidden;
  transition: box-shadow .3s, transform .3s;
  position: relative;
}

.product-card:hover {
  box-shadow: 0 22px 40px -18px rgba(14, 31, 60, .28);
  transform: translateY(-4px);
}

.product-media {
  position: relative;
  aspect-ratio: 4/5;
  overflow: hidden;
  background: #e7e2d3;
}

.product-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.product-card:hover .product-media img {
  transform: scale(1.08);
}

.product-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--navy);
  color: var(--gold-light);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: 2px;
  z-index: 2;
}

.product-tag.sale {
  background: var(--gold);
  color: var(--navy);
}

.shop-short {
  margin-left: auto;
}

h3.product-name a {
  color: #111;
}

/* hover-reveal action icons */
.product-actions {
  position: absolute;
  top: 14px;
  right: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 3;
}

.product-actions button {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 253, 248, .94);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--navy);
  box-shadow: 0 6px 14px rgba(14, 31, 60, .18);
  opacity: 0;
  transform: translateX(14px);
  transition: opacity .3s ease, transform .3s ease, background .2s, color .2s;
}

.product-card:hover .product-actions button {
  opacity: 1;
  transform: translateX(0);
}

.product-actions button:nth-child(2) {
  transition-delay: .05s;
}

.product-actions button svg {
  width: 16px;
  height: 16px;
}

.product-actions button:hover {
  background: var(--navy);
  color: var(--gold-light);
}

.product-actions button.wishlist.active {
  background: var(--gold);
  color: var(--navy);
}

.product-actions button.wishlist.active svg {
  fill: var(--navy);
}

.add-cart-bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--navy);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .4px;
  text-transform: uppercase;
  padding: 13px 0;
  transform: translateY(100%);
  transition: transform .32s ease;
  cursor: pointer;
  z-index: 2;
}

.add-cart-bar svg {
  width: 15px;
  height: 15px;
}

.product-card:hover .add-cart-bar {
  transform: translateY(0);
}

.add-cart-bar:hover {
  background: var(--gold);
  color: var(--navy);
}

.add-cart-bar.added {
  background: var(--gold);
  color: var(--navy);
}

.product-info {
  padding: 20px 20px 22px;
}

.product-cat {
  font-size: 11.5px;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
}

.product-name {
  font-family: 'Fraunces', serif;
  font-size: 18px;
  font-weight: 500;
  margin-top: 6px;
  line-height: 1.3;
}

.product-name a:hover {
  color: var(--gold);
}

.product-price {
  margin-top: 10px;
  font-size: 15px;
  font-weight: 700;
  color: var(--navy);
}

.product-price .old {
  color: var(--muted);
  text-decoration: line-through;
  font-weight: 500;
  margin-right: 8px;
}

.stars {
  display: flex;
  gap: 3px;
  margin-top: 8px;
}

.stars svg {
  width: 13px;
  height: 13px;
  fill: var(--gold);
}

.load-more {
  display: flex;
  justify-content: center;
  padding-top: 10px;
}

.load-more button {
  border: 1px solid var(--navy);
  background: transparent;
  color: var(--navy);
  padding: 14px 40px;
  border-radius: 2px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: .6px;
  text-transform: uppercase;
  cursor: pointer;
  transition: .25s;
}

.load-more button:hover {
  background: var(--navy);
  color: #fff;
}

.auth-shell {
  max-width: 1080px;
  margin: 60px auto 90px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--ivory);
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 30px 60px -30px rgba(14, 31, 60, .25);
}

.auth-visual {
  position: relative;
  background: linear-gradient(155deg, var(--navy), var(--navy-2));
  padding: 52px 44px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #fff;
  overflow: hidden;
}

.auth-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(45deg, rgba(200, 162, 74, .06) 0 2px, transparent 2px 34px);
}

.auth-visual::after {
  content: "";
  position: absolute;
  left: -40px;
  bottom: -60px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(200, 162, 74, .18), transparent 70%);
}

.auth-visual .brand {
  color: #fff;
  font-size: 26px;
  position: relative;
}

.auth-visual .brand span {
  color: var(--gold);
}

.auth-visual .visual-body {
  position: relative;
}

.auth-visual .visual-body .eyebrow {
  color: var(--gold-light);
  text-transform: uppercase;
  letter-spacing: 2.5px;
  font-size: 12px;
  font-weight: 700;
}

.auth-visual .visual-body h2 {
    font-size: 30px;
    font-weight: 500;
    margin-top: 14px;
    line-height: 1.35;
    color: #fff;
}
.auth-visual .visual-body p {
  margin-top: 16px;
  color: #b6bfd6;
  font-size: 14.5px;
  line-height: 1.75;
  max-width: 340px;
}

.visual-points {
  margin-top: 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  position: relative;
}

.visual-points div {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 13.5px;
  color: #d7dcea;
}

.visual-points svg {
  width: 18px;
  height: 18px;
  stroke: var(--gold-light);
  flex: none;
}

.visual-quote {
  position: relative;
  font-size: 13px;
  color: #9aa4bd;
  border-top: 1px solid rgba(255, 255, 255, .15);
  padding-top: 20px;
  line-height: 1.7;
}

.auth-form-side {
  padding: 52px 48px;
}

.auth-tabs {
  display: flex;
  background: var(--cream);
  border-radius: 30px;
  padding: 5px;
  margin-bottom: 32px;
}

.auth-tabs button {
  flex: 1;
  background: none;
  border: none;
  padding: 12px 0;
  border-radius: 26px;
  font-size: 13.5px;
  font-weight: 700;
  letter-spacing: .3px;
  color: var(--muted);
  cursor: pointer;
  transition: .25s;
}

.auth-tabs button.active {
  background: var(--navy);
  color: #fff;
}

.auth-panel {
  display: none;
}

.auth-panel.active {
  display: block;
  animation: fadeIn .35s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(6px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.auth-panel h1 {
  font-size: 26px;
  font-weight: 500;
}

.auth-panel .sub {
  color: var(--muted);
  font-size: 14px;
  margin-top: 8px;
  margin-bottom: 28px;
}

.field {
  margin-bottom: 18px;
}

.field label {
  display: block;
  font-size: 12.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--navy);
  margin-bottom: 7px;
}

.input-wrap {
  position: relative;
}

.input-wrap svg {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  stroke: var(--muted);
}

.input-wrap input {
  width: 100%;
  border: 1px solid var(--line);
  background: var(--cream);
  padding: 12px 14px 12px 42px;
  border-radius: 2px;
  font-size: 14px;
  font-family: inherit;
  color: var(--ink);
}

.input-wrap input:focus {
  outline: none;
  border-color: var(--gold);
  background: var(--ivory);
}

.toggle-pass {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: var(--muted);
  padding: 4px;
}

.toggle-pass svg {
  width: 16px;
  height: 16px;
  stroke: var(--muted);
}

.form-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.row-between {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: -6px 0 22px;
  font-size: 13px;
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #4a4f5c;
}

.checkbox-row input {
  width: 15px;
  height: 15px;
  accent-color: var(--gold);
}

.forgot-link {
  color: var(--navy);
  font-weight: 700;
}

.forgot-link:hover {
  color: var(--gold);
}

.submit-btn {
  width: 100%;
  background: var(--navy);
  color: #fff;
  border: none;
  padding: 15px;
  border-radius: 2px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .5px;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transition: .25s;
}

.submit-btn svg {
  width: 16px;
  height: 16px;
}

.submit-btn:hover {
  background: var(--gold);
  color: var(--navy);
}

.divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 26px 0;
  color: var(--muted);
  font-size: 12.5px;
  text-transform: uppercase;
  letter-spacing: .5px;
}

.divider::before,
.divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--line);
}

.social-row {
  display: flex;
  gap: 12px;
}

.social-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid var(--line);
  background: var(--ivory);
  padding: 11px;
  border-radius: 2px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--navy);
  cursor: pointer;
  transition: .2s;
}

.social-btn:hover {
  border-color: var(--gold);
  background: var(--cream);
}

.social-btn svg {
  width: 17px;
  height: 17px;
}

.switch-note {
  text-align: center;
  margin-top: 26px;
  font-size: 13.5px;
  color: var(--muted);
}

.switch-note button {
  background: none;
  border: none;
  color: var(--gold);
  font-weight: 700;
  cursor: pointer;
  font-size: 13.5px;
  font-family: inherit;
}

.terms-note {
  font-size: 12px;
  color: var(--muted);
  margin-top: 16px;
  line-height: 1.6;
}

.terms-note a {
  color: var(--navy);
  font-weight: 600;
  text-decoration: underline;
}
/* ===== Breadcrumb banner ===== */
  .singlepage-banner{position:relative;background:linear-gradient(135deg,var(--navy),var(--navy-2));padding:34px 32px;overflow:hidden;}
  .singlepage-banner::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(200,162,74,.045) 0 2px,transparent 2px 34px);}
    .singlepage-banner .breadcrumb{position:relative;color:#a9b2c8;font-size:14px;}
    .singlepage-banner .breadcrumb a{color:var(--gold-light);}
    .singlepage-banner .breadcrumb .sep{margin:0 8px;opacity:.5;}
    .singlepage-banner .breadcrumb .current{color:#fff;}

  /* ===== SECTION 1: Gallery + Info ===== */
  .product-main{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:56px 32px 20px;}

  .gallery{position:sticky;top:96px;align-self:start;}
  .gallery-main{position:relative;aspect-ratio:1/1;border-radius:4px;overflow:hidden;background:#e7e2d3;border:1px solid var(--line);}
  .gallery-main img{width:100%;height:100%;object-fit:cover;}
  .gallery-tag{position:absolute;top:14px;left:14px;background:var(--navy);color:var(--gold-light);font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;padding:6px 12px;border-radius:2px;z-index:2;}
  .gallery-nav{
    position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;
    background:rgba(255,253,248,.92);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;
    box-shadow:0 6px 14px rgba(14,31,60,.18);color:var(--navy);transition:.2s;
  }
  .gallery-nav:hover{background:var(--navy);color:var(--gold-light);}
  .gallery-nav.prev{left:14px;}
  .gallery-nav.next{right:14px;}
  .gallery-nav svg{width:18px;height:18px;}
  .gallery-counter{position:absolute;bottom:14px;right:14px;background:rgba(14,31,60,.75);color:#fff;font-size:12px;font-weight:600;padding:5px 11px;border-radius:20px;letter-spacing:.4px;}

  .thumb-row{display:flex;gap:12px;margin-top:16px;}
  .thumb{
    width:76px;height:76px;border-radius:3px;overflow:hidden;cursor:pointer;border:2px solid transparent;
    opacity:.6;transition:.2s;flex:none;
  }
  .thumb img{width:100%;height:100%;object-fit:cover;}
  .thumb:hover{opacity:.9;}
  .thumb.active{border-color:var(--gold);opacity:1;}

  .product-info h1{font-size:32px;font-weight:500;line-height:1.25;}
  .stars-row{display:flex;align-items:center;gap:10px;margin-top:12px;}
  .stars{display:flex;gap:3px;}
  .stars svg{width:15px;height:15px;fill:var(--gold);}
  .stars-row .rev-count{font-size:13.5px;color:var(--muted);}
  .stars-row .rev-count a{color:var(--navy);font-weight:600;text-decoration:underline;}

  .price-row{margin-top:20px;display:flex;align-items:baseline;gap:12px;}
  .price-row .price{font-size:28px;font-weight:700;color:var(--navy);}
  .price-row .old{font-size:18px;color:var(--muted);text-decoration:line-through;font-weight:500;}
  .price-row .save{background:var(--gold);color:var(--navy);font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:20px;letter-spacing:.3px;}

  .short-desc{margin-top:20px;color:#4a4f5c;line-height:1.75;font-size:15px;}

  .opt-group{margin-top:26px;}
  .opt-group label{display:block;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--navy);margin-bottom:10px;}
  .swatches{display:flex;gap:10px;}
  .swatch{width:34px;height:34px;border-radius:50%;cursor:pointer;border:2px solid transparent;box-shadow:0 0 0 1px var(--line);position:relative;transition:.2s;}
  .swatch.active{border-color:var(--gold);box-shadow:0 0 0 2px var(--ivory),0 0 0 4px var(--gold);}
  .size-pills{display:flex;gap:10px;}
  .size-pills button{padding:9px 18px;border-radius:30px;border:1px solid var(--line);background:var(--ivory);font-size:13.5px;font-weight:600;color:var(--navy);cursor:pointer;transition:.2s;}
  .size-pills button:hover{border-color:var(--gold);}
  .size-pills button.active{background:var(--navy);border-color:var(--navy);color:#fff;}

  .buy-row{display:flex;gap:14px;margin-top:32px;align-items:stretch;}
  .qty-stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:2px;background:var(--ivory);}
  .qty-stepper button{width:42px;background:none;border:none;font-size:18px;color:var(--navy);cursor:pointer;}
  .qty-stepper span{width:36px;text-align:center;font-weight:700;font-size:14px;}
  .add-cart-btn{padding: 15px;
    flex:1;background:var(--navy);color:#fff;border:none;border-radius:2px;font-size:14px;font-weight:700;
    letter-spacing:.5px;text-transform:uppercase;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:.25s;
  }
  .add-cart-btn svg{width:17px;height:17px;}
  .add-cart-btn:hover{background:var(--gold);color:var(--navy);}
  .add-cart-btn.added{background:var(--gold);color:var(--navy);}
  .wish-btn{
    width:52px;border:1px solid var(--line);background:var(--ivory);border-radius:2px;cursor:pointer;
    display:flex;align-items:center;justify-content:center;color:var(--navy);transition:.2s;flex:none;
  }
  .wish-btn svg{width:19px;height:19px;}
  .wish-btn:hover,.wish-btn.active{background:var(--navy);border-color:var(--navy);color:var(--gold-light);}
  .wish-btn.active svg{fill:var(--gold-light);}

  .meta-list{margin-top:30px;border-top:1px solid var(--line);padding-top:20px;}
  .meta-list div{display:flex;font-size:13.5px;padding:6px 0;}
  .meta-list div span:first-child{width:110px;color:var(--muted);font-weight:600;}
  .meta-list div span:last-child{color:var(--ink);}

  .trust-row{display:flex;gap:26px;margin-top:26px;padding-top:24px;border-top:1px solid var(--line);flex-wrap:wrap;}
  .trust-item{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);font-weight:600;}
  .trust-item svg{width:20px;height:20px;stroke:var(--gold);flex:none;}

  /* ===== SECTION 2: Tabs (Description / Additional Info / Reviews) ===== */
  .detail-tabs{padding:80px 32px 20px;}
  .tab-nav{display:flex;gap:8px;border-bottom:1px solid var(--line);}
  .tab-nav button{
    background:none;border:none;padding:16px 26px;font-size:14.5px;font-weight:700;color:var(--muted);
    cursor:pointer;position:relative;letter-spacing:.2px;transition:.2s;
  }
  .tab-nav button.active{color:var(--navy);}
  .tab-nav button.active::after{content:"";position:absolute;left:26px;right:26px;bottom:-1px;height:2px;background:var(--gold);}
  .tab-panel{display:none;padding:40px 0 10px;max-width:820px;}
  .tab-panel.active{display:block;}
  .tab-panel p{color:#4a4f5c;line-height:1.85;font-size:15px;margin-bottom:16px;}
  .tab-panel ul{margin:16px 0 16px 4px;}
  .tab-panel ul li{position:relative;padding-left:22px;color:#4a4f5c;line-height:1.8;font-size:15px;margin-bottom:8px;}
  .tab-panel ul li::before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;background:var(--gold);border-radius:50%;}

  .info-table{width:100%;border-collapse:collapse;margin-top:6px;}
  .info-table tr{border-bottom:1px solid var(--line);}
  .info-table td{padding:13px 0;font-size:14.5px;}
  .info-table td:first-child{width:180px;font-weight:700;color:var(--navy);}
  .info-table td:last-child{color:#4a4f5c;}

  /* Reviews */
  .review-summary{display:flex;gap:44px;align-items:center;margin-bottom:36px;flex-wrap:wrap;}
  .review-score{text-align:center;}
  .review-score .num{font-family:'Fraunces',serif;font-size:52px;font-weight:600;color:var(--navy);line-height:1;}
  .review-score .stars{justify-content:center;margin-top:8px;}
  .review-score .of{font-size:12.5px;color:var(--muted);margin-top:6px;}
  .bar-list{flex:1;min-width:220px;}
  .bar-row{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--muted);margin-bottom:7px;}
  .bar-row .track{flex:1;height:6px;background:var(--line);border-radius:6px;overflow:hidden;}
  .bar-row .fill{height:100%;background:var(--gold);}
  .write-review-btn{
    border:1px solid var(--navy);background:transparent;color:var(--navy);padding:12px 26px;border-radius:2px;
    font-size:13px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;cursor:pointer;transition:.2s;flex:none;
  }
  .write-review-btn:hover{background:var(--navy);color:#fff;}

  .review-item{padding:24px 0;border-top:1px solid var(--line);}
  .review-item:first-of-type{border-top:none;}
  .review-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;}
  .reviewer{display:flex;align-items:center;gap:12px;}
  .avatar{width:38px;height:38px;border-radius:50%;background:var(--navy);color:var(--gold-light);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;font-family:'Fraunces',serif;}
  .reviewer-name{font-weight:700;font-size:14.5px;}
  .review-date{font-size:12.5px;color:var(--muted);}
  .review-item p{margin-top:12px;}

  /* ===== SECTION 3: Related products carousel ===== */
  .related{padding:70px 32px 90px;}
  .section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px;flex-wrap:wrap;gap:16px;}
  .section-head .eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:2px;font-size:12px;font-weight:700;}
  .section-head h2{font-size:30px;font-weight:500;margin-top:8px;}
  .carousel-controls{display:flex;gap:10px;}
  .carousel-controls button{
    width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--ivory);color:var(--navy);
    display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s;
  }
  .carousel-controls button:hover{background:var(--navy);border-color:var(--navy);color:#fff;}
  .carousel-controls button svg{width:17px;height:17px;}

  .related-track-wrap{overflow:hidden;}
  .related-track{display:flex;gap:26px;transition:transform .45s cubic-bezier(.4,0,.2,1);}
  .rel-card{
    flex:0 0 calc(25% - 19.5px);background:var(--ivory);border:1px solid var(--line);border-radius:3px;overflow:hidden;
    transition:box-shadow .3s, transform .3s;
  }
  .rel-card:hover{box-shadow:0 22px 40px -18px rgba(14,31,60,.28);transform:translateY(-4px);}
  .rel-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:#e7e2d3;}
  .rel-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
  .rel-card:hover .rel-media img{transform:scale(1.08);}
  .rel-wish{
    position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:50%;background:rgba(255,253,248,.94);
    border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--navy);
    opacity:0;transform:translateX(10px);transition:opacity .3s,transform .3s;
  }
  .rel-card:hover .rel-wish{opacity:1;transform:translateX(0);}
  .rel-wish svg{width:14px;height:14px;}
  .rel-wish.active{background:var(--gold);}
  .rel-wish.active svg{fill:var(--navy);}
  .rel-cart-bar{
    position:absolute;left:0;right:0;bottom:0;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;
    font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;padding:11px 0;
    transform:translateY(100%);transition:transform .32s ease;cursor:pointer;
  }
  .rel-cart-bar svg{width:13px;height:13px;}
  .rel-card:hover .rel-cart-bar{transform:translateY(0);}
  .rel-cart-bar:hover{background:var(--gold);color:var(--navy);}
  .rel-info{padding:16px 16px 18px;}
  .rel-cat{font-size:10.5px;color:var(--gold);text-transform:uppercase;letter-spacing:1px;font-weight:700;}
  .rel-name{font-family:'Fraunces',serif;font-size:15.5px;font-weight:500;margin-top:5px;line-height:1.3;}
  .rel-price{margin-top:8px;font-size:14px;font-weight:700;color:var(--navy);}


.cart-section{padding:50px 0 80px;}
.cart-table{background:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(15,30,61,.05);overflow:hidden;}
.cart-table table{width:100%;margin:0;}
.cart-table thead th{background:var(--navy);color:#fff;padding:16px 20px;font-weight:600;font-size:.88rem;text-transform:uppercase;letter-spacing:.5px;}
.cart-table tbody td{padding:20px;vertical-align:middle;border-bottom:1px solid #f0f0f0;}
.cart-item-img{width:80px;height:80px;object-fit:cover;border-radius:6px;}
.cart-item-name{font-weight:600;color:var(--navy);font-family:'Playfair Display',serif;font-size:1.02rem;}
.cart-item-meta{font-size:.82rem;color:var(--muted);}
.remove-btn{color:#c0392b;border:none;background:none;font-size:1.05rem;}
.qty-box{display:flex;align-items:center;border:1px solid #e2e2e2;border-radius:30px;width:120px;overflow:hidden;}
.qty-box button{background:none;border:none;width:34px;height:40px;color:var(--navy);}
.qty-box input{width:44px;text-align:center;border:none;font-weight:600;color:var(--navy);}
.qty-box input:focus{outline:none;}

.coupon-row{background:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(15,30,61,.05);padding:24px;margin-top:24px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;}
.coupon-row input{border:1px solid #e2e2e2;border-radius:30px;padding:12px 20px;flex:1;min-width:220px;}
.btn-outline-navy{border:1.5px solid var(--navy);color:var(--navy);padding:12px 28px;border-radius:30px;background:transparent;font-weight:600;}
.btn-outline-navy:hover{background:var(--navy);color:#fff;}

.summary-card{background:#fff;border-radius:8px;box-shadow:0 4px 20px rgba(15,30,61,.06);padding:30px;position:sticky;top:110px;}
.summary-card h4{border-bottom:2px solid var(--gold);padding-bottom:14px;margin-bottom:20px;}
.summary-row{display:flex;justify-content:space-between;margin-bottom:14px;color:var(--muted);font-size:.95rem;}
.summary-row.total{border-top:1px solid #eee;padding-top:16px;margin-top:6px;font-weight:700;color:var(--navy);font-size:1.15rem;}
.btn-gold{background:var(--gold);border:none;color:var(--navy);font-weight:700;padding:14px;border-radius:30px;width:100%;margin-top:10px;transition:.3s;}
.btn-gold:hover{background:var(--navy);color:#fff;}
.continue-link{display:block;text-align:center;color:var(--navy);margin-top:16px;font-size:.9rem;font-weight:600;}
.continue-link:hover{color:var(--gold);}

.checkout-layout{display:grid;grid-template-columns:1fr 400px;gap:44px;padding:40px 32px 90px;align-items:start;}

  .form-card{background:var(--ivory);border:1px solid var(--line);border-radius:4px;padding:32px;margin-bottom:28px;}
  .form-card h3{font-size:18px;font-weight:600;margin-bottom:6px;}
  .form-card .sub{font-size:13px;color:var(--muted);margin-bottom:20px;}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .form-grid.full{grid-template-columns:1fr;}
  .field{margin-bottom:16px;}
  .field label{display:block;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--navy);margin-bottom:7px;}
  .field input,.field select,.field textarea{
    width:100%;border:1px solid var(--line);background:var(--cream);padding:12px 14px 12px 35px;border-radius:2px;
    font-size:14px;font-family:inherit;color:var(--ink);
  }
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:var(--ivory);}
  .checkbox-row{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#4a4f5c;margin-top:4px;}
  .checkbox-row input{width:16px;height:16px;accent-color:var(--gold);}

  .pay-options{display:flex;flex-direction:column;gap:12px;}
  .pay-option{
    border:1px solid var(--line);border-radius:3px;padding:16px 18px;display:flex;align-items:center;gap:14px;
    cursor:pointer;transition:.2s;background:var(--cream);
  }
  .pay-option.active{border-color:var(--gold);background:var(--ivory);box-shadow:0 0 0 1px var(--gold);}
  .pay-option input{width:17px;height:17px;accent-color:var(--gold);flex:none;}
  .pay-option .pay-label{font-weight:700;font-size:14px;flex:1;}
  .pay-option .pay-desc{font-size:12.5px;color:var(--muted);margin-top:2px;}
  .pay-option svg{width:22px;height:22px;stroke:var(--navy);flex:none;}
  .pay-card-fields{display:none;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px;padding-top:14px;border-top:1px dashed var(--line);}
  .pay-card-fields.show{display:grid;}
  .pay-card-fields .full{grid-column:1 / -1;}

  /* Summary sidebar */
  .summary-card{background:var(--ivory);border:1px solid var(--line);border-radius:4px;padding:28px;position:sticky;top:96px;}
  .summary-card h3{font-size:19px;font-weight:600;margin-bottom:18px;}
  .sum-item{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);}
  .sum-item img{width:52px;height:52px;object-fit:cover;border-radius:3px;flex:none;background:#e7e2d3;}
  .sum-item .name{font-size:13.5px;font-weight:600;line-height:1.3;}
  .sum-item .qty{font-size:12px;color:var(--muted);margin-top:2px;}
  .sum-item .price{margin-left:auto;font-weight:700;font-size:13.5px;color:var(--navy);white-space:nowrap;}
  .summary-row{display:flex;justify-content:space-between;font-size:14px;color:#4a4f5c;padding:10px 0;border-bottom:1px solid var(--line);}
  .summary-row.total{border-bottom:none;border-top:1px solid var(--line);margin-top:6px;padding-top:16px;font-size:17px;font-weight:700;color:var(--navy);}
  .summary-row .val{font-weight:600;color:var(--ink);}
  .summary-row.total .val{color:var(--navy);}
  .place-order-btn{
    display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:22px;
    background:var(--navy);color:#fff;border:none;padding:16px;border-radius:2px;font-size:14px;font-weight:700;
    letter-spacing:.5px;text-transform:uppercase;cursor:pointer;transition:.25s;
  }
  .place-order-btn:hover{background:var(--gold);color:var(--navy);}
  .place-order-btn svg{width:16px;height:16px;}
  .secure-note{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:16px;font-size:12px;color:var(--muted);}
  .secure-note svg{width:14px;height:14px;stroke:var(--gold);}
/* ---------- Breadcrumb / Page head ---------- */
  .page-head{
    background:var(--navy) ;
    color:#f4efe3;
    padding:38px 32px 46px;
  }
  .page-head-inner{max-width:1180px;margin:0 auto;}
  .crumb{font-size:12px;color:#c9c2ac;letter-spacing:.04em;margin-bottom:10px;}
  .crumb a{color:var(--gold-light);}
  .crumb span{margin:0 6px;opacity:.6;}
  .page-head h1{font-size:34px;font-weight:500;margin:0;color:#fbf8f0;}
  .page-head p{margin:8px 0 0;color:#c9c2ac;font-size:14px;max-width:520px;}

  /* ---------- Layout ---------- */
  .account-wrap{
    max-width:1180px;
    margin:-28px auto 80px;
    padding:0 32px;
    display:grid;
    grid-template-columns:250px 1fr;
    gap:28px;
    align-items:start;
  }
  @media (max-width:820px){
    .account-wrap{grid-template-columns:1fr;}
  }

  /* Sidebar */
  .side-card{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:0 18px 40px -30px rgba(12,35,64,.35);
  }
  .side-user{
    padding:22px 20px;
    border-bottom:1px solid var(--line);
    display:flex;
    align-items:center;
    gap:12px;
  }
  .avatar{
    width:44px;height:44px;border-radius:50%;
    background:var(--navy);
    color:var(--gold-light);
    font-family:'Fraunces',serif;
    font-size:17px;
    display:flex;align-items:center;justify-content:center;
    flex-shrink:0;
  }
  .side-user-name{font-size:14.5px;font-weight:700;}
  .side-user-since{font-size:12px;color:var(--ink-muted);margin-top:2px;}

  .side-nav{padding:10px;}
  .side-nav button{
    width:100%;
    text-align:left;
    background:none;
    border:none;
    font-family:'Manrope',sans-serif;
    font-size:14px;
    font-weight:600;
    color:var(--ink);
    padding:13px 14px;
    border-radius:var(--radius);
    display:flex;
    align-items:center;
    gap:11px;
    cursor:pointer;
    border-left:3px solid transparent;
    transition:background .15s, color .15s, border-color .15s;
  }
  .side-nav button svg{width:17px;height:17px;flex-shrink:0;stroke:var(--ink-muted);transition:stroke .15s;}
  .side-nav button:hover{background:#f4efe3;}
  .side-nav button.active{
    background:#f4efe3;
    color:var(--navy);
    border-left-color:var(--gold);
  }
  .side-nav button.active svg{stroke:var(--navy);}
  .side-nav .divider{height:1px;background:var(--line);margin:8px 6px;}
  .side-nav button.logout{color:#a13d3d;}
  .side-nav button.logout svg{stroke:#a13d3d;}

  /* Content panels */
  .panel{
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:30px 32px;
    box-shadow:0 18px 40px -30px rgba(12,35,64,.35);
    display:none;
  }
  .panel.active{display:block;}
  .panel-title{
    font-size:21px;
    font-weight:500;
    margin:0 0 6px;
  }
  .panel-sub{font-size:13.5px;color:var(--ink-muted);margin:0 0 26px;}

  /* Dashboard stat cards */
  .stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:30px;}
  @media (max-width:600px){.stat-row{grid-template-columns:1fr;}}
  .stat-card{
    border:1px solid var(--line);
    border-top:3px solid var(--gold);
    padding:18px 18px 16px;
    border-radius:var(--radius);
    background:#fffdf8;
  }
  .stat-num{font-family:'Fraunces',serif;font-size:28px;color:var(--navy);}
  .stat-label{font-size:12.5px;color:var(--ink-muted);margin-top:4px;letter-spacing:.02em;}

  .section-label{
    font-size:13px;
    font-weight:700;
    color:var(--navy);
    margin:0 0 14px;
    padding-bottom:10px;
    border-bottom:1px solid var(--line);
  }

  /* Table */
  table{width:100%;border-collapse:collapse;font-size:13.5px;}
  thead th{
    text-align:left;
    font-size:11.5px;
    letter-spacing:.05em;
    color:var(--ink-muted);
    font-weight:700;
    padding:0 14px 10px;
    border-bottom:1px solid var(--line);
  }
  tbody td{padding:15px 14px;border-bottom:1px solid var(--line);vertical-align:middle;}
  tbody tr:last-child td{border-bottom:none;}
  .order-id{font-weight:700;color:var(--navy);}
  .badge{
    display:inline-block;
    font-size:11.5px;
    font-weight:700;
    padding:4px 10px;
    border-radius:20px;
  }
  .badge.delivered{background:var(--success-bg);color:var(--success);}
  .badge.processing{background:var(--pending-bg);color:var(--pending);}
  .badge.transit{background:#e8eef6;color:var(--navy-soft);}
  .link-view{color:var(--navy);font-weight:700;font-size:13px;border-bottom:1px solid var(--gold);padding-bottom:1px;}
  .link-view:hover{color:var(--gold);}

  /* Addresses */
  .addr-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  @media (max-width:600px){.addr-grid{grid-template-columns:1fr;}}
  .addr-card{
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:20px;
    position:relative;
  }
  .addr-card h4{margin:0 0 4px;font-size:12px;letter-spacing:.06em;color:var(--gold);text-transform:none;font-weight:800;}
  .addr-card p{margin:12px 0 0;font-size:14px;line-height:1.65;color:var(--ink);}
  .addr-edit{
    position:absolute;top:18px;right:18px;
    font-size:12.5px;font-weight:700;color:var(--navy);
    border-bottom:1px solid var(--gold);
  }

  /* Forms */
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  @media (max-width:600px){.form-grid{grid-template-columns:1fr;}}
  .field{display:flex;flex-direction:column;gap:7px;margin-bottom:20px;}
  .field label{font-size:12.5px;font-weight:700;color:var(--navy);}
  .field input{
    border:1px solid var(--line);
    padding:11px 13px;
    font-size:14px;
    font-family:'Manrope',sans-serif;
    border-radius:var(--radius);
    background:#fdfcf9;
    color:var(--ink);
  }
  .field input:focus{outline:none;border-color:var(--gold);background:#fff;}
  .form-divider{
    margin:6px 0 22px;
    padding-top:20px;
    border-top:1px solid var(--line);
    font-size:12px;
    letter-spacing:.05em;
    color:var(--ink-muted);
    font-weight:700;
  }
  .btn-gold{
    background:var(--navy);
    color:#f4efe3;
    border:none;
    padding:13px 26px;
    font-size:13.5px;
    font-weight:700;
    letter-spacing:.03em;
    border-radius:var(--radius);
    cursor:pointer;
    transition:background .2s;
  }
  .btn-gold:hover{background:var(--navy-soft);}

  .welcome-line{font-size:14.5px;line-height:1.7;color:var(--ink);margin-bottom:26px;}
  .welcome-line strong{color:var(--navy);}
  .welcome-line .out{color:var(--gold);font-weight:700;border-bottom:1px solid var(--gold);cursor:pointer;}
@media(max-width:1080px) {
  .shop-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .shop-page {
    padding: 0px;
  }
  .rel-card{flex:0 0 calc(33.333% - 17.5px);}
}

  @media(max-width:992px){
    .auth-shell{grid-template-columns:1fr;max-width:520px;margin:36px auto 70px;}
    .auth-visual{display:none;}
     .product-main{grid-template-columns:1fr;gap:36px;}
      .checkout-layout{grid-template-columns:1fr;}
    .summary-card{position:static;}
    .gallery{position:static;}
  }
   @media(max-width:767px){
    .form-grid,.pay-card-fields{grid-template-columns:1fr;}
    .form-card{padding:22px;}
    .step-sep{width:26px;margin:0 8px;}
    .step span.step-text{display:none;}
    .wrap,.header-row,.page-banner,.steps,.checkout-layout{padding-left:20px;padding-right:20px;}
   
  }
@media(max-width:560px) {
  .auth-shell {
    margin: 24px 16px 60px;
    border-radius: 4px;
  }

  .auth-form-side {
    padding: 38px 24px;
  }

  .form-grid-2 {
    grid-template-columns: 1fr;
  }

  .social-row {
    flex-direction: column;
  }

  .shop-grid {
    grid-template-columns: repeat(2, 1fr);
    padding-left: 0;
    padding-right: 0;
    gap: 10px;
  }

  .wrap,
  .header-row,
  .page-banner,
  .shop-toolbar {
    padding-left: 20px;
    padding-right: 20px;
  }
}


.panel-order{
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:30px 32px;
    box-shadow:0 18px 40px -30px rgba(12,35,64,.35);
    margin-bottom:22px;
  }

  .order-top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:18px;margin-bottom:24px;}
  .order-top h2{font-size:21px;font-weight:500;margin:0 0 4px;}
  .order-top .meta{font-size:13px;color:var(--ink-muted);}
  .badge{display:inline-block;font-size:12px;font-weight:700;padding:5px 13px;border-radius:20px;}
  .badge.delivered{background:var(--success-bg);color:var(--success);}
  .badge.processing{background:var(--pending-bg);color:var(--pending);}
  .badge.transit{background:#e8eef6;color:var(--navy-soft);}

  .tracker{display:flex;gap:0;margin-bottom:8px;}
  .tstep{flex:1;text-align:center;position:relative;font-size:11.5px;color:var(--ink-muted);font-weight:700;letter-spacing:.03em;}
  .tstep .dot{width:11px;height:11px;border-radius:50%;background:var(--line);margin:0 auto 8px;position:relative;z-index:2;}
  .tstep .bar{position:absolute;top:5px;left:-50%;width:100%;height:2px;background:var(--line);z-index:1;}
  .tstep:first-child .bar{display:none;}
  .tstep.done .dot{background:var(--gold);}
  .tstep.done .bar{background:var(--gold);}
  .tstep.done{color:var(--navy);}

  .section-label{font-size:13px;font-weight:700;color:var(--navy);margin:0 0 14px;padding-bottom:10px;border-bottom:1px solid var(--line);}

  table{width:100%;border-collapse:collapse;font-size:13.5px;}
  thead th{text-align:left;font-size:11.5px;letter-spacing:.05em;color:var(--ink-muted);font-weight:700;padding:0 14px 10px;border-bottom:1px solid var(--line);}
  tbody td{padding:15px 14px;border-bottom:1px solid var(--line);vertical-align:middle;}
  tbody tr:last-child td{border-bottom:none;}
  .item-name{font-weight:700;color:var(--ink);}
  .item-sku{font-size:12px;color:var(--ink-muted);margin-top:2px;}
  td.num, th.num{text-align:right;}

  tfoot td{padding:10px 14px;border:none;font-size:13.5px;}
  tfoot tr.grand td{font-weight:800;color:var(--navy);font-size:15px;border-top:1px solid var(--line);padding-top:16px;}

  .info-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  @media (max-width:600px){.info-grid{grid-template-columns:1fr;}}
  .info-card h4{margin:0 0 4px;font-size:12px;letter-spacing:.06em;color:var(--gold);font-weight:800;}
  .info-card p{margin:12px 0 0;font-size:14px;line-height:1.65;color:var(--ink);}

  .back-link{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--navy);border-bottom:1px solid var(--gold);margin-bottom:22px;}
  .back-link svg{width:14px;height:14px;stroke:var(--navy);}

  .not-found{padding:60px 0;text-align:center;color:var(--ink-muted);}