:root {
  --ink: #8A1817;
  /* primary: text, buttons, logo */
  --ink-soft: #3a3a3a;
  --muted: #6c6c6c;
  --faint: #9a9a9a;
  --bg: #faf8f5;
  /* off-white page */
  --surface: #ffffff;
  /* cards */
  --line: #ece8e2;
  /* hairlines */
  --line-strong: #dcd6cd;
  --price: #1b1b1b;
  --sale: #b23b3b;
  /* discount text only Ã¢â‚¬â€ restrained */
  --radius: 14px;
  --radius-sm: 10px;
  --shadow: 0 1px 2px rgba(20, 18, 15, .04), 0 8px 24px rgba(20, 18, 15, .06);
  --shadow-hover: 0 4px 10px rgba(20, 18, 15, .07), 0 18px 44px rgba(20, 18, 15, .12);
  --container: 1240px;
  /* logo's rainbow ring Ã¢â‚¬â€ used ONLY as a signature detail */
  --rainbow: linear-gradient(90deg, #e23b3b 0%, #f0902f 18%, #f2c233 36%, #3fb95e 56%, #2f8fe2 76%, #7c5ce2 100%);
  --ff-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --ff-display: "Fraunces", Georgia, "Times New Roman", serif;
}


body {
  margin: 0;
  font-family: var(--ff-body);
  color: var(--ink);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
}

.container {
  width: 100%;
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 24px;
}

/* signature rainbow text + underline helpers */
.rainbow-text {
  background: var(--rainbow);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}

/* ---------- Announcement bar ---------- */
.announce {
  background: var(--ink);
  color: #f4f1ec;
  font-size: 12.5px;
  letter-spacing: .03em;
}

.announce .container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  height: 38px;
  text-align: center;
}

.announce span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.announce .dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #6f6a63;
}

.announce .hide-sm {}

/* ---------- Header (Aerion: sticky, search, account, wishlist, cart) ---------- */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, .86);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--line);
}

.header-inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  height: 76px;
  gap: 18px;
}

.brand {
  display: inline-flex;
  flex-direction: column;
  gap: 5px;
  justify-self: start;
}

.brand img {
  height: 30px;
  width: auto;
}

.brand .brand-rule {
  height: 3px;
  width: 100%;
  border-radius: 3px;
  background: var(--rainbow);
  opacity: .9;
}

.primary-nav {
  display: flex;
  gap: 30px;
  justify-self: center;
}

.primary-nav a {
  position: relative;
  font-size: 14px;
  font-weight: 500;
  color: var(--ink-soft);
  padding: 6px 0;
  letter-spacing: .01em;
  transition: color .18s ease;
}

.primary-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 2px;
  background: var(--rainbow);
  border-radius: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .22s ease;
}

.primary-nav a:hover {
  color: var(--ink);
}

.primary-nav a:hover::after,
.primary-nav a.active::after {
  transform: scaleX(1);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-self: end;
}

.icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border: none;
  background: transparent;
  color: var(--ink);
  border-radius: 50%;
  transition: background .15s ease;
  position: relative;
}

.icon-btn:hover {
  background: #f1ede7;
}

.icon-btn svg {
  width: 21px;
  height: 21px;
}

.cart-count {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  background: var(--ink);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--surface);
}

/* animated search pill */
.search-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 14px;
  border-radius: 22px;
  border: 1px solid var(--line-strong);
  background: #fff;
  width: 200px;
  transition: width .25s ease, box-shadow .2s ease;
  color: var(--faint);
}

.search-pill:focus-within {
  width: 248px;
  box-shadow: var(--shadow);
  color: var(--ink);
}

.search-pill svg {
  width: 18px;
  height: 18px;
  flex: none;
  color: var(--muted);
}

.search-pill input {
  border: none;
  outline: none;
  background: transparent;
  width: 100%;
  font-size: 13.5px;
  color: var(--ink);
  font-family: inherit;
}

.hamburger {
  display: none;
}

/* ---------- Hero (split editorial) ---------- */
.hero {
  background: var(--bg);
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  align-items: center;
  gap: 48px;
  padding: 64px 0 72px;
}

.hero-eyebrow {
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0 0 18px;
}

.hero h1 {
  font-family: var(--ff-display);
  font-weight: 600;
  font-size: clamp(42px, 5.4vw, 68px);
  line-height: 1.02;
  letter-spacing: -.015em;
  margin: 0 0 20px;
  color: var(--ink);
}

.hero h1 em {
  font-style: italic;
}

.hero p.lede {
  font-size: 17px;
  line-height: 1.6;
  color: var(--muted);
  max-width: 440px;
  margin: 0 0 32px;
}

.hero-cta {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  align-items: center;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  height: 50px;
  padding: 0 26px;
  border-radius: 28px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: .01em;
  border: 1px solid transparent;
  transition: transform .15s ease, box-shadow .2s ease, background .2s ease;
}

.btn-primary {
  background: var(--ink);
  color: #fff;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(20, 18, 15, .22);
}

.btn-ghost {
  background: transparent;
  color: var(--ink);
  border-color: var(--line-strong);
}

.btn-ghost:hover {
  border-color: var(--ink);
}

.hero-meta {
  margin-top: 30px;
  display: flex;
  gap: 26px;
}

.hero-meta div {}

.hero-meta strong {
  display: block;
  font-family: var(--ff-display);
  font-size: 22px;
  font-weight: 600;
}

.hero-meta span {
  font-size: 12.5px;
  color: var(--faint);
  letter-spacing: .02em;
}

.hero-figure {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  aspect-ratio: 4 / 3.7;
  background: #ededea;
  box-shadow: var(--shadow);
}

.hero-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-badge {
  position: absolute;
  left: 18px;
  bottom: 18px;
  background: rgba(255, 255, 255, .92);
  backdrop-filter: blur(6px);
  border-radius: 12px;
  padding: 11px 15px;
  box-shadow: var(--shadow);
  display: flex;
  align-items: center;
  gap: 11px;
}

