/* ══════════════════════════════════════════
   Sanatan Bliss Sacred Shop — Stylesheet
   v1.0.0
══════════════════════════════════════════ */

:root {
  --sb-maroon:   #5C1A1A;
  --sb-deep:     #3A0A0A;
  --sb-rich:     #7B2020;
  --sb-saffron:  #D4620A;
  --sb-saff2:    #F07830;
  --sb-gold:     #C4972A;
  --sb-goldlt:   #E8C870;
  --sb-cream:    #FDF6E8;
  --sb-parch:    #F2E4C4;
  --sb-parchdk:  #E8D4A8;
  --sb-warmw:    #FFFBF2;
  --sb-text:     #2A1008;
  --sb-textmd:   #5C3010;
  --sb-textlt:   #9A6840;
  --sb-border:   rgba(196,151,42,0.25);
  --sb-shadow:   0 8px 40px rgba(90,20,0,0.12);
  --sb-shadc:    0 4px 24px rgba(90,20,0,0.09);
  --sb-r:        14px;
  --sb-tr:       0.28s cubic-bezier(0.4,0,0.2,1);
}

/* ── WRAP ── */
.sb-shop-wrap {
  background: var(--sb-warmw);
  position: relative;
  z-index: 1;
}

/* ── HERO ── */
.sb-hero {
  background: linear-gradient(160deg, var(--sb-deep) 0%, #5C1010 40%, #8B2800 100%);
  padding: 5rem 2rem 4rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.sb-hero-om {
  position: absolute;
  font-family: 'Tiro Devanagari Sanskrit', 'Noto Serif Devanagari', serif;
  font-size: clamp(12rem,28vw,26rem);
  opacity: 0.04;
  top: 50%; left: 50%;
  transform: translate(-50%,-50%);
  color: var(--sb-goldlt);
  pointer-events: none;
  line-height: 1;
  user-select: none;
}
.sb-hero-title {
  font-family: 'Cinzel', 'Palatino Linotype', serif;
  font-size: clamp(2rem,5vw,3.6rem);
  font-weight: 400;
  color: var(--sb-goldlt);
  letter-spacing: .08em;
  position: relative;
  margin: 0;
}
.sb-hero-title span { color: var(--sb-saff2); font-weight: 600; }
.sb-hero-divider {
  width: 180px; height: 1px;
  background: linear-gradient(90deg,transparent,var(--sb-gold),transparent);
  margin: 1.2rem auto;
}
.sb-hero-hindi {
  font-family: 'Tiro Devanagari Sanskrit','Noto Serif Devanagari',serif;
  font-size: 1.1rem;
  color: rgba(232,200,112,.7);
  position: relative;
  margin-bottom: .5rem;
}
.sb-hero-desc {
  font-family: Georgia, serif;
  font-size: 1.1rem;
  color: rgba(245,228,168,.75);
  max-width: 520px;
  margin: .5rem auto 0;
  font-style: italic;
  line-height: 1.6;
  position: relative;
}
.sb-hero-badges {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5rem;
  margin-top: 2rem;
  position: relative;
}
.sb-hbadge {
  font-size: .82rem;
  color: rgba(232,200,112,.65);
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* ── CATEGORY NAV ── */
.sb-cat-nav {
  background: var(--sb-deep);
  border-bottom: 1px solid rgba(196,151,42,.15);
  position: sticky;
  top: 0;
  z-index: 100;
}
.sb-cat-nav-inner {
  max-width: 1340px;
  margin: 0 auto;
  padding: 0 2rem;
  display: flex;
  overflow-x: auto;
  scrollbar-width: none;
}
.sb-cat-nav-inner::-webkit-scrollbar { display: none; }
.sb-cat-tab {
  display: block;
  color: rgba(232,200,112,.6);
  text-decoration: none;
  font-family: Georgia, serif;
  font-size: .88rem;
  letter-spacing: .08em;
  padding: .65rem 1.1rem;
  white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: all var(--sb-tr);
}
.sb-cat-tab:hover, .sb-cat-tab.active {
  color: var(--sb-goldlt);
  border-bottom-color: var(--sb-saffron);
}

/* ── CATALOG LAYOUT ── */
.sb-catalog-wrap {
  max-width: 1340px;
  margin: 0 auto;
  padding: 2.5rem 2rem;
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 2.5rem;
}

/* ── SIDEBAR ── */
.sb-sidebar { position: sticky; top: 60px; height: fit-content; }
.sb-sbox {
  background: white;
  border-radius: var(--sb-r);
  box-shadow: var(--sb-shadc);
  border: 1px solid var(--sb-border);
  overflow: hidden;
}
.sb-shead {
  background: linear-gradient(135deg,var(--sb-maroon),var(--sb-rich));
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.sb-shead h3 {
  font-family: 'Cinzel','Palatino Linotype',serif;
  font-size: .78rem;
  letter-spacing: .18em;
  color: var(--sb-goldlt);
  text-transform: uppercase;
  margin: 0;
}
.sb-ssec {
  padding: 1.1rem 1.25rem;
  border-bottom: 1px solid var(--sb-parch);
}
.sb-ssec:last-child { border-bottom: none; }
.sb-ssec h4 {
  font-family: 'Cinzel','Palatino Linotype',serif;
  font-size: .7rem;
  letter-spacing: .18em;
  color: var(--sb-textmd);
  text-transform: uppercase;
  margin: 0 0 .8rem;
}
.sb-fi {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .35rem 0;
  font-size: .95rem;
  color: var(--sb-textmd);
  text-decoration: none;
  transition: color var(--sb-tr);
}
.sb-fi:hover, .sb-fi.active { color: var(--sb-saffron); }
.sb-cnt {
  margin-left: auto;
  font-size: .75rem;
  color: var(--sb-textlt);
  background: var(--sb-parch);
  padding: .05rem .45rem;
  border-radius: 10px;
}
.sb-search-wrap {
  display: flex;
  gap: .4rem;
}
.sb-search-input {
  flex: 1;
  padding: .5rem .75rem;
  border: 1px solid var(--sb-parchdk);
  border-radius: 8px;
  font-size: .95rem;
  outline: none;
  transition: border-color var(--sb-tr);
}
.sb-search-input:focus { border-color: var(--sb-saffron); }
.sb-search-btn {
  padding: .5rem .9rem;
  background: var(--sb-saffron);
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 1rem;
}
.sb-wa-side {
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .55rem 1rem;
  background: linear-gradient(135deg,#1A6E30,#25A244);
  color: white;
  border-radius: 8px;
  text-decoration: none;
  font-size: .85rem;
  font-weight: 600;
  transition: all var(--sb-tr);
  margin-top: .25rem;
}
.sb-wa-side:hover { background: linear-gradient(135deg,#145225,#1D8A37); }

/* ── TOOLBAR ── */
.sb-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.75rem;
  flex-wrap: wrap;
  gap: 1rem;
}
.sb-rcount { font-size: .9rem; color: var(--sb-textlt); font-style: italic; }
.sb-rcount strong { color: var(--sb-maroon); font-style: normal; }
.sb-sselect {
  padding: .45rem 1rem;
  border: 1px solid var(--sb-parchdk);
  border-radius: 8px;
  font-size: .95rem;
  color: var(--sb-text);
  background: white;
  cursor: pointer;
  outline: none;
}

/* ── PRODUCT CARDS ── */
.sb-products-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill,minmax(210px,1fr));
  gap: 1.25rem;
}
.sb-pcard {
  background: white;
  border-radius: var(--sb-r);
  overflow: hidden;
  box-shadow: var(--sb-shadc);
  border: 1px solid var(--sb-border);
  transition: transform var(--sb-tr), box-shadow var(--sb-tr);
  position: relative;
}
.sb-pcard:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 48px rgba(90,20,0,.16);
}
.sb-cbadge {
  position: absolute;
  top: 10px; left: 10px;
  z-index: 2;
  font-family: 'Cinzel','Palatino Linotype',serif;
  font-size: .6rem;
  letter-spacing: .1em;
  padding: .22rem .6rem;
  border-radius: 20px;
  text-transform: uppercase;
  font-weight: 600;
}
.b-popular { background: var(--sb-saffron); color: white; }
.b-new     { background: #1A5C3A; color: #90EEC0; }
.b-rare    { background: var(--sb-deep); color: var(--sb-goldlt); }
.b-artisan { background: #5C3A00; color: #F5C860; }
.b-organic { background: #1C4A1C; color: #98E898; }

.sb-cimg-wrap {
  display: block;
  width: 100%;
  height: 175px;
  overflow: hidden;
  background: linear-gradient(145deg,var(--sb-parch),var(--sb-cream),var(--sb-parchdk));
  border-bottom: 1px solid var(--sb-border);
}
.sb-cimg-photo {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform var(--sb-tr);
}
.sb-pcard:hover .sb-cimg-photo { transform: scale(1.05); }
.sb-cimg-emoji {
  width: 100%; height: 175px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4.5rem;
  background: linear-gradient(145deg,var(--sb-parch),var(--sb-cream));
}
.sb-cbody { padding: 1rem 1.1rem 1.1rem; }
.sb-ccat {
  font-family: 'Cinzel','Palatino Linotype',serif;
  font-size: .62rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--sb-saffron);
  margin-bottom: .3rem;
}
.sb-cname {
  font-family: Georgia, 'Palatino Linotype', serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--sb-text);
  line-height: 1.3;
  margin: 0 0 .2rem;
}
.sb-cname a { color: inherit; text-decoration: none; }
.sb-cname a:hover { color: var(--sb-maroon); }
.sb-chindi {
  font-family: 'Tiro Devanagari Sanskrit','Noto Serif Devanagari',serif;
  font-size: .78rem;
  color: var(--sb-textlt);
  margin-bottom: .6rem;
}
.sb-cdesc {
  font-size: .85rem;
  color: var(--sb-textmd);
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: .85rem;
}
.sb-cfoot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: .75rem;
  border-top: 1px solid var(--sb-parch);
}
.sb-cplabel { font-size: .72rem; color: var(--sb-textlt); letter-spacing: .05em; text-transform: uppercase; }
.sb-cpval   { font-family: 'Cinzel',serif; font-size: .8rem; color: var(--sb-saffron); font-weight: 600; }
.sb-benq {
  padding: .45rem 1rem;
  background: linear-gradient(135deg,var(--sb-saffron),var(--sb-saff2));
  color: white;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  font-family: 'Cinzel','Palatino Linotype',serif;
  font-size: .65rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  font-weight: 600;
  transition: all var(--sb-tr);
  text-decoration: none;
  white-space: nowrap;
}
.sb-benq:hover {
  background: linear-gradient(135deg,var(--sb-maroon),var(--sb-rich));
  transform: translateY(-1px);
}

/* ── PAGINATION ── */
.sb-pagination {
  display: flex;
  justify-content: center;
  gap: .5rem;
  margin-top: 3rem;
  flex-wrap: wrap;
}
.sb-pagination .page-numbers {
  padding: .5rem 1rem;
  border: 1px solid var(--sb-parchdk);
  border-radius: 8px;
  text-decoration: none;
  color: var(--sb-textmd);
  font-size: .9rem;
  transition: all var(--sb-tr);
}
.sb-pagination .page-numbers.current,
.sb-pagination .page-numbers:hover {
  background: var(--sb-maroon);
  color: var(--sb-goldlt);
  border-color: var(--sb-maroon);
}

/* ── EMPTY STATE ── */
.sb-empty {
  text-align: center;
  padding: 5rem 2rem;
  color: var(--sb-textlt);
}
.sb-empty-icon { font-size: 3.5rem; display: block; margin-bottom: 1rem; }
.sb-empty h3   { font-family: 'Cinzel',serif; font-size: 1.2rem; color: var(--sb-maroon); margin-bottom: .5rem; }
.sb-empty p    { font-size: 1rem; margin-bottom: 1.5rem; }
.sb-btn-primary {
  display: inline-block;
  padding: .75rem 2rem;
  background: linear-gradient(135deg,var(--sb-saffron),var(--sb-saff2));
  color: white;
  border-radius: 10px;
  text-decoration: none;
  font-family: 'Cinzel',serif;
  font-size: .85rem;
  letter-spacing: .1em;
  transition: all var(--sb-tr);
}
.sb-btn-primary:hover { background: linear-gradient(135deg,var(--sb-maroon),var(--sb-rich)); }

/* ══════════════════════════════════════════
   SINGLE PRODUCT PAGE
══════════════════════════════════════════ */
.sb-detail-wrap { padding-bottom: 4rem; }

.sb-breadcrumb {
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.25rem 2rem .5rem;
  font-size: .85rem;
  color: var(--sb-textlt);
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  align-items: center;
}
.sb-breadcrumb a { color: var(--sb-saffron); text-decoration: none; }
.sb-breadcrumb a:hover { text-decoration: underline; }

.sb-detail-grid {
  max-width: 1100px;
  margin: 1.5rem auto 0;
  padding: 0 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5rem;
  align-items: start;
}

/* Images */
.sb-detail-images {}
.sb-main-img {
  background: linear-gradient(145deg,var(--sb-parch),var(--sb-cream),var(--sb-parchdk));
  border-radius: 20px;
  overflow: hidden;
  height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--sb-shadow);
  border: 1px solid var(--sb-border);
}
.sb-main-img img {
  width: 100%; height: 100%;
  object-fit: cover;
}
.sb-img-emoji {
  font-size: 9rem;
  text-align: center;
}
.sb-thumbs {
  display: flex;
  gap: .5rem;
  margin-top: .75rem;
}
.sb-thumb {
  flex: 1;
  height: 72px;
  background: var(--sb-parch);
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  transition: all var(--sb-tr);
  opacity: .7;
}
.sb-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sb-thumb.active { border-color: var(--sb-gold); opacity: 1; }
.sb-thumb:hover  { opacity: 1; border-color: var(--sb-saffron); }

/* Product info */
.sb-dcat {
  font-family: 'Cinzel','Palatino Linotype',serif;
  font-size: .7rem;
  letter-spacing: .2em;
  color: var(--sb-saffron);
  text-transform: uppercase;
  margin-bottom: .5rem;
}
.sb-dname {
  font-family: Georgia, 'Palatino Linotype', serif;
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--sb-maroon);
  line-height: 1.2;
  margin: 0 0 .3rem;
}
.sb-dhindi {
  font-family: 'Tiro Devanagari Sanskrit','Noto Serif Devanagari',serif;
  font-size: 1.1rem;
  color: var(--sb-textlt);
  margin-bottom: 1.25rem;
}
.sb-ddiv {
  height: 1px;
  background: linear-gradient(90deg,var(--sb-gold),transparent);
  margin: 1.25rem 0;
}
.sb-ddesc { font-size: 1.05rem; line-height: 1.75; color: var(--sb-textmd); margin-bottom: 1.5rem; }
.sb-ddesc p { margin-bottom: 1em; }
.sb-dattrs { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1.25rem; }
.sb-atag {
  padding: .3rem .8rem;
  background: var(--sb-parch);
  border: 1px solid var(--sb-parchdk);
  border-radius: 20px;
  font-size: .82rem;
  color: var(--sb-textmd);
}
.sb-avail { font-size: .9rem; font-weight: 600; margin-bottom: .25rem; }

/* Enquiry Box */
.sb-ebox {
  background: linear-gradient(145deg,var(--sb-cream),var(--sb-parch));
  border: 1px solid var(--sb-border);
  border-radius: var(--sb-r);
  padding: 1.5rem;
  margin-top: 1rem;
}
.sb-ebox-title {
  font-family: 'Cinzel','Palatino Linotype',serif;
  font-size: .85rem;
  letter-spacing: .15em;
  color: var(--sb-maroon);
  text-transform: uppercase;
  margin: 0 0 1rem;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.sb-ebox-title::after { content:''; flex:1; height:1px; background:var(--sb-border); }
.sb-fr2 { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.sb-fg  { display: flex; flex-direction: column; gap: .3rem; margin-bottom: .75rem; }
.sb-fg label { font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--sb-textlt); }
.sb-req { color: var(--sb-saffron); }
.sb-fg input, .sb-fg select, .sb-fg textarea {
  padding: .6rem .85rem;
  border: 1px solid var(--sb-parchdk);
  border-radius: 8px;
  font-size: 1rem;
  color: var(--sb-text);
  background: white;
  outline: none;
  font-family: Georgia, serif;
  transition: border-color var(--sb-tr), box-shadow var(--sb-tr);
}
.sb-fg input:focus, .sb-fg select:focus, .sb-fg textarea:focus {
  border-color: var(--sb-saffron);
  box-shadow: 0 0 0 3px rgba(212,98,10,.1);
}
.sb-bsenq {
  width: 100%; padding: .85rem;
  background: linear-gradient(135deg,var(--sb-maroon),var(--sb-rich));
  color: var(--sb-goldlt);
  border: none; border-radius: 10px; cursor: pointer;
  font-family: 'Cinzel','Palatino Linotype',serif;
  font-size: .85rem; letter-spacing: .15em; text-transform: uppercase; font-weight: 600;
  transition: all var(--sb-tr);
  display: flex; align-items: center; justify-content: center; gap: .5rem;
  margin-bottom: .75rem;
}
.sb-bsenq:hover { background: linear-gradient(135deg,var(--sb-deep),var(--sb-maroon)); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(90,20,0,.3); }
.sb-bsenq:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.sb-bwa {
  width: 100%; padding: .85rem;
  background: linear-gradient(135deg,#1A6E30,#25A244);
  color: white; border: none; border-radius: 10px; cursor: pointer;
  font-family: 'Cinzel','Palatino Linotype',serif;
  font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 600;
  transition: all var(--sb-tr);
  display: flex; align-items: center; justify-content: center; gap: .6rem;
}
.sb-bwa:hover { background: linear-gradient(135deg,#145225,#1D8A37); transform: translateY(-2px); }
.sb-form-note { font-size: .78rem; color: var(--sb-textlt); text-align: center; margin-top: .6rem; }
.sb-form-msg { padding: .6rem .9rem; border-radius: 6px; font-size: .9rem; margin-bottom: .75rem; }
.sb-msg-error   { background: #fff0f0; color: #8B0000; border: 1px solid #FFAAAA; }
.sb-msg-success { background: #f0fff4; color: #1A6E30; border: 1px solid #A3EEBB; }

/* Thank you */
.sb-ty { text-align: center; padding: 1.5rem 1rem; }
.sb-ty-icon { font-size: 3rem; display: block; margin-bottom: .75rem; }
.sb-ty h4 { font-family: 'Cinzel',serif; font-size: 1rem; color: var(--sb-maroon); margin-bottom: .4rem; }
.sb-ty p  { font-size: .95rem; color: var(--sb-textmd); margin-bottom: 1rem; line-height: 1.6; }
.sb-back-link { color: var(--sb-saffron); font-style: italic; }

/* Related */
.sb-related { max-width: 1100px; margin: 3rem auto 0; padding: 0 2rem 4rem; }
.sb-related-head { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem; }
.sb-rel-line { flex: 1; height: 1px; background: linear-gradient(90deg,var(--sb-gold),transparent); }
.sb-rel-line.r { background: linear-gradient(270deg,var(--sb-gold),transparent); }
.sb-rel-title { text-align: center; white-space: nowrap; }
.sb-rel-title span { color: var(--sb-gold); font-size: 1.1rem; display: block; margin-bottom: .3rem; }
.sb-rel-title h2 { font-family: 'Cinzel',serif; font-size: 1rem; color: var(--sb-maroon); letter-spacing: .15em; text-transform: uppercase; margin: 0; }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .sb-catalog-wrap { grid-template-columns: 220px 1fr; gap: 1.5rem; }
}
@media (max-width: 860px) {
  .sb-catalog-wrap { grid-template-columns: 1fr; }
  .sb-sidebar { position: static; }
  .sb-detail-grid { grid-template-columns: 1fr; }
  .sb-related { padding: 0 1rem 3rem; }
}
@media (max-width: 600px) {
  .sb-hero { padding: 3rem 1.5rem; }
  .sb-products-grid { grid-template-columns: repeat(2,1fr); }
  .sb-fr2 { grid-template-columns: 1fr; }
  .sb-catalog-wrap { padding: 1.5rem 1rem; }
  .sb-detail-grid { padding: 0 1rem; gap: 2rem; }
  .sb-breadcrumb { padding: 1rem 1rem .5rem; }
  .sb-main-img { height: 280px; }
}

/* ══════════════════════════════════════════
   CATEGORY COLOUR THEMES  v1.1
   Each category gets its own palette —
   hero, card accents, section headers,
   product page enquiry box, badges.
══════════════════════════════════════════ */

/* ── COLOUR TOKENS PER CATEGORY ── */

/* 🪔 Puja Samagri — deep saffron / temple red */
.sb-cat-puja-samagri {
  --cat-primary:   #8B2000;
  --cat-secondary: #C4500A;
  --cat-accent:    #E8820A;
  --cat-light:     #FFF3E8;
  --cat-parch:     #FDEBD0;
  --cat-text:      #5C1500;
  --cat-glow:      rgba(196,80,10,0.18);
  --cat-hero-a:    #3A0800;
  --cat-hero-b:    #6B1500;
  --cat-hero-c:    #8B2800;
  --cat-symbol:    '🪔';
}

/* 🙏 Idols & Murtis — royal purple / violet temple */
.sb-cat-idols-murtis {
  --cat-primary:   #4A1070;
  --cat-secondary: #6B2090;
  --cat-accent:    #9B40C0;
  --cat-light:     #F5EEFF;
  --cat-parch:     #EDD8FF;
  --cat-text:      #2A0850;
  --cat-glow:      rgba(107,32,144,0.18);
  --cat-hero-a:    #1A0030;
  --cat-hero-b:    #3A0860;
  --cat-hero-c:    #5C1880;
  --cat-symbol:    '🙏';
}

/* 🌿 Ayurvedic — deep forest green */
.sb-cat-ayurvedic {
  --cat-primary:   #1A5C2A;
  --cat-secondary: #226B30;
  --cat-accent:    #3A8C40;
  --cat-light:     #EDFBF0;
  --cat-parch:     #D4F0DA;
  --cat-text:      #0A3010;
  --cat-glow:      rgba(34,107,48,0.18);
  --cat-hero-a:    #052010;
  --cat-hero-b:    #0F3A18;
  --cat-hero-c:    #1A5C28;
  --cat-symbol:    '🌿';
}

/* 🧘 Yoga & Meditation — deep indigo / midnight blue */
.sb-cat-yoga-meditation {
  --cat-primary:   #1A2A6C;
  --cat-secondary: #2A3C8B;
  --cat-accent:    #4A60C8;
  --cat-light:     #EEF2FF;
  --cat-parch:     #D8E0FF;
  --cat-text:      #0A1040;
  --cat-glow:      rgba(42,60,139,0.18);
  --cat-hero-a:    #060C30;
  --cat-hero-b:    #101C50;
  --cat-hero-c:    #1E306A;
  --cat-symbol:    '🧘';
}

/* 📿 Malas & Rudraksha — warm amber / sandalwood brown */
.sb-cat-malas-rudraksha {
  --cat-primary:   #6B3A00;
  --cat-secondary: #8B5010;
  --cat-accent:    #C47820;
  --cat-light:     #FFF8EC;
  --cat-parch:     #F5E0B0;
  --cat-text:      #3A1A00;
  --cat-glow:      rgba(139,80,16,0.18);
  --cat-hero-a:    #281000;
  --cat-hero-b:    #4A2000;
  --cat-hero-c:    #6B3800;
  --cat-symbol:    '📿';
}

/* 📖 Books & Courses — antique ochre / scholar gold */
.sb-cat-books-courses {
  --cat-primary:   #5C4800;
  --cat-secondary: #7B6200;
  --cat-accent:    #B89400;
  --cat-light:     #FFFCE8;
  --cat-parch:     #F5EEB0;
  --cat-text:      #302400;
  --cat-glow:      rgba(123,98,0,0.18);
  --cat-hero-a:    #1E1600;
  --cat-hero-b:    #3A2A00;
  --cat-hero-c:    #5C4400;
  --cat-symbol:    '📖';
}

/* 🎁 Gift Sets — deep rose / celebration crimson */
.sb-cat-gift-sets {
  --cat-primary:   #6B1040;
  --cat-secondary: #8B2060;
  --cat-accent:    #C04080;
  --cat-light:     #FFF0F5;
  --cat-parch:     #FFD8E8;
  --cat-text:      #3A0020;
  --cat-glow:      rgba(139,32,96,0.18);
  --cat-hero-a:    #280010;
  --cat-hero-b:    #4A0828;
  --cat-hero-c:    #6B1848;
  --cat-symbol:    '🎁';
}

/* ══════════════════════════════════════════
   APPLY THEME — hero, cat-nav, section heads
══════════════════════════════════════════ */

/* Hero background changes per category */
[class*="sb-cat-"] .sb-hero,
.sb-shop-wrap[class*="sb-cat-"] .sb-hero {
  background: linear-gradient(160deg,
    var(--cat-hero-a) 0%,
    var(--cat-hero-b) 45%,
    var(--cat-hero-c) 100%
  ) !important;
}

/* Category nav bar tint */
[class*="sb-cat-"] .sb-cat-nav {
  background: var(--cat-hero-a) !important;
}

/* Active tab uses category accent */
[class*="sb-cat-"] .sb-cat-tab.active,
[class*="sb-cat-"] .sb-cat-tab:hover {
  border-bottom-color: var(--cat-accent) !important;
  color: #fff !important;
}

/* Sidebar head uses category gradient */
[class*="sb-cat-"] .sb-shead {
  background: linear-gradient(135deg, var(--cat-primary), var(--cat-secondary)) !important;
}

/* Active sidebar filter link */
[class*="sb-cat-"] .sb-fi.active,
[class*="sb-cat-"] .sb-fi:hover {
  color: var(--cat-accent) !important;
}

/* Category section header divider line */
[class*="sb-cat-"] .sb-csl,
[class*="sb-cat-"] .csl {
  background: linear-gradient(90deg, var(--cat-accent), transparent) !important;
}
[class*="sb-cat-"] .sb-csl.r,
[class*="sb-cat-"] .csl.r {
  background: linear-gradient(270deg, var(--cat-accent), transparent) !important;
}

/* Product card category label colour */
[class*="sb-cat-"] .sb-ccat {
  color: var(--cat-accent) !important;
}

/* Product card image background tint */
[class*="sb-cat-"] .sb-cimg-wrap,
[class*="sb-cat-"] .sb-cimg-emoji {
  background: linear-gradient(145deg, var(--cat-parch), var(--cat-light), var(--cat-parch)) !important;
}

/* Enquire button uses category colours */
[class*="sb-cat-"] .sb-benq {
  background: linear-gradient(135deg, var(--cat-secondary), var(--cat-accent)) !important;
}
[class*="sb-cat-"] .sb-benq:hover {
  background: linear-gradient(135deg, var(--cat-primary), var(--cat-secondary)) !important;
}

/* Card price value */
[class*="sb-cat-"] .sb-cpval {
  color: var(--cat-accent) !important;
}

/* Card footer top border */
[class*="sb-cat-"] .sb-cfoot {
  border-top-color: var(--cat-parch) !important;
}

/* Card hover shadow uses category glow */
[class*="sb-cat-"] .sb-pcard:hover {
  box-shadow: 0 16px 48px var(--cat-glow) !important;
}

/* ══════════════════════════════════════════
   SINGLE PRODUCT PAGE — CATEGORY THEMING
══════════════════════════════════════════ */

/* Product detail image background */
[class*="sb-cat-"] .sb-main-img,
[class*="sb-cat-"] .sb-img-emoji,
[class*="sb-cat-"] .sb-thumb {
  background: linear-gradient(145deg, var(--cat-parch), var(--cat-light), var(--cat-parch)) !important;
}

/* Category label on detail page */
[class*="sb-cat-"] .sb-dcat {
  color: var(--cat-accent) !important;
}

/* Product name colour */
[class*="sb-cat-"] .sb-dname {
  color: var(--cat-primary) !important;
}

/* Divider line tint */
[class*="sb-cat-"] .sb-ddiv {
  background: linear-gradient(90deg, var(--cat-accent), transparent) !important;
}

/* Attribute tags */
[class*="sb-cat-"] .sb-atag {
  background: var(--cat-light) !important;
  border-color: var(--cat-parch) !important;
  color: var(--cat-text) !important;
}

/* Enquiry box */
[class*="sb-cat-"] .sb-ebox {
  background: linear-gradient(145deg, var(--cat-light), var(--cat-parch)) !important;
  border-color: rgba(var(--cat-accent), 0.2) !important;
}

[class*="sb-cat-"] .sb-ebox-title {
  color: var(--cat-primary) !important;
}

/* Submit button */
[class*="sb-cat-"] .sb-bsenq {
  background: linear-gradient(135deg, var(--cat-primary), var(--cat-secondary)) !important;
}
[class*="sb-cat-"] .sb-bsenq:hover {
  background: linear-gradient(135deg, var(--cat-hero-a), var(--cat-primary)) !important;
}

/* Breadcrumb links */
[class*="sb-cat-"] .sb-breadcrumb a {
  color: var(--cat-accent) !important;
}

/* Related products section head */
[class*="sb-cat-"] .sb-rel-line {
  background: linear-gradient(90deg, var(--cat-accent), transparent) !important;
}
[class*="sb-cat-"] .sb-rel-line.r {
  background: linear-gradient(270deg, var(--cat-accent), transparent) !important;
}
[class*="sb-cat-"] .sb-rel-title h2 {
  color: var(--cat-primary) !important;
}
[class*="sb-cat-"] .sb-rel-title span {
  color: var(--cat-accent) !important;
}

/* Pagination active */
[class*="sb-cat-"] .sb-pagination .page-numbers.current,
[class*="sb-cat-"] .sb-pagination .page-numbers:hover {
  background: var(--cat-primary) !important;
  border-color: var(--cat-primary) !important;
}

/* Input focus ring uses category accent */
[class*="sb-cat-"] .sb-fg input:focus,
[class*="sb-cat-"] .sb-fg select:focus,
[class*="sb-cat-"] .sb-fg textarea:focus {
  border-color: var(--cat-accent) !important;
  box-shadow: 0 0 0 3px var(--cat-glow) !important;
}

/* ══════════════════════════════════════════
   CARD CATEGORY-COLOUR ACCENTS
   On the main "All Products" page, give each
   card a left-border flash in its category colour
══════════════════════════════════════════ */
.sb-pcard[data-cat="puja-samagri"]    { border-left: 3px solid #C4500A; }
.sb-pcard[data-cat="idols-murtis"]    { border-left: 3px solid #9B40C0; }
.sb-pcard[data-cat="ayurvedic"]       { border-left: 3px solid #3A8C40; }
.sb-pcard[data-cat="yoga-meditation"] { border-left: 3px solid #4A60C8; }
.sb-pcard[data-cat="malas-rudraksha"] { border-left: 3px solid #C47820; }
.sb-pcard[data-cat="books-courses"]   { border-left: 3px solid #B89400; }
.sb-pcard[data-cat="gift-sets"]       { border-left: 3px solid #C04080; }

/* Category section header titles coloured */
.sb-csh[data-cat="puja-samagri"]    .cst h2 { color: #8B2000; }
.sb-csh[data-cat="idols-murtis"]    .cst h2 { color: #4A1070; }
.sb-csh[data-cat="ayurvedic"]       .cst h2 { color: #1A5C2A; }
.sb-csh[data-cat="yoga-meditation"] .cst h2 { color: #1A2A6C; }
.sb-csh[data-cat="malas-rudraksha"] .cst h2 { color: #6B3A00; }
.sb-csh[data-cat="books-courses"]   .cst h2 { color: #5C4800; }
.sb-csh[data-cat="gift-sets"]       .cst h2 { color: #6B1040; }

/* Section header divider lines */
.sb-csh[data-cat="puja-samagri"]    .csl { background: linear-gradient(90deg,#C4500A,transparent); }
.sb-csh[data-cat="idols-murtis"]    .csl { background: linear-gradient(90deg,#9B40C0,transparent); }
.sb-csh[data-cat="ayurvedic"]       .csl { background: linear-gradient(90deg,#3A8C40,transparent); }
.sb-csh[data-cat="yoga-meditation"] .csl { background: linear-gradient(90deg,#4A60C8,transparent); }
.sb-csh[data-cat="malas-rudraksha"] .csl { background: linear-gradient(90deg,#C47820,transparent); }
.sb-csh[data-cat="books-courses"]   .csl { background: linear-gradient(90deg,#B89400,transparent); }
.sb-csh[data-cat="gift-sets"]       .csl { background: linear-gradient(90deg,#C04080,transparent); }

.sb-csh[data-cat="puja-samagri"]    .csl.r { background: linear-gradient(270deg,#C4500A,transparent); }
.sb-csh[data-cat="idols-murtis"]    .csl.r { background: linear-gradient(270deg,#9B40C0,transparent); }
.sb-csh[data-cat="ayurvedic"]       .csl.r { background: linear-gradient(270deg,#3A8C40,transparent); }
.sb-csh[data-cat="yoga-meditation"] .csl.r { background: linear-gradient(270deg,#4A60C8,transparent); }
.sb-csh[data-cat="malas-rudraksha"] .csl.r { background: linear-gradient(270deg,#C47820,transparent); }
.sb-csh[data-cat="books-courses"]   .csl.r { background: linear-gradient(270deg,#B89400,transparent); }
.sb-csh[data-cat="gift-sets"]       .csl.r { background: linear-gradient(270deg,#C04080,transparent); }

/* Category label colour per card on all-products view */
.sb-pcard[data-cat="puja-samagri"]    .sb-ccat { color: #C4500A; }
.sb-pcard[data-cat="idols-murtis"]    .sb-ccat { color: #9B40C0; }
.sb-pcard[data-cat="ayurvedic"]       .sb-ccat { color: #3A8C40; }
.sb-pcard[data-cat="yoga-meditation"] .sb-ccat { color: #4A60C8; }
.sb-pcard[data-cat="malas-rudraksha"] .sb-ccat { color: #C47820; }
.sb-pcard[data-cat="books-courses"]   .sb-ccat { color: #B89400; }
.sb-pcard[data-cat="gift-sets"]       .sb-ccat { color: #C04080; }

/* ── WA button stays green always ── */
[class*="sb-cat-"] .sb-bwa,
[class*="sb-cat-"] .sb-wa-side {
  background: linear-gradient(135deg,#1A6E30,#25A244) !important;
}

/* ══════════════════════════════════════════
   SEO & SUBCATEGORY ADDITIONS  v1.2
══════════════════════════════════════════ */

/* ── SUBCATEGORY GRID ── */
.sb-subcat-wrap {
  background: var(--sb-parch);
  border-bottom: 1px solid var(--sb-border);
  padding: 1.25rem 0;
}
.sb-subcat-inner {
  max-width: 1340px;
  margin: 0 auto;
  padding: 0 2rem;
}
.sb-subcat-label {
  font-family: 'Cinzel', serif;
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--sb-textlt);
  margin-bottom: .75rem;
}
.sb-subcat-grid {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
}
.sb-subcat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .2rem;
  padding: .75rem 1.25rem;
  background: white;
  border: 2px solid var(--sb-border);
  border-radius: 12px;
  text-decoration: none;
  transition: all var(--sb-tr);
  min-width: 110px;
  text-align: center;
}
.sb-subcat-card:hover, .sb-subcat-active {
  border-color: var(--sb-saffron);
  background: var(--sb-cream);
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(90,20,0,.1);
}
.sb-subcat-icon { font-size: 1.6rem; line-height: 1; }
.sb-subcat-name { font-size: .82rem; font-weight: 600; color: var(--sb-text); }
.sb-subcat-cnt  { font-size: .72rem; color: var(--sb-textlt); }

/* Category-themed subcategory grid */
[class*="sb-cat-"] .sb-subcat-wrap { background: var(--cat-light); border-bottom-color: var(--cat-parch); }
[class*="sb-cat-"] .sb-subcat-card:hover,
[class*="sb-cat-"] .sb-subcat-active { border-color: var(--cat-accent); background: var(--cat-parch); }

/* ── CATEGORY INTRO BOX ── */
.sb-cat-intro {
  background: linear-gradient(135deg, var(--sb-cream), var(--sb-parch));
  border-left: 4px solid var(--sb-saffron);
  border-radius: 0 12px 12px 0;
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.75rem;
  font-size: 1rem;
  line-height: 1.75;
  color: var(--sb-textmd);
}
.sb-cat-intro p { margin-bottom: .75em; }
.sb-cat-intro p:last-child { margin-bottom: 0; }
[class*="sb-cat-"] .sb-cat-intro { border-left-color: var(--cat-accent); background: linear-gradient(135deg, var(--cat-light), var(--cat-parch)); }

/* ── SIDEBAR SUBCATEGORY INDENT ── */
.sb-fi-sub {
  padding-left: 1.4rem !important;
  font-size: .88rem !important;
  color: var(--sb-textlt);
  border-left: 2px solid var(--sb-parchdk);
  margin-left: .5rem;
}
.sb-fi-sub:hover { color: var(--sb-saffron); border-left-color: var(--sb-saffron); }

/* ── SIDEBAR HUB LINK ── */
.sb-hub-link {
  display: block;
  padding: .5rem .75rem;
  background: linear-gradient(135deg, var(--sb-cream), var(--sb-parch));
  border: 1px solid var(--sb-border);
  border-radius: 8px;
  color: var(--sb-saffron);
  text-decoration: none;
  font-size: .88rem;
  font-style: italic;
  transition: all var(--sb-tr);
  line-height: 1.4;
}
.sb-hub-link:hover { background: var(--sb-parch); border-color: var(--sb-saffron); }
[class*="sb-cat-"] .sb-hub-link { color: var(--cat-accent); border-color: var(--cat-parch); }
[class*="sb-cat-"] .sb-hub-link:hover { background: var(--cat-parch); border-color: var(--cat-accent); }

/* ── FAQ SECTION ── */
.sb-faq-section {
  background: linear-gradient(135deg, var(--sb-cream), var(--sb-parch));
  border-top: 1px solid var(--sb-border);
  padding: 3rem 2rem 4rem;
  margin-top: 1rem;
}
.sb-faq-inner { max-width: 800px; margin: 0 auto; }
.sb-faq-sub { font-size: .85rem; color: var(--sb-textlt); margin: .2rem 0 0; font-style: italic; }
.sb-faq-list { margin-top: 2rem; }
.sb-faq-item {
  border: 1px solid var(--sb-border);
  border-radius: 10px;
  margin-bottom: .75rem;
  background: white;
  overflow: hidden;
}
.sb-faq-q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  background: none;
  border: none;
  cursor: pointer;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--sb-maroon);
  text-align: left;
  transition: background var(--sb-tr);
}
.sb-faq-q:hover { background: var(--sb-cream); }
.sb-faq-arrow { font-size: 1rem; flex-shrink: 0; transition: transform var(--sb-tr); color: var(--sb-saffron); }
.sb-faq-a {
  padding: 0 1.25rem 1rem;
  font-size: .97rem;
  line-height: 1.7;
  color: var(--sb-textmd);
  border-top: 1px solid var(--sb-parch);
  padding-top: .75rem;
}

/* Category-themed FAQ */
[class*="sb-cat-"] .sb-faq-section { background: linear-gradient(135deg, var(--cat-light), var(--cat-parch)); border-top-color: var(--cat-parch); }
[class*="sb-cat-"] .sb-faq-q { color: var(--cat-primary); }
[class*="sb-cat-"] .sb-faq-arrow { color: var(--cat-accent); }
[class*="sb-cat-"] .sb-faq-item:hover { border-color: var(--cat-accent); }

/* ── PRODUCT PAGE FAQ ── */
.sb-product-faqs { margin-top: 2rem; }
.sb-product-faqs h3 {
  font-family: 'Cinzel', serif;
  font-size: .8rem;
  letter-spacing: .18em;
  color: var(--sb-maroon);
  text-transform: uppercase;
  margin-bottom: 1rem;
  display: flex; align-items: center; gap: .5rem;
}
.sb-product-faqs h3::after { content:''; flex:1; height:1px; background:var(--sb-border); }
[class*="sb-cat-"] .sb-product-faqs h3 { color: var(--cat-primary); }

@media (max-width:600px) {
  .sb-subcat-grid { gap: .5rem; }
  .sb-subcat-card { min-width: 80px; padding: .6rem .75rem; }
  .sb-faq-section { padding: 2rem 1rem 3rem; }
}

/* ══════════════════════════════════════════
   RELATED PRODUCTS & CROSS-CATEGORY  v1.3
══════════════════════════════════════════ */

/* ── SHARED SECTION CHROME ── */
.sb-related-section,
.sb-related-extra,
.sb-crosscat-section {
  padding: 3.5rem 2rem 4rem;
  border-top: 1px solid var(--sb-border);
}
.sb-related-section { background: linear-gradient(180deg, var(--sb-cream), var(--sb-parch)); }
.sb-related-extra    { background: var(--sb-parch); }
.sb-crosscat-section { background: linear-gradient(180deg, var(--sb-parch), var(--sb-cream)); }

.sb-related-inner {
  max-width: 1340px;
  margin: 0 auto;
}

.sb-related-head {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 2rem;
  text-align: center;
}
.sb-rel-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--sb-border));
}
.sb-rel-line.r {
  background: linear-gradient(90deg, var(--sb-border), transparent);
}
.sb-rel-title .orn { display: block; font-size: .85rem; color: var(--sb-saffron); margin-bottom: .2rem; }
.sb-rel-title h2 {
  font-family: 'Cinzel', serif;
  font-size: 1.3rem;
  color: var(--sb-maroon);
  margin: 0 0 .2rem;
  white-space: nowrap;
}
.sb-rel-title p { font-size: .88rem; color: var(--sb-textlt); margin: 0; }
.sb-rel-title p a { color: var(--sb-saffron); text-decoration: none; }
.sb-rel-title p a:hover { text-decoration: underline; }

/* category-themed headings */
[class*="sb-cat-"] .sb-rel-title h2 { color: var(--cat-primary); }
[class*="sb-cat-"] .sb-rel-title .orn { color: var(--cat-accent); }
[class*="sb-cat-"] .sb-rel-line { background: linear-gradient(90deg,transparent,var(--cat-parch)); }
[class*="sb-cat-"] .sb-rel-line.r { background: linear-gradient(90deg,var(--cat-parch),transparent); }

/* ── RELATED PRODUCTS GRID ── */
.sb-related-grid {
  /* reuses .sb-products-grid but we constrain to 4 cols max */
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
}
.sb-rel-viewall {
  text-align: center;
  margin-top: 2rem;
}
.sb-btn-ghost {
  display: inline-block;
  padding: .65rem 2rem;
  border: 2px solid var(--sb-saffron);
  color: var(--sb-saffron);
  border-radius: 30px;
  text-decoration: none;
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .06em;
  transition: all var(--sb-tr);
}
.sb-btn-ghost:hover {
  background: var(--sb-saffron);
  color: white;
}
[class*="sb-cat-"] .sb-btn-ghost { border-color: var(--cat-accent); color: var(--cat-accent); }
[class*="sb-cat-"] .sb-btn-ghost:hover { background: var(--cat-accent); color: white; }

/* ── RELATED HUB CONTENT CARD ── */
.sb-content-link-wrap { margin-bottom: 2.5rem; }
.sb-hub-card {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1.25rem 1.5rem;
  background: white;
  border: 2px solid var(--sb-border);
  border-radius: 14px;
  text-decoration: none;
  transition: all var(--sb-tr);
  max-width: 600px;
  margin: 0 auto;
}
.sb-hub-card:hover {
  border-color: var(--sb-saffron);
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(90,20,0,.1);
}
.sb-hub-card-icon { font-size: 2.2rem; flex-shrink: 0; }
.sb-hub-card-body { flex: 1; }
.sb-hub-card-title { font-family: 'Cormorant Garamond',Georgia,serif; font-size: 1.1rem; font-weight: 700; color: var(--sb-maroon); margin-bottom: .2rem; }
.sb-hub-card-desc  { font-size: .88rem; color: var(--sb-textlt); line-height: 1.5; }
.sb-hub-card-arrow { font-size: 1.3rem; color: var(--sb-saffron); flex-shrink: 0; transition: transform var(--sb-tr); }
.sb-hub-card:hover .sb-hub-card-arrow { transform: translateX(4px); }
[class*="sb-cat-"] .sb-hub-card:hover { border-color: var(--cat-accent); }
[class*="sb-cat-"] .sb-hub-card-title { color: var(--cat-primary); }
[class*="sb-cat-"] .sb-hub-card-arrow { color: var(--cat-accent); }

/* ── CROSS-CATEGORY CARDS ── */
.sb-crosscat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1.25rem;
}
.sb-crosscat-card {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  overflow: hidden;
  border: 2px solid var(--sb-border);
  text-decoration: none;
  background: white;
  transition: all var(--sb-tr);
  position: relative;
}
.sb-crosscat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(90,20,0,.12);
}

/* each cross-cat card gets its own category colour */
.sb-crosscat-card.sb-cat-puja-samagri    { --xc-accent:#C4500A; --xc-bg:#FFF5EE; border-color:#F4C8A0; }
.sb-crosscat-card.sb-cat-idols-murtis    { --xc-accent:#6B2090; --xc-bg:#F8F0FF; border-color:#D4A8F0; }
.sb-crosscat-card.sb-cat-ayurvedic       { --xc-accent:#226B30; --xc-bg:#F0FFF4; border-color:#A0D4A8; }
.sb-crosscat-card.sb-cat-yoga-meditation { --xc-accent:#2A3C8B; --xc-bg:#F0F4FF; border-color:#A8B8F0; }
.sb-crosscat-card.sb-cat-malas-rudraksha { --xc-accent:#8B5010; --xc-bg:#FFF8F0; border-color:#D4B088; }
.sb-crosscat-card.sb-cat-books-courses   { --xc-accent:#7B6200; --xc-bg:#FFFDF0; border-color:#D4C870; }
.sb-crosscat-card.sb-cat-gift-sets       { --xc-accent:#8B2060; --xc-bg:#FFF0F8; border-color:#D4A0C0; }

.sb-crosscat-card:hover { border-color: var(--xc-accent,var(--sb-saffron)); }

.sb-crosscat-previews {
  display: flex;
  height: 110px;
  background: var(--xc-bg, var(--sb-cream));
}
.sb-crosscat-thumb {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid rgba(0,0,0,.05);
  overflow: hidden;
  font-size: 1.8rem;
}
.sb-crosscat-thumb:last-child { border-right: none; }
.sb-crosscat-thumb img { width: 100%; height: 100%; object-fit: cover; }

.sb-crosscat-body {
  padding: .9rem 1rem .4rem;
  display: flex;
  align-items: center;
  gap: .6rem;
}
.sb-crosscat-icon { font-size: 1.4rem; }
.sb-crosscat-name {
  font-family: 'Cormorant Garamond',Georgia,serif;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--xc-accent, var(--sb-maroon));
  flex: 1;
}
.sb-crosscat-cnt { font-size: .78rem; color: var(--sb-textlt); }
.sb-crosscat-cta {
  padding: .5rem 1rem .8rem;
  font-size: .82rem;
  font-weight: 600;
  color: var(--xc-accent, var(--sb-saffron));
  letter-spacing: .05em;
  transition: gap var(--sb-tr);
}
.sb-crosscat-card:hover .sb-crosscat-cta { letter-spacing: .1em; }

/* category-themed related sections */
[class*="sb-cat-"] .sb-related-section { background: linear-gradient(180deg,var(--cat-light),var(--cat-parch)); }
[class*="sb-cat-"] .sb-related-extra    { background: var(--cat-parch); border-top-color: var(--cat-parch); }
[class*="sb-cat-"] .sb-crosscat-section { background: linear-gradient(180deg,var(--cat-parch),var(--cat-light)); }

@media (max-width: 768px) {
  .sb-related-section, .sb-related-extra, .sb-crosscat-section { padding: 2.5rem 1rem 3rem; }
  .sb-crosscat-grid { grid-template-columns: 1fr 1fr; }
  .sb-related-grid  { grid-template-columns: 1fr 1fr; }
  .sb-hub-card      { padding: 1rem; }
}
@media (max-width: 480px) {
  .sb-crosscat-grid { grid-template-columns: 1fr; }
  .sb-related-grid  { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════
   REVIEWS SYSTEM  v1.4
══════════════════════════════════════════ */

.sb-reviews-section {
  padding: 3.5rem 2rem 4rem;
  background: linear-gradient(180deg, white, var(--sb-cream));
  border-top: 1px solid var(--sb-border);
}
.sb-reviews-inner { max-width: 860px; margin: 0 auto; }

/* ── Rating bars ── */
.sb-rating-bars {
  max-width: 360px;
  margin: 0 auto 2.5rem;
}
.sb-rbar-row {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .4rem;
  font-size: .88rem;
}
.sb-rbar-label { width: 36px; text-align: right; color: var(--sb-textmd); flex-shrink: 0; }
.sb-rbar-track {
  flex: 1;
  height: 8px;
  background: var(--sb-parch);
  border-radius: 10px;
  overflow: hidden;
}
.sb-rbar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--sb-saffron), #E8C870);
  border-radius: 10px;
  transition: width .6s ease;
}
.sb-rbar-cnt { width: 20px; font-size: .8rem; color: var(--sb-textlt); flex-shrink: 0; }
[class*="sb-cat-"] .sb-rbar-fill { background: linear-gradient(90deg, var(--cat-accent), var(--cat-light)); }

/* ── Review cards ── */
.sb-review-list { display: flex; flex-direction: column; gap: 1.25rem; margin-bottom: 3rem; }
.sb-review-card {
  background: white;
  border: 1px solid var(--sb-border);
  border-radius: 14px;
  padding: 1.25rem 1.5rem;
  transition: box-shadow var(--sb-tr);
}
.sb-review-card:hover { box-shadow: 0 4px 20px rgba(90,20,0,.08); }
.sb-rv-header {
  display: flex;
  align-items: center;
  gap: .9rem;
  margin-bottom: .75rem;
}
.sb-rv-avatar {
  width: 42px; height: 42px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--sb-maroon), var(--sb-saffron));
  color: #E8C870;
  font-family: 'Cinzel', serif;
  font-size: 1.1rem;
  font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
[class*="sb-cat-"] .sb-rv-avatar { background: linear-gradient(135deg, var(--cat-primary), var(--cat-accent)); }
.sb-rv-meta { flex: 1; }
.sb-rv-name { font-weight: 700; font-size: .95rem; color: var(--sb-text); }
.sb-rv-date { font-size: .78rem; color: var(--sb-textlt); margin-top: 1px; }
.sb-rv-stars { font-size: 1rem; letter-spacing: 1px; flex-shrink: 0; }
.sb-star-empty { opacity: .3; }
.sb-rv-body { font-size: .97rem; line-height: 1.7; color: var(--sb-textmd); }
.sb-rv-photo { margin-top: .9rem; }
.sb-rv-photo img {
  max-width: 200px;
  max-height: 200px;
  object-fit: cover;
  border-radius: 10px;
  border: 2px solid var(--sb-border);
  cursor: pointer;
  transition: transform var(--sb-tr);
}
.sb-rv-photo img:hover { transform: scale(1.03); }

/* ── No reviews state ── */
.sb-no-reviews {
  text-align: center;
  padding: 2rem;
  color: var(--sb-textlt);
  font-size: .95rem;
  margin-bottom: 2rem;
}
.sb-no-reviews span { font-size: 2.5rem; display: block; margin-bottom: .5rem; }

/* ── Write a review form ── */
.sb-write-review {
  background: linear-gradient(135deg, var(--sb-cream), var(--sb-parch));
  border: 1px solid var(--sb-border);
  border-radius: 18px;
  padding: 2rem;
  margin-top: 1rem;
}
.sb-wr-title {
  font-family: 'Cinzel', serif;
  font-size: .9rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--sb-maroon);
  margin: 0 0 1.5rem;
}
[class*="sb-cat-"] .sb-wr-title { color: var(--cat-primary); }

/* Star picker */
.sb-star-picker { display: flex; gap: .3rem; margin-top: .4rem; }
.sb-star-btn {
  font-size: 1.8rem;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: transform .15s;
}
.sb-star-btn:hover { transform: scale(1.2); }

.sb-rv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 1rem;
}
.sb-rv-fg { margin-bottom: 1rem; }
.sb-rv-fg label {
  display: block;
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--sb-maroon);
  margin-bottom: .4rem;
}
[class*="sb-cat-"] .sb-rv-fg label { color: var(--cat-primary); }
.sb-rv-fg input, .sb-rv-fg textarea {
  width: 100%;
  border: 1px solid var(--sb-border);
  border-radius: 8px;
  padding: .65rem .9rem;
  font-size: .97rem;
  font-family: inherit;
  background: white;
  box-sizing: border-box;
  transition: border-color var(--sb-tr);
}
.sb-rv-fg input:focus, .sb-rv-fg textarea:focus {
  border-color: var(--sb-saffron);
  outline: none;
  box-shadow: 0 0 0 3px rgba(212,98,10,.1);
}
[class*="sb-cat-"] .sb-rv-fg input:focus,
[class*="sb-cat-"] .sb-rv-fg textarea:focus { border-color: var(--cat-accent); box-shadow: 0 0 0 3px rgba(0,0,0,.06); }
.sb-rv-fg textarea { min-height: 100px; resize: vertical; }

/* Photo upload */
.sb-photo-upload {
  border: 2px dashed var(--sb-border);
  border-radius: 10px;
  padding: 1.5rem;
  text-align: center;
  background: white;
  transition: border-color var(--sb-tr);
}
.sb-photo-upload:hover { border-color: var(--sb-saffron); }
[class*="sb-cat-"] .sb-photo-upload:hover { border-color: var(--cat-accent); }
#sb-photo-placeholder p { margin: .4rem 0 0; font-size: .9rem; color: var(--sb-textmd); }
#sb-photo-placeholder small { color: var(--sb-textlt); font-size: .8rem; }
#sb-photo-preview { display: flex; flex-direction: column; align-items: center; gap: .75rem; }
.sb-photo-clear {
  background: none;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: .3rem .8rem;
  font-size: .82rem;
  cursor: pointer;
  color: #a00;
}

/* Submit button */
.sb-rv-submit-btn {
  width: 100%;
  padding: .9rem;
  background: linear-gradient(135deg, var(--sb-maroon), var(--sb-saffron));
  color: #E8C870;
  border: none;
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 700;
  font-family: 'Cinzel', serif;
  letter-spacing: .1em;
  cursor: pointer;
  transition: opacity var(--sb-tr), transform var(--sb-tr);
  margin-top: .5rem;
}
.sb-rv-submit-btn:hover:not(:disabled) { opacity: .9; transform: translateY(-1px); }
.sb-rv-submit-btn:disabled { opacity: .6; cursor: not-allowed; }
[class*="sb-cat-"] .sb-rv-submit-btn { background: linear-gradient(135deg, var(--cat-primary), var(--cat-accent)); }
.sb-rv-note { font-size: .78rem; color: var(--sb-textlt); text-align: center; margin-top: .6rem; }

/* Thank you state */
.sb-rv-thanks {
  text-align: center;
  padding: 2rem;
  color: var(--sb-textmd);
}
.sb-rv-thanks span { font-size: 3rem; display: block; margin-bottom: .75rem; }
.sb-rv-thanks h4 { font-family: 'Cormorant Garamond',Georgia,serif; font-size: 1.4rem; color: var(--sb-maroon); margin: 0 0 .4rem; }
.sb-rv-thanks p { font-size: .9rem; color: var(--sb-textlt); margin: 0; }

@media (max-width: 600px) {
  .sb-reviews-section { padding: 2.5rem 1rem 3rem; }
  .sb-rv-grid { grid-template-columns: 1fr; }
  .sb-write-review { padding: 1.25rem; }
  .sb-rv-header { flex-wrap: wrap; }
  .sb-rv-stars { width: 100%; }
}