.hero-badge .ring {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  flex: none;
  background: var(--rainbow);
  -webkit-mask: radial-gradient(circle 9px at center, transparent 98%, #000 100%);
  mask: radial-gradient(circle 9px at center, transparent 98%, #000 100%);
}

.hero-badge small {
  display: block;
  font-size: 11px;
  color: var(--muted);
  letter-spacing: .02em;
}

.hero-badge b {
  font-size: 13.5px;
}

/* ---------- Section scaffolding ---------- */
.section {
  padding: 64px 0;
}

.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 34px;
  gap: 20px;
}

.section-head .eyebrow {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--faint);
  margin: 0 0 10px;
}

.section-head h2 {
  font-family: var(--ff-display);
  font-weight: 600;
  letter-spacing: -.01em;
  font-size: clamp(26px, 3.2vw, 36px);
  line-height: 1.08;
  margin: 0;
  color: var(--ink);
}

.view-all {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.view-all svg {
  width: 16px;
  height: 16px;
  transition: transform .18s ease;
}

.view-all:hover svg {
  transform: translateX(3px);
}

/* ---------- Categories ---------- */




.product-card:hover .pc-media img {
  transform: scale(1.04);
}

.pc-tag {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(27, 27, 27, .9);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .03em;
  padding: 4px 10px;
  border-radius: 20px;
}

.pc-wish {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, .9);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow);
  transition: background .15s ease, transform .15s ease;
}

.pc-wish:hover {
  transform: scale(1.08);
}

.pc-wish svg {
  width: 17px;
  height: 17px;
  color: var(--ink);
}

.pc-body {
  padding: 15px 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
}

.pc-cat {
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--faint);
}

.pc-name {
  font-size: 14.5px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--ink);
}

.pc-rating {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--muted);
}

.pc-rating .stars {
  color: #e0a52f;
  letter-spacing: 1px;
  font-size: 12px;
}

.pc-price {
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin-top: auto;
  padding-top: 6px;
}

.pc-price .now {
  font-size: 17px;
  font-weight: 700;
  color: var(--price);
}

.pc-price .mrp {
  font-size: 13px;
  color: var(--faint);
  text-decoration: line-through;
}

.pc-price .off {
  font-size: 12px;
  font-weight: 600;
  color: var(--sale);
}

.pc-add {
  margin-top: 12px;
  height: 42px;
  border-radius: 22px;
  border: 1px solid var(--line-strong);
  background: #fff;
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.pc-add svg {
  width: 16px;
  height: 16px;
}


/* ---------- GenericCollectionCard (banner 26% + products 74%) ---------- */
.gcc {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 24px;
  align-items: stretch;
}

.gcc-banner {
  position: relative;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 420px;
  display: flex;
  align-items: flex-end;
  box-shadow: var(--shadow);
}

.gcc-banner img.bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gcc-banner .scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 18, 15, .05) 0%, rgba(20, 18, 15, .72) 100%);
}

.gcc-banner .gcc-content {
  position: relative;
  z-index: 1;
  padding: 26px;
  color: #fff;
}

.gcc-banner .gcc-content .eyebrow {
  font-size: 11.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  opacity: .85;
  margin: 0 0 8px;
}

.gcc-banner .gcc-content h3 {
  font-family: var(--ff-display);
  font-weight: 600;
  font-size: 27px;
  line-height: 1.1;
  margin: 0 0 10px;
}

.gcc-banner .gcc-content p {
  font-size: 13.5px;
  line-height: 1.55;
  opacity: .9;
  margin: 0 0 18px;
  max-width: 230px;
}

.gcc-banner .gcc-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: #fff;
  border-bottom: 2px solid rgba(255, 255, 255, .5);
  padding-bottom: 3px;
}

.gcc-products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* ---------- Full-width promo (Personalized) ---------- */
.promo {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  min-height: 360px;
  display: flex;
  align-items: center;
  box-shadow: var(--shadow);
}

.promo img.bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.promo .scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(20, 18, 15, .82) 0%, rgba(20, 18, 15, .5) 46%, rgba(20, 18, 15, .05) 100%);
}

.promo-content {
  position: relative;
  z-index: 1;
  padding: 50px 56px;
  color: #fff;
  max-width: 560px;
}

.promo-content .eyebrow {
  font-size: 12px;
  letter-spacing: .15em;
  text-transform: uppercase;
  opacity: .85;
  margin: 0 0 14px;
}

.promo-content h2 {
  font-family: var(--ff-display);
  font-weight: 600;
  font-size: clamp(28px, 3.6vw, 42px);
  line-height: 1.06;
  margin: 0 0 16px;
}

.promo-content p {
  font-size: 15.5px;
  line-height: 1.6;
  opacity: .92;
  margin: 0 0 26px;
  max-width: 420px;
}

.promo .btn-primary {
  background: #fff;
  color: var(--ink);
}

.promo .btn-primary:hover {
  box-shadow: 0 12px 28px rgba(0, 0, 0, .3);
}

.promo-steps {
  display: flex;
  gap: 28px;
  margin-top: 28px;
}

.promo-steps div {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: rgba(255, 255, 255, .92);
}

.promo-steps .n {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, .6);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
}

/* ---------- Why Vatsu Craft (trust) ---------- */
.why {
  background: var(--surface);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.why-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

.why-card {
  text-align: left;
}

.why-card .ic {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #f5f1ea;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}

.why-card .ic svg {
  width: 24px;
  height: 24px;
  color: var(--ink);
}

.why-card h4 {
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 8px;
}

.why-card p {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--muted);
  margin: 0;
}

.why-strip {
  margin-top: 40px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: center;
  padding-top: 30px;
  border-top: 1px dashed var(--line-strong);
}

.why-chip {
  font-size: 12.5px;
  font-weight: 500;
  color: var(--ink-soft);
  background: #f5f1ea;
  border-radius: 20px;
  padding: 7px 15px;
}

/* ---------- Testimonials ---------- */
.tst-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.tst-card {
  background: var(--surface);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 26px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.tst-card .quote-mark {
  font-family: var(--ff-display);
  font-size: 46px;
  line-height: .6;
  color: var(--line-strong);
  height: 22px;
}

.tst-card .stars {
  color: #e0a52f;
  font-size: 14px;
  letter-spacing: 1px;
}

.tst-card p {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ink-soft);
  margin: 0;
  flex: 1;
}

.tst-who {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}

.tst-who .av {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 700;
  font-size: 15px;
}

.tst-who b {
  font-size: 14px;
  display: block;
}

.tst-who span {
  font-size: 12px;
  color: var(--faint);
}

/* ---------- Footer ---------- */
.site-footer {
  background: var(--ink);
  color: #d9d5ce;
  padding: 64px 0 30px;
  margin-top: 8px;
}

.footer-top {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 40px;
}

.footer-brand img {
  height: 30px;
  margin-bottom: 16px;
  filter: brightness(0) invert(1);
}

.footer-brand .frule {
  height: 3px;
  width: 132px;
  border-radius: 3px;
  background: var(--rainbow);
  margin-bottom: 18px;
}

.footer-brand p {
  font-size: 13.5px;
  line-height: 1.65;
  color: #a8a39b;
  max-width: 300px;
  margin: 0 0 18px;
}

.footer-social {
  display: flex;
  gap: 10px;
}

.footer-social a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid #3a3833;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s ease, border-color .15s ease;
}

.footer-social a:hover {
  background: #2a2824;
  border-color: #4a463f;
}

.footer-social svg {
  width: 17px;
  height: 17px;
  color: #d9d5ce;
}

.footer-col h5 {
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 16px;
  font-weight: 600;
}

.footer-col a {
  display: block;
  font-size: 13.5px;
  color: #a8a39b;
  padding: 6px 0;
  transition: color .15s ease;
}

.footer-col a:hover {
  color: #fff;
}

.footer-bottom {
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid #2e2c28;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.footer-bottom p {
  font-size: 12.5px;
  color: #8a857d;
  margin: 0;
}

.pay-badges {
  display: flex;
  gap: 8px;
  align-items: center;
}

.pay-badges span {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .04em;
  color: #cfcabf;
  background: #2a2824;
  border: 1px solid #3a3833;
  border-radius: 5px;
  padding: 5px 9px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .primary-nav {
    gap: 20px;
  }

  .product-row {
    grid-template-columns: repeat(3, 1fr);
  }

  .hero-meta {
    gap: 18px;
  }
}

@media (max-width: 920px) {
  .primary-nav {
    display: none;
  }

  .hamburger {
    display: inline-flex;
  }

  .search-pill {
    width: 44px;
    padding: 0;
    justify-content: center;
  }

  .search-pill input {
    display: none;
  }

  .header-inner {
    grid-template-columns: auto 1fr auto;
  }

  .brand {
    justify-self: start;
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 40px 0 48px;
  }

  .hero-figure {
    order: -1;
    aspect-ratio: 16 / 11;
  }

  .gcc {
    grid-template-columns: 1fr;
  }

  .gcc-banner {
    min-height: 240px;
  }

  .why-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 28px;
  }

  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }

  .footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .container {
    padding: 0 18px;
  }

  .section {
    padding: 44px 0;
  }

  .announce .hide-sm {
    display: none;
  }

  .announce .container {
    gap: 16px;
  }

  .gcc-products  {
    display: none;
  }

  /* 2-up on mobile per spec */
  .tst-grid {
    grid-template-columns: 1fr;
  }

  .section-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .promo-content {
    padding: 36px 26px;
  }

  .promo .scrim {
    background: linear-gradient(180deg, rgba(20, 18, 15, .35) 0%, rgba(20, 18, 15, .8) 100%);
  }

  .promo-steps {
    flex-direction: column;
    gap: 12px;
  }

  .hero h1 {
    font-size: 40px;
  }

  .why-strip {
    gap: 8px;
  }
}

@media (max-width: 420px) {
  .cat-grid {
    grid-template-columns: 1fr 1fr;
  }

  .hero-meta strong {
    font-size: 19px;
  }
}

.notice {
  background-color: var(--header-notice-background);
  color: var(--header-notice-text);
  font-size: small;
  height: 100%;
  padding: 1px;
  width: 100%;
}

element.style {
  --section-background-color: white;
  --section-item-spacing-desktop: 0px;
  --section-item-spacing-mobile: 0px;
}

.section {
  padding: 1px 0;
}

:root {
  --primary-main: #FFFFFF ! important;
}

.header-desktop-wrapper {
  background: #ffffff !important;
  border-bottom: 1px solid #eee !important;
}

.section {
  padding: 5px;
}

.luxury-header {
  background-color: #fff;
}

/* =========================================================
   MOBILE HEADER — LOGO CLIP FIX
   On the mobile header (.mobile-header-v2) the stacked logo
   (circle emblem over "vatsu craft") was rendered in a box
   whose height clipped the top of the circle. Size the logo
   by height with auto width + object-fit:contain so the whole
   emblem shows. Scoped to mobile so the desktop header is
   untouched.
   ========================================================= */
.mobile-header-v2 .store-logo img {
  height: 40px !important;
  width: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}

:root {
  --header-accent: #000000
}

.why-strip {
  padding-bottom: 20px;
}

/* =========================================================
   MOBILE REVIEW SECTION SCROLL FIX
   Desktop remains unchanged. On mobile, reviews become
   horizontal scroll cards.
   ========================================================= */
@media (max-width: 680px) {
  .tst-grid {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 4px 18px 14px !important;
    margin-left: -18px !important;
    margin-right: -18px !important;
  }

  .tst-grid::-webkit-scrollbar {
    display: none !important;
  }

  .tst-grid {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .tst-card {
    flex: 0 0 82% !important;
    min-width: 82% !important;
    max-width: 82% !important;
    scroll-snap-align: start !important;
  }
}

@media (max-width: 420px) {
  .tst-card {
    flex-basis: 86% !important;
    min-width: 86% !important;
    max-width: 86% !important;
  }
}


/* =========================================================
   PAGE CONTAINER WIDTH + PRODUCT CARD CENTER ALIGN FIX
   ========================================================= */
.page-container .px-4.md\:px-10.my-6 {
  max-width: 1260px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Product card name center align */
.product-card .pc-name,
.pc-name,
.product-card [class*="product-name"],
.product-card [class*="ProductName"],
.product-card [class*="product-title"],
.product-card [class*="ProductTitle"] {
  text-align: center !important;
}

/* Product sale price / price row center align */
.product-card .pc-price,
.pc-price,
.product-card [class*="price"],
.product-card [class*="Price"] {
  justify-content: center !important;
  text-align: center !important;
}

.product-card .pc-price .now,
.pc-price .now,
.product-card [class*="sale-price"],
.product-card [class*="SalePrice"],
.product-card [class*="selling-price"],
.product-card [class*="SellingPrice"] {
  text-align: center !important;
}

/* =========================================================
   FINAL PRODUCT SECTION WIDTH + CARD TEXT/PRICE CENTER ALIGN
   Ref: productGridCollection-component / Tailwind utility classes
   ========================================================= */

/* Same element classes: class="page-container px-4 md:px-10 my-6" */
.page-container.px-4.md\:px-10.my-6,
.productGridCollection-component .page-container.px-4.md\:px-10.my-6,
.section-item-productGridCollection-component .page-container.px-4.md\:px-10.my-6,
[class*="productGridCollection"] .page-container.px-4.md\:px-10.my-6 {
  max-width: 1260px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Product name center align */
.product-card-name,
.product-card .product-card-name,
[class*="product-card"] .product-card-name {
  text-align: center !important;
  width: 100% !important;
  display: block !important;
}

/* Center the price row that contains sale price + MRP */
.product-card .flex.justify-between.items-center:has(.product-card-price),
[class*="product-card"] .flex.justify-between.items-center:has(.product-card-price) {
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}

.product-card .flex.items-center.gap-2:has(.product-card-price),
[class*="product-card"] .flex.items-center.gap-2:has(.product-card-price) {
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}

/* Sale price + MRP text center */
.product-card-price,
.product-card-mrp-price,
.product-card .product-card-price,
.product-card .product-card-mrp-price,
[class*="product-card"] .product-card-price,
[class*="product-card"] .product-card-mrp-price {
  text-align: center !important;
}

/* =========================================================
   HEADING TITLE STYLE — SAME AS CATEGORY SECTION HEADING
   ========================================================= */
.heading-title,
.section-item-productGridCollection-component .heading-title,
.section-item-collection-component .heading-title,
[class*="section-item"] .heading-title,
[class*="Collection"] .heading-title {
  font-family: var(--ff-display) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  font-size: clamp(26px, 3.2vw, 36px) !important;
  line-height: 1.08 !important;
  color: var(--ink) !important;
  margin: 0 !important;
  text-align: left !important;
}

.heading-title span,
.heading-title em {
  font-family: inherit !important;
  font-style: italic !important;
  color: var(--ink) !important;
}

@media (max-width: 680px) {
  .heading-title,
  .section-item-productGridCollection-component .heading-title,
  .section-item-collection-component .heading-title,
  [class*="section-item"] .heading-title,
  [class*="Collection"] .heading-title {
    font-size: 26px !important;
    line-height: 1.12 !important;
  }
}

/* =========================================================
   DESKTOP NAV STYLE — SAME AS PRIMARY NAV
   ========================================================= */
.desktop-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 30px !important;
}

.desktop-nav a,
.desktop-nav .nav-link,
.desktop-nav button {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--ff-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: var(--ink-soft) !important;
  padding: 6px 0 !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  transition: color 0.18s ease !important;
}

.desktop-nav a::after,
.desktop-nav .nav-link::after,
.desktop-nav button::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -2px !important;
  height: 2px !important;
  background: var(--rainbow) !important;
  border-radius: 2px !important;
  transform: scaleX(0) !important;
  transform-origin: left !important;
  transition: transform 0.22s ease !important;
}

.desktop-nav a:hover,
.desktop-nav .nav-link:hover,
.desktop-nav button:hover,
.desktop-nav a.active,
.desktop-nav .nav-link.active,
.desktop-nav button.active {
  color: var(--ink) !important;
}

.desktop-nav a:hover::after,
.desktop-nav .nav-link:hover::after,
.desktop-nav button:hover::after,
.desktop-nav a.active::after,
.desktop-nav .nav-link.active::after,
.desktop-nav button.active::after {
  transform: scaleX(1) !important;
}

@media (max-width: 920px) {
  .desktop-nav {
    display: none !important;
  }
}

.hero-banner-root {
      padding: 31px !important;
}
.product-card {
  margin: 6px !important;
}
.category-header ,.heading-title , .section-heading {
    font-family: var(--ff-display) !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
    font-size: clamp(26px, 3.2vw, 36px) !important;
    line-height: 1.08 !important;
    color: var(--ink) !important;
    margin-bottom: 5px !important;
    text-align: center !important;
}

/* =========================================
   CATEGORY SECTION - CENTER ALIGN
========================================= */

/*.category-swiper {
  width: 100% !important;
  max-width: 1240px !important;

  margin-left: auto !important;
  margin-right: auto !important;

  padding-left: 12px !important;
  padding-right: 12px !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
}
*/

/* Center all category cards */
.category-swiper .swiper-wrapper {
  display: flex !important;
  justify-content: center !important;
  align-items: stretch !important;

  gap: 12px !important;
}


/* Individual category */
.category-swiper .swiper-slide {
  margin: 0 !important;
  text-align: center !important;
}
.desktop-header-nav .nav-link {
    text-transform: CAPITALIZE !important;
    padding-top:21px !important;
    font-size:15.5px !important;
    font-weight:800px 1important;
}
.desktop-location-text
{
padding-top:21px !important;
}


/* Category content */
.category-swiper .category-swiper-slide {
  text-align: center !important;
}
.category-header {
    padding-bottom: 20px !important;
}
.collection-header {
justify-content: space-between !important;
/* align heading edges with product cards (cards carry a 6px margin) */
padding-left: 6px !important;
padding-right: 6px !important;
}


/* Heading */
.category-header {
  width: 100% !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* =========================================
   DESKTOP - 8 IN ONE ROW
========================================= */

@media (min-width: 768px) {

  .category-swiper .swiper-slide {
    width: calc((100% - 84px) / 8) !important;
    flex: 0 0 calc((100% - 84px) / 8) !important;
  }

}


/* =========================================
   MOBILE - 4 IN ONE ROW
========================================= */

@media (max-width: 767px) {

  .category-swiper {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .category-swiper .swiper-wrapper {
    gap: 8px !important;
    justify-content: flex-start !important;
  }

  .category-swiper .swiper-slide {
    width: calc((100% - 24px) / 4) !important;
    flex: 0 0 calc((100% - 24px) / 4) !important;
  }

}

.product-card {
        border-radius: 23px !important;
       }

.cat-card .cat-card-img-rounded, .cat-card .cat-card-img-semi-rounded {
    border-radius: 50px !important;
}
.banner-image{
display: block;
  width: calc(100% - 24px);
  max-width: 1250px;
  height: auto;

  margin: 0 auto;
}

#contact-us-phone {
  display: none !important;
}
/* =====================================================================
   refine-444779 — Vatsu Craft, review round 1 (22 Oct 2026)
   Appended after the merchant's vastucraft18.css. Additive only.
   Target: theme-preview2/preview/vatsu-craft (1240 column, Fraunces/Inter,
   maroon CTAs, gold deal text).
   ===================================================================== */

:root {
  --vc-col: 1240px;      /* column incl. gutters (matches --container) */
  --vc-gutter: 24px;
  --vc-gold: #96690c;    /* preview gold #a9780f darkened to 4.9:1 on white */
}
@media (max-width: 767px) {
  :root { --vc-gutter: 20px; }
}

/* 1. One content column ------------------------------------------------
   Was: content started at 45 / 88 / 113 / 117 / 129 / 141px (desktop) and
   17-54px (phone); footer at 153, PDP at 53. */
main > .grid.section {
  padding-left: 0 !important;   /* theme's 5px side padding showed body colour at the edges */
  padding-right: 0 !important;
}
.page-container.px-4.md\:px-10.my-6 {
  max-width: var(--vc-col) !important;
  padding-left: var(--vc-gutter) !important;
  padding-right: var(--vc-gutter) !important;
}
/* cards carry a 6px margin: pull the row out so card edges sit on the column */
.page-container.px-4.md\:px-10.my-6 .product-collection .swiper {
  margin-left: -6px !important;
  margin-right: -6px !important;
}
.page-container.px-4.md\:px-10.my-6 .collection-header {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* hero: image on the column, warm band instead of cool grey #F5F5F6 */
.hero-banner-root {
  padding: 24px 0 !important;
  background: var(--bg) !important;
}
/* the slider itself sits on the column, so slides = banner width: no cream gap
   between banners mid-slide, and the theme's arrows (left/right 12px) land on the banner */
.hero-banner-root .hero-banner-card {
  width: calc(100% - 2 * var(--vc-gutter)) !important;
  max-width: calc(var(--vc-col) - 48px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.hero-banner-root .banner-image {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
/* HTML sections: .container already 1240/24px; the USP block used 1200/16px */
.why {
  padding-left: var(--vc-gutter) !important;
  padding-right: var(--vc-gutter) !important;
  background: transparent !important;
}
.why__container { max-width: calc(var(--vc-col) - 48px) !important; }
section.section {   /* phones: 5px side padding put HTML sections at 25px */
  padding-left: 0 !important;
  padding-right: 0 !important;
}
@media (max-width: 767px) {
  .container {
    padding-left: var(--vc-gutter) !important;
    padding-right: var(--vc-gutter) !important;
  }
}
/* footer was 1200 with 40px padding (content at 153) */
.footer-v2-container {
  max-width: var(--vc-col) !important;
  padding-left: var(--vc-gutter) !important;
  padding-right: var(--vc-gutter) !important;
}
/* PDP container was 1400 with 40px padding (content at 53) */
.page-container-s.px-3.md\:px-10 {
  max-width: var(--vc-col) !important;
  padding-left: var(--vc-gutter) !important;
  padding-right: var(--vc-gutter) !important;
}
/* category / listing pages (were 1640 with 56px / 40px padding, content at 56) */
@media (min-width: 768px) {
  main .page-container.md\:px-14,
  main .page-container.px-0.md\:px-10 {
    max-width: var(--vc-col) !important;
    padding-left: var(--vc-gutter) !important;
    padding-right: var(--vc-gutter) !important;
  }
}
/* desktop header on the same column (was logo at 40px) */
.desktop-header-main.page-container {
  max-width: var(--vc-col) !important;
  padding-left: var(--vc-gutter) !important;
  padding-right: var(--vc-gutter) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 2. Section titles: one face ------------------------------------------
   Was: "Built to last" in Inter 34/700, every other title Fraunces 36/600. */
.why__title {
  font-family: var(--ff-display) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  font-size: clamp(26px, 3.2vw, 36px) !important;
  line-height: 1.08 !important;
}

/* 3. Buttons -------------------------------------------------------------
   Was: "Start personalizing" wrapped to two lines. */
.promo .btn-primary { white-space: nowrap !important; }
.promo .btn-primary svg {   /* unsized svg collapsed to 0px once the label stopped wrapping */
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 18px !important;
}

/* 4. Short product rows ---------------------------------------------------
   Was: Personalized Products = 3 cards left-aligned in a 5-column row (then
   centred, which fought the left headings). Now rows of 1-4 cards share the
   full column, like the preview's 3-card "Personalise it" row. Desktop only;
   on phones these rows scroll. */
@media (min-width: 769px) {
  .product-collection .swiper-wrapper:not(:has(> .swiper-slide:nth-child(5))) {
    justify-content: flex-start !important;
    gap: 24px;
  }
  .product-collection .swiper-wrapper:not(:has(> .swiper-slide:nth-child(5))) > .swiper-slide {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: none !important;
    margin-right: 0 !important;
  }
}

/* 5. Deal colour: gold, kept apart from the maroon CTA ---------------------
   Was: card "50% OFF" in the same maroon as the buttons. */
.product-card-discount-percent {
  color: var(--vc-gold) !important;
}

/* 6. PDP ------------------------------------------------------------------
   Was: name Inter 20/400 grey; pink-gradient "40% OFF!" flag; green tax line;
   breadcrumb in Arial; section titles Inter 19/700. */
.product-subtitle-main {
  font-family: var(--ff-display) !important;
  font-weight: 600 !important;
  font-size: clamp(24px, 3.2vw, 34px) !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
  color: var(--ink) !important;
}
.product-price-main,
.product-price-main span { color: var(--price) !important; }
.product-mrp-main { color: var(--muted) !important; font-size: 17px !important; }
.product-discount-main {
  background: none !important;
  clip-path: none !important;
  color: var(--vc-gold) !important;
  padding-left: 0 !important;
}
.product-tax-info {
  color: var(--muted) !important;
  font-weight: 500 !important;
  font-size: 12.5px !important;
}
nav.breadcrumb, nav.breadcrumb a, nav.breadcrumb span {
  font-family: var(--ff-body) !important;
  font-size: 13px !important;
}
nav.breadcrumb .current { color: var(--ink-soft) !important; font-weight: 500 !important; }
.expandable-section-title,
.ratings-reviews-title,
h5.related-products-heading {
  font-family: var(--ff-display) !important;
  font-weight: 600 !important;
  font-size: 22px !important;
  color: var(--ink) !important;
}

/* 7. Phone ----------------------------------------------------------------
   Was: category labels broke mid-word ("Personal ized…"); "See All" wrapped;
   hero was the 5:1 desktop banner shrunk to ~70px tall. */
.cat-card-title {
  word-break: normal !important;
  overflow-wrap: normal !important;
}
@media (max-width: 767px) {
  .cat-card-title {
    font-size: 11px !important;   /* 11.5 overflowed by 1px once categories sat on the 20px column */
    margin-left: -6px !important;
    margin-right: -6px !important;
  }
  .shop-all-link { white-space: nowrap !important; }
}
@media (max-width: 374px) {
  .cat-card-title {   /* "Personalized" is wider than a 320-360px tile */
    font-size: 10px !important;
    margin-left: -9px !important;
    margin-right: -9px !important;
  }
}
@media (max-width: 680px) {
  /* reviews scroller: snap pulled the first card to 2px; keep it on the 20px column */
  .tst-grid {
    padding-left: var(--vc-gutter) !important;
    padding-right: var(--vc-gutter) !important;
    margin-left: calc(-1 * var(--vc-gutter)) !important;
    margin-right: calc(-1 * var(--vc-gutter)) !important;
    scroll-padding-inline: var(--vc-gutter) !important;
  }
}
@media (max-width: 767px) {
  /* Round 1 forced 100px + cover here, assuming phones got the 5:1 desktop image.
     They don't: the server picks the banner by user agent (device_type), and phones
     get the merchant's square 1254x1254 mobile banners. Show those whole. */
  .hero-banner-root .banner-image { height: auto !important; }
}

/* 9. Personalised hero (HTML banner 180789, hero-personalised.html) ---------
   The preview's hero (preview index.html .hero*), values copied from it. It is the
   only slide, so it is full-bleed and the slider chrome is hidden. The :not(:has(
   .banner-image)) guard brings arrows/padding back if image banners are re-enabled. */
.hero-banner-root:has(.vc-hero):not(:has(.banner-image)) {
  padding: 0 !important;
}
.hero-banner-root:has(.vc-hero):not(:has(.banner-image)) .hero-banner-card {
  width: 100% !important;
  max-width: none !important;
  border-radius: 0 !important;
}
.hero-banner-root:has(.vc-hero):not(:has(.banner-image)) .banner-nav-btn,
.hero-banner-root:has(.vc-hero):not(:has(.banner-image)) .hero-banner-pagination {
  display: none !important;
}
.vc-hero {
  position: relative;
  overflow: hidden;
  background: #faf4ea;
  font-family: var(--ff-body);
  color: #2b1b18;
  text-align: left;
  line-height: 1.5;
}
.vc-hero__bg { position: absolute; inset: 0; z-index: 0; }
.vc-hero__bg img {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: 74% 46%;
  display: block;
  max-width: none;
}
.vc-hero::before {
  content: "";
  position: absolute; inset: 0; z-index: 1;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(250, 244, 234, .97) 0%, rgba(250, 244, 234, .88) 26%,
    rgba(250, 244, 234, .42) 48%, rgba(250, 244, 234, 0) 66%);
}
.vc-hero__wrap {
  position: relative; z-index: 2;
  max-width: var(--vc-col);
  margin: 0 auto;
  padding: 0 var(--vc-gutter);
  display: flex; align-items: center;
  min-height: min(66vh, 600px);
}
.vc-hero__copy { max-width: 540px; padding: 44px 0; }
.vc-hero__eye {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: #8A1817;
  background: #f3e8e8;
  border: 1px solid #e8d1d1;
  padding: 6px 14px;
  border-radius: 999px;
  margin: 0 0 18px;
}
.vc-hero__t {
  font-family: var(--ff-display);
  font-weight: 600;
  line-height: 1.02;
  font-size: clamp(34px, 5.4vw, 58px);
  letter-spacing: -.02em;
  margin: 0 0 16px;
  color: #2b1b18;
}
.vc-hero__t em { font-style: italic; color: #8A1817; }
.vc-hero__lead {
  font-size: clamp(15px, 1.7vw, 17.5px);
  color: #5f4d45;
  margin: 0 0 26px;
  max-width: 30em;
}
.vc-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }
.vc-hero__btn {
  display: inline-flex; align-items: center; gap: 8px;
  text-decoration: none;
  background: #8A1817; color: #fff !important;
  font-weight: 700; font-size: 15px;
  padding: 13px 26px;
  border-radius: 999px;
  border: 1.5px solid #8A1817;
  box-shadow: 0 8px 22px -10px rgba(138, 24, 23, .6);
  transition: transform .15s ease, box-shadow .15s ease;
}
.vc-hero__btn:hover { transform: translateY(-2px); box-shadow: 0 14px 28px -12px rgba(138, 24, 23, .7); }
.vc-hero__btn--ghost {
  background: transparent; color: #8A1817 !important;
  border-color: rgba(138, 24, 23, .4);
  box-shadow: none;
}
.vc-hero__btn--ghost:hover { background: rgba(138, 24, 23, .07); box-shadow: none; }
.vc-hero__trust {
  display: flex; gap: 18px; flex-wrap: wrap;
  margin-top: 26px; padding-top: 22px;
  border-top: 1px solid rgba(138, 24, 23, .16);
}
.vc-hero__trust div { font-size: 13px; color: #2b1b18; }
.vc-hero__trust b {
  display: block;
  font-family: var(--ff-display);
  font-size: 19px; font-weight: 600;
  color: #8A1817;
}
.vc-hero__float {
  position: absolute; right: 22px; top: 22px; z-index: 3;
  background: #8A1817; color: #fff;
  border-radius: 14px;
  padding: 10px 15px;
  text-align: center;
  box-shadow: 0 18px 36px -18px rgba(138, 24, 23, .8);
}
.vc-hero__float b { font-family: var(--ff-display); font-size: 20px; display: block; line-height: 1; }
.vc-hero__float span { font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; opacity: .9; }
@media (max-width: 900px) {   /* preview stacks at 860; 900 keeps the copy off the magnet on tablets */
  .vc-hero { display: flex; flex-direction: column; }
  .vc-hero::before { display: none; }
  .vc-hero__bg { position: relative; inset: auto; aspect-ratio: 1080 / 780; }
  .vc-hero__wrap { min-height: 0; width: 100%; }
  .vc-hero__copy { max-width: none; padding: 22px 0 30px; }
}
@media (min-width: 600px) and (max-width: 900px) {   /* tablets: stacked photo was 545px tall */
  .vc-hero__bg { aspect-ratio: auto; height: 380px; }
}
@media (max-width: 420px) {
  .vc-hero__trust { gap: 14px; }
  .vc-hero__eye { font-size: 10.5px; letter-spacing: .1em; padding: 5px 12px; }   /* one line at 375 */
}
@media (max-width: 359px) {
  .vc-hero__eye { font-size: 9.5px; letter-spacing: .06em; padding: 5px 10px; }   /* one line at 320 */
}

/* 10. Banner sections (the merchant's 3 banners, moved from the hero) -------
   Was: 1250px wide via the merchant's .banner-image rule, 94px from the edge. */
.BannerCollection-component .page-container {
  max-width: var(--vc-col) !important;
  padding-left: var(--vc-gutter) !important;
  padding-right: var(--vc-gutter) !important;
}
main > .grid.section:has(.BannerCollection-component) {   /* same white band as the product row it introduces */
  background-color: #ffffff !important;
}
.BannerCollection-component .banner-image {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 12px !important;
}

/* 11. Vertical rhythm -------------------------------------------------------
   Preview: every section padding clamp(34px, 5.5vw, 60px) top and bottom, so the
   gap between two sections' content is 120px at 1440 and 68px on phones.
   Was: 15-92px (theme 5px wrapper padding, 24px my-6 margins, categories
   12+24+12px, merchant HTML-section 42-64px paddings, no spacing around banners). */
:root { --vc-sec: clamp(34px, 5.5vw, 60px); }
main > .grid.section {
  padding-top: var(--vc-sec) !important;
  padding-bottom: var(--vc-sec) !important;
}
main > .grid.section:has(.StoreBanner-component) { padding: 0 !important; }   /* empty 10px placeholder */
.page-container.px-4.md\:px-10.my-6,
.BannerCollection-component .page-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.LargeCategoriesCardV1-component.section-item { margin-top: 0 !important; margin-bottom: 0 !important; }
.LargeCategoriesCardV1-component .page-container > .flex.flex-wrap.justify-center {
  padding-top: 0 !important; padding-bottom: 0 !important;
  margin-top: 0 !important; margin-bottom: 0 !important;
}
main section.section,
.why {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.why {   /* its 1px top/bottom lines hugged the content once the padding moved out; no other section has them */
  border-top: 0 !important;
  border-bottom: 0 !important;
}
/* non-scrolling product rows: the white card's own 6px margin + 10px padding sit
   under the buttons (cards are invisible on white), so take them off the section */
@media (min-width: 769px) {
  main > .grid.section:has(.ProductGridCollection-component):has(.swiper-pagination-lock) {
    padding-bottom: calc(var(--vc-sec) - 16px) !important;
  }
}
@media (max-width: 680px) {   /* reviews scroller keeps 14px under the cards for their shadow */
  main > .grid.section:has(.tst-grid) { padding-bottom: calc(var(--vc-sec) - 14px) !important; }
}
footer.footer-v2 { padding-top: var(--vc-sec) !important; }

/* 12. UI consistency (review 22 Oct 2026) -----------------------------------
   Preview values: headings ink #2b1b18 (maroon only for accents), one left edge,
   eyebrow 12px/700/.16em maroon, 18px corners, warm card text, tinted card CTA. */
:root { --vc-ink: #2b1b18; --vc-muted: #7c6a60; --vc-maroon: #8A1817; }

/* headings: one colour, one left edge (were maroon; categories/why/reviews centred) */
main .category-header,
main .heading-title,
main .why__title,
main .section-head h2,
.product-subtitle-main,
.expandable-section-title,
.ratings-reviews-title,
h5.related-products-heading {
  color: var(--vc-ink) !important;
}
main .category-header,
main .why__title,
main .section-head h2 {
  text-align: left !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
main [class*="section-item"] .heading-title { color: var(--vc-ink) !important; }   /* beats the merchant's [class*="Collection"] .heading-title */
main [class*="section-item"] .heading-title em { color: var(--vc-maroon) !important; }
.product-card-mrp, .product-card-mrp * { color: var(--vc-muted) !important; }
.why__head { text-align: left !important; }
main .section-head {   /* reviews head is centred by an inline style */
  align-items: flex-start !important;
  text-align: left !important;
}
.LargeCategoriesCardV1-component .page-container {   /* categories were on a 1640px container */
  max-width: var(--vc-col) !important;
  padding-left: var(--vc-gutter) !important;
  padding-right: var(--vc-gutter) !important;
}
.LargeCategoriesCardV1-component .page-container > .flex.flex-wrap.justify-center { justify-content: flex-start !important; }
@media (min-width: 769px) {   /* spread the category circles across the column under a left heading */
  .category-swiper { margin: 0 !important; padding: 0 !important; }
  .category-swiper .swiper-wrapper { justify-content: space-between !important; gap: 24px !important; }
  .category-swiper .swiper-slide {
    flex: 1 1 0 !important;
    width: auto !important;
    max-width: 260px !important;
  }
  .category-swiper .cat-card { margin: 0 auto !important; width: 180px !important; }
  .category-swiper .cat-card-img-root,
  .category-swiper .cat-card-img { width: 180px !important; height: 180px !important; }
  .category-swiper .cat-card-title { font-size: 15px !important; font-weight: 600 !important; color: var(--vc-ink) !important; }
}

/* eyebrows: one style (were 11-12px, 400-700, maroon / grey) */
.why__eyebrow,
main .section-head .eyebrow,
.promo-content .eyebrow {
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}
.why__eyebrow, main .section-head .eyebrow { color: var(--vc-maroon) !important; }

/* "See All": maroon, not theme-default black */
.shop-all-link,
.shop-all-link * {
  color: var(--vc-maroon) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
}

/* one corner radius: 18px (were 23 / 20 / 14 / 12) */
.product-card,
.why__card,
.tst-card,
.promo,
.BannerCollection-component .banner-image {
  border-radius: 18px !important;
}

/* product card text: warm ink/muted (were theme blue-greys #282C3F/#535766) */
.product-card-brand { color: var(--vc-ink) !important; font-weight: 600 !important; }
.product-card-category { color: var(--vc-muted) !important; }
.product-card-pricing-row,
.product-card-pricing-row > span:first-child { color: var(--vc-ink) !important; }
.product-card-discount-percent { font-size: 12px !important; font-weight: 700 !important; }
.product-card-btn {   /* preview .pcard__cta (was a white 8px box) */
  background: #f6ecec !important;
  color: var(--vc-maroon) !important;
  border: 1px solid #e3c8c7 !important;
  border-radius: 11px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.product-card-btn:hover { background: var(--vc-maroon) !important; color: #fff !important; border-color: var(--vc-maroon) !important; }

/* header icons: warm ink (were #282C3F) */
header svg { color: var(--vc-ink) !important; }

/* 13. Header (review 22 Oct 2026) ---------------------------------------------
   Two rows from 769px (user OK): row 1 logo / search box / Login-Bag, row 2 the
   five categories. Was one row: the theme's overflow script hid items in "..."
   below 1280px and the merchant CSS hid the whole menu below 920px.
   Search box = the closed Search button styled as the preview's pill; clicking
   opens the theme's search. Icon labels ink (were #282C3F). */
/* no width limit: these only target header.desktop-header, which the theme shows
   from 768px (at exactly 768 a min-width:769 rule left the menu hidden) */
@media all {
  header.desktop-header .desktop-header-main { height: auto !important; }
  header.desktop-header .desktop-header-top { flex-wrap: wrap !important; height: auto !important; row-gap: 0 !important; }
  header.desktop-header .desktop-header-left { order: 1; height: 72px; display: flex !important; align-items: center !important; }
  header.desktop-header .desktop-header-right { order: 2; margin-left: auto !important; }
  header.desktop-header .desktop-header-nav {
    order: 3;
    flex: 0 0 100% !important;
    width: 100% !important;
    height: 44px !important;
    border-top: 1px solid #f0e6da;
    overflow: visible !important;
  }
  header.desktop-header .desktop-header-nav .desktop-nav {
    display: flex !important;
    justify-content: flex-start !important;
    gap: 32px !important;
    width: 100% !important;
  }
  header.desktop-header .desktop-header-nav .nav-link {
    padding: 0 !important;
    height: 44px;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--vc-ink) !important;
  }
  header.desktop-header .desktop-header-right > button.desktop-action-item[aria-label="Search"] {
    flex-direction: row !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 280px !important;
    height: 42px !important;
    padding: 0 16px !important;
    margin-right: 8px !important;
    border: 1px solid #ece0cf !important;
    border-radius: 999px !important;
    background: #faf4ea !important;
  }
  header.desktop-header .desktop-header-right > button.desktop-action-item[aria-label="Search"] > span { font-size: 0 !important; }
  header.desktop-header .desktop-header-right > button.desktop-action-item[aria-label="Search"] > span::after {
    content: "Search magnets, coasters, gifts…";
    font-size: 14px; font-weight: 400; letter-spacing: 0;
    color: #7c6a60;
  }
  header.desktop-header .desktop-header-right > button.desktop-action-item[aria-label="Search"] svg {
    width: 18px !important; height: 18px !important; flex: 0 0 18px;
  }
}
@media (min-width: 1024px) {   /* preview search box width */
  header.desktop-header .desktop-header-right > button.desktop-action-item[aria-label="Search"] { width: 360px !important; }
}
header.desktop-header .desktop-action-item,
header.desktop-header .desktop-action-item span { color: var(--vc-ink) !important; }
header.desktop-header .desktop-action-item .badge-icon-count { color: #fff !important; }   /* the ink rule above made the cart count dark-on-maroon */

/* 8. Footer ---------------------------------------------------------------
   Was: empty "KEEP IN TOUCH" column (no social links set). */
.footer-v2-keep-in-touch:not(:has(.social-icons > *)) { display: none !important; }
