/* Vastutathastu storefront theme — header, footer and homepage (Figma: Vastutathastu Main) */
@import url("https://fonts.googleapis.com/css2?family=Archivo:wdth,wght@112..125,500..700&family=Cormorant+Garamond:wght@400;500;600;700&family=Gentium+Book+Plus:ital,wght@0,400;0,700;1,400&family=Manrope:wght@400;500;600;700;800&family=Nunito+Sans:opsz,wght@6..12,400;6..12,600&family=Nunito:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&family=Playfair+Display:wght@400;600&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap");

:root {
  /* Fonts from the final Figma (Vastutathastu-Home, Page 4 — 625:3005): Manrope + Cormorant Garamond */
  --vt-serif: "Cormorant Garamond", "Gentium Book Plus", Georgia, serif;
  --vt-sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --vt-sans-alt: "Nunito Sans", "Nunito", system-ui, sans-serif;
  --vt-ui: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --vt-display: "Cormorant Garamond", "Gentium Book Plus", Georgia, serif;
  --vt-news: "Playfair Display", Georgia, serif;
  --vt-jakarta: "Plus Jakarta Sans", "Nunito", system-ui, sans-serif;
  --vt-ink: #000;
  --vt-bronze: #806559;
  --vt-forest: #0b251f;
  --vt-forest-line: #334d45;
  --vt-gold: #ba8f40;
  --vt-cream: #f6f1e3;
  --vt-stone: #f0eee4;
  --vt-mist: #c7d1c7;
  --vt-header-bg: #1c1411;
  --vt-max: 1450px;
}

/* ---------- Header ---------- */
.vt-header {
  position: relative;
  z-index: 50;
  color: #fff;
  background: var(--vt-header-bg);
  font-family: var(--vt-sans);
}
.vt-header--overlay {
  position: absolute;
  inset: 0 0 auto 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, .7) 0%, rgba(0, 0, 0, .5) 31.77%, rgba(0, 0, 0, .3) 81.77%, rgba(0, 0, 0, 0) 100%);
  padding-bottom: 55px;
}
.vt-header a { color: #fff; text-decoration: none; }
.vt-header a:hover { color: #fff; opacity: .8; }

.vt-utility {
  display: flex;
  align-items: center;
  height: 35px;
  padding: 0 25px;
  font-size: 13px;
  letter-spacing: .4px;
  line-height: 15.6px;
}
.vt-utility__side { flex: 1 1 0; display: flex; align-items: center; gap: 22px; }
.vt-utility__side--end { justify-content: flex-end; }
.vt-utility__link { display: inline-flex; align-items: center; gap: 11px; text-transform: none; }
.vt-utility__link img, .vt-utility__link .vt-icon { display: block; flex: 0 0 auto; }
.vt-ticker { width: 300px; height: 16px; overflow: hidden; position: relative; text-align: center; }
.vt-ticker__item {
  position: absolute;
  inset: 0;
  white-space: nowrap;
  letter-spacing: .9px;
  opacity: 0;
  transform: translateY(100%);
  transition: opacity .5s ease, transform .5s ease;
}
.vt-ticker__item.is-active { opacity: 1; transform: none; }

.vt-brand { display: flex; justify-content: center; padding: 29px 16px 29px; }
.vt-brand img { display: block; width: 341px; height: auto; max-width: 70vw; }

.vt-nav { display: flex; justify-content: center; align-items: flex-start; height: 37px; padding: 0 15px; }
.vt-nav__list { display: flex; list-style: none; margin: 0; padding: 0; }
.vt-nav__list li { padding: 6px 30px 0; }
.vt-nav__list a {
  display: block;
  height: 30.6px;
  font-size: 14px;
  line-height: 19.6px;
  letter-spacing: .4px;
  white-space: nowrap;
  border-bottom: 4px solid transparent;
}
.vt-nav__list a:hover, .vt-nav__list a.is-active { border-bottom-color: #fff; opacity: 1; }
.vt-nav__icons { display: flex; align-items: flex-start; list-style: none; margin: 0; padding: 5px 0 0 60px; gap: 6px; }
.vt-nav__icons li { position: relative; }
.vt-nav__icons a, .vt-nav__icons button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 32px;
  padding: 0;
  color: #fff;
  background: none;
  border: 0;
}
.vt-nav__icons img, .vt-nav__icons .vt-icon { display: block; }
.vt-count {
  position: absolute;
  left: 22px;
  top: 6px;
  min-width: 14px;
  height: 14px;
  padding: 0 3px;
  border-radius: 7px;
  background: #fff;
  color: #000;
  font-size: 9px;
  line-height: 14px;
  text-align: center;
  letter-spacing: .4px;
}
.vt-count:empty, .vt-count[data-count="0"] { display: inline-block; }
.vt-header .site-account-avatar {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  background: #fff; color: #000; font-size: 10px; font-weight: 600;
}
.vt-header .site-wishlist-entry svg { width: 22px; height: 22px; }
.vt-header .signin-cart-btn svg { width: 18px; height: 18px; }
.vt-menu-toggle { display: none; }

/* ---------- Shared homepage primitives ---------- */
.vt-home { font-family: var(--vt-sans); color: var(--vt-ink); background: #fff; }
.vt-home img { max-width: 100%; }
.vt-h1, .vt-h2, .vt-h3 { font-family: var(--vt-serif); font-weight: 400; color: var(--vt-ink); margin: 0; }
.vt-h2 { font-size: 47px; line-height: 56.4px; }
.vt-h3 { font-size: 36px; line-height: 43.2px; }
.vt-body { font-size: 16px; line-height: 25.6px; letter-spacing: .4px; margin: 0; }
.vt-link {
  display: inline-block;
  font-size: 16px;
  line-height: 22.4px;
  letter-spacing: .4px;
  color: var(--vt-ink);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.vt-link:hover { color: var(--vt-bronze); }
.vt-section-head { text-align: center; padding: 55px 0; }

/* ---------- Hero ---------- */
.vt-hero { position: relative; height: 650px; overflow: hidden; background: #140d0b; }
.vt-hero__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
}
.vt-hero__shade { position: absolute; inset: 0; background: rgba(0, 0, 0, .2); }
.vt-hero__content {
  position: absolute;
  left: 0;
  top: 277.5px;
  width: 692px;
  max-width: 100%;
  padding-left: 136px;
}
.vt-hero__title {
  font-family: var(--vt-serif);
  font-weight: 600;
  font-size: 61px;
  line-height: 73.2px;
  color: #fff;
  margin: 0;
  max-width: 557px;
}
.vt-hero__actions { display: flex; gap: 10px; padding-top: 40px; }
.vt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 230px;
  min-height: 40px;
  padding: 0 13px;
  border: .8px solid var(--vt-bronze);
  font-size: 16px;
  line-height: 22.4px;
  letter-spacing: .4px;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}
.vt-btn--solid { background: var(--vt-bronze); color: #fff; }
.vt-btn--solid:hover { background: #6c554b; color: #fff; }
.vt-btn--ghost { background: transparent; color: var(--vt-bronze); }
.vt-btn--ghost:hover { background: var(--vt-bronze); color: #fff; }

/* ---------- Intro ---------- */
.vt-intro { background: var(--vt-stone); display: flex; justify-content: center; padding: 55px 16px; text-align: center; }
.vt-intro__inner { max-width: 1024px; }
.vt-intro .vt-body { padding-top: 34px; padding-bottom: 34px; }

/* ---------- Category grid ---------- */
.vt-categories { padding: 48px 0; background: #fff; }
.vt-container { max-width: var(--vt-max); margin: 0 auto; padding: 0 16px; }
.vt-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px 13px; }
.vt-cat {
  display: flex;
  flex-direction: column;
  background: rgba(255, 255, 255, .5);
  color: var(--vt-ink);
  text-decoration: none;
}
.vt-cat__img { aspect-ratio: 1 / 1; overflow: hidden; }
.vt-cat__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.vt-cat:hover .vt-cat__img img { transform: scale(1.04); }
.vt-cat__label {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  padding: 0 5px;
  font-size: 16px;
  line-height: 22.4px;
  letter-spacing: .4px;
  text-align: center;
}

/* ---------- Split feature (image + copy) ---------- */
.vt-split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: #fff; }
.vt-split__media { height: 730px; overflow: hidden; display: block; }
.vt-split__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vt-split__media--contain img { object-fit: contain; }
.vt-split__copy { padding: 0 16.6%; max-width: 760px; }
.vt-split__copy .vt-h3 { padding-top: 8px; }
.vt-split__copy .vt-body { padding-top: 21px; }
.vt-split__copy .vt-body--sm { font-size: 14px; line-height: 20px; }
.vt-split__links { padding-top: 34px; display: flex; flex-direction: column; gap: 4px; align-items: flex-start; }

/* ---------- Product carousel ---------- */
.vt-products { background: var(--vt-stone); padding: 55px 0; }
.vt-products .vt-h3 { text-align: center; padding: 10px 0 30px; }
.vt-carousel { position: relative; }
.vt-carousel__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.vt-carousel__track::-webkit-scrollbar { display: none; }
.vt-carousel__slide { flex: 0 0 25%; padding: 0 12.5px 0 2.5px; scroll-snap-align: start; }
.vt-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: 460px;
  background: #fff;
  color: var(--vt-ink);
  text-decoration: none;
  text-align: center;
}
.vt-card:hover { color: var(--vt-ink); }
.vt-card__img { padding: 55px 0 72px; }
.vt-card__img img { width: 192px; height: 192px; object-fit: cover; display: block; transition: transform .5s ease; }
.vt-card:hover .vt-card__img img { transform: scale(1.05); }
.vt-card__meta { padding: 0 30px 30px; font-size: 13px; line-height: 15.6px; letter-spacing: .4px; }
.vt-card__badge {
  display: inline-block;
  min-width: 55px;
  height: 18px;
  margin-bottom: 8px;
  padding: 0 8px;
  border-radius: 9px;
  background: var(--vt-stone);
  font-size: 10px;
  line-height: 18px;
}
.vt-card__badge--empty { visibility: hidden; }
.vt-card__sub { padding: 8px 0; }
.vt-carousel__btn {
  position: absolute;
  top: 210px;
  width: 40px;
  height: 40px;
  border: 0;
  padding: 0;
  background: #000;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.vt-carousel__btn img { display: block; width: 40px; height: 40px; }
.vt-carousel__btn .vt-icon { display: block; color: #fff; }
.vt-carousel__btn--next { right: 25px; }
.vt-carousel__btn--prev { left: 12px; }
.vt-carousel__btn[hidden] { display: none; }

/* ---------- Wisdom for Harmonious Living ---------- */
.vt-wisdom { background: #fff; padding: 55px 0 80px; }
.vt-wisdom__head { text-align: center; padding-bottom: 40px; }
.vt-wisdom__head .vt-body { padding-top: 16px; }
.vt-wisdom__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.vt-article { display: flex; flex-direction: column; }
.vt-article__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; margin-bottom: 24px; }
.vt-article__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.vt-article:hover .vt-article__img img { transform: scale(1.04); }
.vt-home .vt-article__kicker { font-size: 11px; line-height: 16px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--vt-bronze); margin: 0 0 10px; }
.vt-article__title { font-family: var(--vt-serif); font-weight: 400; font-size: 26px; line-height: 34px; margin: 0; }
.vt-home .vt-article__title a { color: var(--vt-ink); text-decoration: none; }
.vt-home .vt-article__title a:hover { color: var(--vt-bronze); }
.vt-home .vt-article__text { font-size: 14px; line-height: 22px; letter-spacing: .2px; color: #444; padding: 14px 0 20px; }
.vt-article__link {
  margin-top: auto;
  align-self: flex-start;
  font-size: 12px;
  line-height: 18px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--vt-ink);
  text-decoration: none;
}
.vt-article__link:hover { color: var(--vt-bronze); }

/* ---------- Footer ---------- */
.vt-footer { background: var(--vt-forest); color: #fff; font-family: var(--vt-sans); }
.vt-footer a { color: inherit; text-decoration: none; }
.vt-footer a:hover { color: var(--vt-gold); }
.vt-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  min-height: 260px;
  padding: 54px 104px;
  background: var(--vt-cream);
  color: var(--vt-forest);
}
.vt-cta__copy { display: flex; flex-direction: column; gap: 12px; max-width: 800px; }
.vt-kicker { font-size: 13px; line-height: 18px; font-weight: 600; letter-spacing: .6px; color: var(--vt-gold); margin: 0; text-transform: uppercase; }
.vt-cta__title { font-family: var(--vt-serif); font-weight: 400; font-size: 38px; line-height: 46px; margin: 0; color: var(--vt-forest); }
.vt-cta__text { font-size: 16px; line-height: 24px; margin: 0; }
.vt-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 236px;
  height: 64px;
  padding: 16px 28px;
  border-radius: 8px;
  background: var(--vt-forest);
  color: #fff !important;
  font-size: 13px;
  line-height: 18px;
  font-weight: 600;
  letter-spacing: .6px;
}
.vt-cta__btn:hover { background: #163a31; }
.vt-footer__main { display: flex; gap: 54px; padding: 66px 104px 58px; }
.vt-footer__brand { flex: 0 0 330px; display: flex; flex-direction: column; gap: 18px; }
.vt-footer__logo { display: inline-flex; align-self: flex-start; padding: 12px 18px; background: var(--vt-cream); }
.vt-footer__logo img { display: block; width: 244px; height: auto; }
.vt-footer__about { color: var(--vt-mist); font-size: 15px; line-height: 23px; margin: 0; max-width: 310px; }
.vt-footer__place { font-size: 14px; line-height: 22px; margin: 0; }
.vt-footer__col { display: flex; flex-direction: column; gap: 14px; }
.vt-footer__col--shop { flex: 0 0 150px; }
.vt-footer__col--guidance { flex: 0 0 170px; }
.vt-footer__col--about { flex: 0 0 190px; }
.vt-footer__col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.vt-footer__col li { font-size: 14px; line-height: 20px; }
.vt-footer__news { flex: 0 1 330px; display: flex; flex-direction: column; gap: 14px; }
.vt-footer__news-title { font-family: var(--vt-serif); font-weight: 400; font-size: 25px; line-height: 32px; margin: 0; }
.vt-footer__news-text { color: var(--vt-mist); font-size: 14px; line-height: 22px; margin: 0; }
.vt-signup { display: flex; align-items: center; gap: 8px; background: #fff; height: 48px; padding: 0 6px 0 16px; border-radius: 4px; max-width: 300px; }
.vt-signup input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #1a1a1a;
  font: 14px/20px var(--vt-sans);
}
.vt-signup input::placeholder { color: #525252; }
.vt-signup button {
  flex: 0 0 auto;
  border: 0;
  height: 34px;
  padding: 0 16px;
  border-radius: 4px;
  background: var(--vt-gold);
  color: var(--vt-forest);
  font: 600 12px/16px var(--vt-sans);
  letter-spacing: .6px;
  cursor: pointer;
}
.vt-signup button:hover { background: #a67d33; }
.vt-footer .pp-newsletter-status { font-size: 13px; color: var(--vt-mist); }
.vt-social { display: flex; gap: 8px; font-size: 14px; line-height: 20px; flex-wrap: wrap; }
.vt-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 100px;
  padding: 28px 104px;
  border-top: 1px solid var(--vt-forest-line);
  font-size: 12px;
  line-height: 18px;
  color: var(--vt-mist);
}
.vt-footer__legal { display: flex; gap: 12px; flex-wrap: wrap; }
.vt-footer__locale { color: #fff; }

/* ---------- Content page (About / World of Vastutathastu) ---------- */
.vt-content-page { padding: 72px 16px 96px; }
.vt-content-page__inner { max-width: 820px; margin: 0 auto; }
.vt-content-page .vt-kicker { color: var(--vt-bronze); margin-bottom: 12px; }
.vt-content-page .vt-h2 { margin-bottom: 32px; }
.vt-rich-text { font-size: 16px; line-height: 1.7; color: #222; }
.vt-rich-text h2, .vt-rich-text h3, .vt-rich-text h4 { font-family: var(--vt-serif); font-weight: 400; color: var(--vt-ink); margin: 1.6em 0 .6em; line-height: 1.25; }
.vt-rich-text h2 { font-size: 30px; }
.vt-rich-text h3 { font-size: 24px; }
.vt-home .vt-rich-text p { margin: 0 0 1.1em; color: #222; }
.vt-rich-text ul, .vt-rich-text ol { padding-left: 1.3em; margin: 0 0 1.1em; }
.vt-rich-text img { max-width: 100%; height: auto; margin: 1.2em 0; }
.vt-rich-text a { color: var(--vt-bronze); text-decoration: underline; }
.vt-rich-text table { width: 100%; border-collapse: collapse; margin: 0 0 1.2em; display: block; overflow-x: auto; }
.vt-rich-text td, .vt-rich-text th { border: 1px solid #e3e0d6; padding: 8px 10px; }

/* ---------- Empty / not found state ---------- */
.vt-empty { text-align: center; padding: 96px 16px 112px; background: var(--vt-stone); }
.vt-home .vt-empty__code { font-family: var(--vt-serif); font-size: clamp(72px, 8vw, 120px); line-height: 1; color: var(--vt-bronze); margin: 0 0 16px; }
.vt-empty .vt-body { max-width: 520px; margin: 18px auto 0; }
.vt-empty__actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; padding-top: 32px; }
.vt-btn--outline { background: transparent; color: var(--vt-bronze); }
.vt-btn--outline:hover { background: var(--vt-bronze); color: #fff; }
@media (max-width: 575px) {
  .vt-content-page { padding: 48px 20px 64px; }
  .vt-empty { padding: 64px 20px 72px; }
  .vt-empty__actions .vt-btn { width: 100%; }
}

/* ---------- Empty listing ("No products found") ---------- */
.collection-page__empty { grid-column: 1 / -1; width: 100%; }
.vt-empty-state {
  max-width: 560px;
  margin: 24px auto;
  padding: 56px 32px;
  text-align: center;
  background: var(--vt-stone);
  color: var(--vt-bronze);
  font-family: var(--vt-sans);
}
.vt-empty-state__icon { display: block; margin: 0 auto 20px; }
.vt-empty-state .vt-kicker { color: var(--vt-bronze); margin-bottom: 8px; }
.vt-empty-state .vt-empty-state__title { font-family: var(--vt-serif); font-weight: 400; font-size: clamp(26px, 1vw + 20px, 34px); line-height: 1.2; color: var(--vt-ink); margin: 0; }
.vt-empty-state .vt-empty-state__text { font-size: 15px; line-height: 24px; color: #444; margin: 14px auto 0; max-width: 420px; }
.vt-empty-state__actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; padding-top: 28px; }
.vt-empty-state .vt-btn { width: auto; min-width: 190px; }
.vt-content-page .vt-empty-state { margin-top: 8px; }
.vt-content-page--tight { padding-top: 16px; }
.vt-founder .vt-kicker { color: var(--vt-bronze); margin-bottom: 8px; }
.vt-founder .vt-body + .vt-body { padding-top: 14px; }
@media (max-width: 575px) {
  .vt-empty-state { padding: 40px 20px; margin: 8px auto; }
  .vt-empty-state .vt-btn { width: 100%; }
}

/* ---------- Auth pages (login, signup, password) ---------- */
.registration-section .section-title .title,
.pp-auth-page .section-title .title {
  font-family: var(--vt-serif);
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  font-size: clamp(32px, 1.4vw + 24px, 44px);
  line-height: 1.2;
  color: var(--vt-ink);
}
.registration-section .section-title .sub-title,
.pp-auth-page .section-title .sub-title { max-width: 460px; margin-left: auto; margin-right: auto; color: #444; }

/* ---------- Responsive ----------
   Breakpoints: ≥1400 wide desktop (Figma 1521) · 1200–1399 laptop · 992–1199 small laptop
   768–991 tablet · 576–767 large phone · ≤575 phone · ≤360 small phone */
.vt-ticker__item { overflow: hidden; text-overflow: ellipsis; }
.vt-hero__title { font-size: clamp(34px, 2.6vw + 22px, 61px); line-height: 1.2; }
.vt-h2 { font-size: clamp(28px, 1.8vw + 20px, 47px); line-height: 1.2; }
.vt-h3 { font-size: clamp(26px, 1.1vw + 19px, 36px); line-height: 1.2; }
.vt-cta__title { font-size: clamp(28px, 1.1vw + 21px, 38px); line-height: 1.21; }
.vt-article__title { font-size: clamp(21px, .6vw + 16px, 26px); line-height: 1.3; }

@media (min-width: 1800px) {
  .vt-hero { height: 720px; }
  .vt-hero__content { top: auto; bottom: 150px; padding-left: max(136px, calc((100vw - 1450px) / 2)); }
  .vt-split__media { height: 820px; }
}

@media (max-width: 1399px) {
  .vt-nav__list li { padding: 6px 18px 0; }
  .vt-hero__content { padding-left: 96px; }
  .vt-footer__main { padding-left: 56px; padding-right: 56px; gap: 32px; flex-wrap: wrap; }
  .vt-footer__brand { flex: 1 1 100%; }
  .vt-footer__brand { flex-direction: row; flex-wrap: wrap; align-items: flex-start; column-gap: 32px; }
  .vt-footer__col { flex: 1 1 150px; }
  .vt-footer__news { flex: 1 1 300px; }
  .vt-cta, .vt-footer__bottom { padding-left: 56px; padding-right: 56px; }
  .vt-split__copy { padding: 0 10%; }
  .vt-split__media { height: 640px; }
}

@media (max-width: 1199px) {
  .vt-nav__list li { padding: 6px 11px 0; }
  .vt-nav__list a { font-size: 13px; }
  .vt-nav__icons { padding-left: 20px; }
  .vt-hero { height: 600px; }
  .vt-hero__content { padding-left: 64px; top: auto; bottom: 90px; }
  .vt-carousel__slide { flex-basis: 33.333%; }
  .vt-split__media { height: 560px; }
  .vt-wisdom__grid { gap: 24px; }
}

@media (max-width: 991px) {
  /* Header collapses to the mobile menu */
  .vt-utility__side:first-child, .vt-utility__side--end .vt-utility__link--text { display: none; }
  .vt-utility { padding: 0 16px; gap: 12px; }
  .vt-utility__side { flex: 0 0 auto; }
  .vt-ticker { width: auto; flex: 1 1 auto; min-width: 0; text-align: left; }
  .vt-ticker__item { font-size: 11px; letter-spacing: .6px; }
  .vt-brand { padding: 14px 16px 10px; }
  .vt-brand img { width: 220px; }
  .vt-nav { justify-content: space-between; padding: 0 16px; height: 44px; align-items: center; }
  .vt-nav__list { display: none; }
  .vt-nav__icons { padding: 0; gap: 0; }
  .vt-nav__icons a, .vt-nav__icons button { width: 44px; height: 44px; }
  .vt-count { left: 26px; top: 10px; }
  .vt-menu-toggle {
    display: inline-flex; align-items: center; gap: 10px; min-height: 44px;
    color: #fff; font-size: 13px; letter-spacing: .8px; text-transform: uppercase;
  }
  .vt-menu-toggle span.vt-burger { display: inline-flex; flex-direction: column; gap: 4px; }
  .vt-menu-toggle span.vt-burger i { display: block; width: 18px; height: 1.5px; background: #fff; }
  .vt-header--overlay { padding-bottom: 24px; }

  .vt-hero { height: 620px; }
  .vt-hero__content { top: auto; bottom: 56px; padding: 0 32px; width: 100%; max-width: 640px; }
  .vt-hero__media { object-position: 65% center; }
  .vt-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .6); }
  .vt-intro { padding: 48px 24px; }
  .vt-intro .vt-body { padding: 20px 0 0; }
  .vt-section-head { padding: 32px 0 28px; }
  .vt-categories { padding: 24px 0 40px; }
  .vt-cat-grid { grid-template-columns: repeat(2, 1fr); gap: 8px 12px; }

  .vt-split { grid-template-columns: 1fr; }
  .vt-split__media { height: auto; aspect-ratio: 4 / 3; }
  .vt-split__media--contain { aspect-ratio: 1 / 1; max-height: 640px; width: 100%; }
  .vt-split__copy { padding: 40px 32px 56px; max-width: none; }

  .vt-products { padding: 40px 0; }
  .vt-carousel__slide { flex-basis: 50%; }
  .vt-carousel__btn--next { right: 16px; }

  .vt-wisdom { padding: 40px 0 56px; }
  .vt-wisdom__head { padding-bottom: 28px; }
  .vt-wisdom__grid { grid-template-columns: 1fr; gap: 32px; }
  .vt-article { display: grid; grid-template-columns: 42% 1fr; column-gap: 24px; align-items: start; }
  .vt-article__img { grid-row: span 4; margin-bottom: 0; }
  .vt-home .vt-article__text { padding: 10px 0 14px; }

  .vt-cta { flex-direction: column; align-items: flex-start; gap: 24px; padding: 48px 32px; }
  .vt-cta__btn { height: 56px; }
  .vt-footer__main { display: grid; grid-template-columns: repeat(3, 1fr); padding: 48px 32px; gap: 32px 24px; }
  .vt-footer__brand, .vt-footer__news { grid-column: 1 / -1; }
  .vt-footer__brand { flex-direction: column; }
  .vt-signup { max-width: 420px; }
  .vt-footer__bottom { flex-direction: column; align-items: flex-start; gap: 10px; padding: 24px 32px; }
}

@media (max-width: 767px) {
  .vt-hero { height: 560px; }
  .vt-hero__content { padding: 0 24px; }
  .vt-split__copy { padding: 32px 24px 48px; }
  .vt-carousel__slide { flex-basis: 70%; }
  .vt-card { height: 400px; }
  .vt-card__img { padding: 40px 0 48px; }
  .vt-carousel__btn { top: 180px; }
  .vt-article { display: flex; }
  .vt-article__img { margin-bottom: 18px; }
  .vt-cta { padding: 40px 24px; }
  .vt-footer__main { grid-template-columns: repeat(2, 1fr); padding: 40px 24px; }
  .vt-footer__bottom { padding: 24px; }
}

@media (max-width: 575px) {
  .vt-container { padding: 0 12px; }
  .vt-hero { height: 540px; }
  .vt-hero__content { bottom: 40px; }
  .vt-hero__actions { flex-direction: column; padding-top: 24px; }
  .vt-btn { width: 100%; min-height: 46px; }
  .vt-cat-grid { gap: 8px; }
  .vt-cat__label { height: 44px; font-size: 14px; }
  .vt-carousel__slide { flex-basis: 82%; }
  .vt-carousel__btn { display: none; }
  .vt-cta__btn { width: 100%; }
  .vt-signup { max-width: none; }
}

@media (max-width: 360px) {
  .vt-brand img { width: 190px; }
  .vt-menu-toggle span:last-child { display: none; }
  .vt-footer__main { grid-template-columns: 1fr; }
  .vt-card { height: 370px; }
  .vt-card__img img { width: 160px; height: 160px; }
}

@media (prefers-reduced-motion: reduce) {
  .vt-ticker__item, .vt-cat__img img, .vt-card__img img, .vt-article__img img { transition: none; }
}

/* ---------- Guard against legacy theme typography (style.css sets p/h*/a colours and fonts) ---------- */
.vt-header, .vt-header p, .vt-header span, .vt-header a,
.vt-home, .vt-home p, .vt-home span, .vt-home a,
.vt-footer, .vt-footer p, .vt-footer span, .vt-footer a, .vt-footer li, .vt-footer input, .vt-footer button { font-family: var(--vt-sans); }
.vt-home .vt-h1, .vt-home .vt-h2, .vt-home .vt-h3, .vt-home .vt-article__title, .vt-home .vt-hero__title,
.vt-footer .vt-cta__title, .vt-footer .vt-footer__news-title { font-family: var(--vt-serif); }
.vt-home p, .vt-home .vt-h2, .vt-home .vt-h3, .vt-home .vt-article__title, .vt-home .vt-card, .vt-home .vt-cat { color: var(--vt-ink); }
.vt-home .vt-hero__title { color: #fff; }
.vt-footer .vt-cta__title, .vt-footer .vt-cta__text { color: var(--vt-forest); }
.vt-footer .vt-kicker { color: var(--vt-gold); }
.vt-footer .vt-footer__news-title, .vt-footer .vt-footer__place, .vt-footer li a, .vt-footer .vt-social, .vt-footer__locale { color: #fff; }
.vt-footer .vt-footer__about, .vt-footer .vt-footer__news-text, .vt-footer__bottom > span:first-child, .vt-footer__legal, .vt-footer__legal a { color: var(--vt-mist); }
.vt-footer li a:hover, .vt-footer__legal a:hover, .vt-social a:hover { color: var(--vt-gold); }
.vt-home p, .vt-footer p { margin-bottom: 0; }


/* =====================================================================
   Mega menu (desktop flyouts)
   ===================================================================== */
.vt-nav__item { position: static; }
.vt-mega {
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  z-index: 60;
  background: #fff;
  color: var(--vt-ink);
  border-top: 1px solid #ece9df;
  box-shadow: 0 18px 30px rgba(11, 37, 31, .08);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.vt-nav__item.is-open > .vt-mega {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  animation: vtFadeInNavigation .5s ease both;
}
.vt-header.is-mega-switching .vt-nav__item.is-open > .vt-mega { animation: none; }
.vt-mega__inner {
  max-width: var(--vt-max);
  margin: 0 auto;
  padding: 36px 32px 44px;
  display: flex;
  gap: 48px;
  justify-content: space-between;
}
.vt-mega__cols { display: flex; gap: 56px; flex: 1 1 auto; }
.vt-mega__col { min-width: 150px; }
.vt-header .vt-mega__title {
  font: 600 12px/18px var(--vt-sans);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--vt-bronze);
  margin: 0 0 14px;
}
.vt-mega ul { list-style: none; margin: 0; padding: 0; }
.vt-mega li { padding: 0; }
.vt-header .vt-mega li a {
  display: inline-block;
  height: auto;
  padding: 6px 0;
  border: 0;
  color: var(--vt-ink);
  font: 400 14px/20px var(--vt-sans);
  letter-spacing: .3px;
  white-space: nowrap;
}
.vt-header .vt-mega li a:hover { color: var(--vt-bronze); opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.vt-nav__item.is-open .vt-mega li,
.vt-nav__item.is-open .vt-mega__card {
  animation: vtUnfoldItem .35s ease both;
  animation-delay: calc(var(--i, 0) * 35ms + 60ms);
}
.vt-header.is-mega-switching .vt-nav__item.is-open .vt-mega li,
.vt-header.is-mega-switching .vt-nav__item.is-open .vt-mega__card { animation-delay: calc(var(--i, 0) * 25ms); }
.vt-mega__cards { display: flex; gap: 20px; flex: 0 0 auto; }
.vt-header a.vt-mega__card, .vt-header a.vt-mega__teaser {
  display: flex;
  flex-direction: column;
  width: 190px;
  color: var(--vt-ink);
  text-decoration: none;
}
.vt-header a.vt-mega__teaser { width: 300px; }
.vt-mega__img { display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #f7f5ef; margin-bottom: 12px; }
.vt-mega__img--wide { aspect-ratio: 4 / 3; }
.vt-mega__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.vt-header a.vt-mega__card:hover img, .vt-header a.vt-mega__teaser:hover img { transform: scale(1.06); }
.vt-header a.vt-mega__card:hover, .vt-header a.vt-mega__teaser:hover { opacity: 1; }
.vt-mega__name { font: 400 14px/20px var(--vt-sans); }
.vt-mega__price { font: 400 13px/18px var(--vt-sans); color: #555; margin-top: 4px; }
.vt-mega-backdrop {
  position: fixed;
  inset: 0;
  z-index: 40;
  background: rgba(0, 0, 0, .35);
  opacity: 0;
  visibility: hidden;
  transition: opacity .35s ease, visibility .35s ease;
}
.vt-mega-backdrop.is-visible { opacity: 1; visibility: visible; }
.vt-nav__item > a[aria-expanded="true"] { border-bottom-color: #fff; }
@media (max-width: 991px) { .vt-mega, .vt-mega-backdrop { display: none; } }
@media (max-width: 1199px) {
  .vt-mega__inner { gap: 28px; padding: 28px 24px 36px; }
  .vt-mega__cols { gap: 32px; }
  .vt-header a.vt-mega__card { width: 150px; }
}

@keyframes vtFadeInNavigation { 0% { opacity: 0; } 40% { opacity: 0; } 70% { opacity: .6; } 100% { opacity: 1; } }
@keyframes vtUnfoldItem { 0% { opacity: 0; transform: translateY(-.8rem); } 100% { opacity: 1; transform: translateY(0); } }
@keyframes vtZoomOutTeaser { 0% { transform: scale(1.3); } 100% { transform: scale(1); } }
@keyframes vtFadeIn { 0% { opacity: 0; } 100% { opacity: 1; } }

/* =====================================================================
   Product listing page (New Arrivals / categories)
   ===================================================================== */
.vt-plp { background: var(--vt-stone); }
.vt-plp__banner { position: relative; height: 460px; overflow: hidden; background: #140d0b; }
.vt-plp__banner img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; transform: scale(1.15); transition: transform 1.6s cubic-bezier(.2, .7, .2, 1); }
.vt-plp__banner img.is-in { transform: scale(1); }
.vt-plp__banner::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .15); }
.vt-plp__intro { max-width: var(--vt-max); margin: 0 auto; padding: 24px 32px 28px; }
.vt-crumbs { display: flex; flex-wrap: wrap; gap: 8px; font: 400 12px/18px var(--vt-sans); color: #666; margin-bottom: 14px; }
.vt-crumbs a { color: #444; text-decoration: none; }
.vt-crumbs a:hover { text-decoration: underline; }
.vt-home .vt-plp__title { font-family: var(--vt-serif); font-weight: 400; font-size: clamp(30px, 1.6vw + 20px, 44px); line-height: 1.15; margin: 0 0 10px; color: var(--vt-ink); }
.vt-home .vt-plp__desc { max-width: 780px; font-size: 14px; line-height: 22px; color: #333; }
.vt-home .vt-plp__desc.is-clamped { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.vt-readmore { border: 0; background: none; padding: 0; margin-top: 4px; font: 600 13px/20px var(--vt-sans); text-decoration: underline; text-underline-offset: 3px; color: var(--vt-ink); cursor: pointer; }

.vt-plp__toolbar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 32px;
  background: #fff;
  border-bottom: 1px solid #ece9df;
}
.vt-home .vt-plp__count { font-size: 14px; color: var(--vt-ink); }
.vt-plp__actions { display: flex; gap: 8px; }
.vt-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 44px;
  padding: 0 20px;
  border: 1px solid #d9d5c9;
  border-radius: 999px;
  background: #fff;
  color: var(--vt-ink);
  font: 400 14px/20px var(--vt-sans);
  cursor: pointer;
  transition: border-color .2s ease, background-color .2s ease;
}
.vt-pill:hover { border-color: var(--vt-ink); }
.vt-pill__count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--vt-forest); color: #fff; font-size: 11px; }
.vt-plp__chips, .vt-plp__links { display: flex; flex-wrap: wrap; gap: 8px; }
.vt-plp__chips { max-width: var(--vt-max); margin: 0 auto; padding: 14px 32px 4px; }
.vt-home a.vt-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border: 1px solid #d9d5c9;
  border-radius: 999px;
  background: #fff;
  color: var(--vt-ink);
  font: 400 13px/18px var(--vt-sans);
  text-decoration: none;
  transition: border-color .2s ease;
}
.vt-home a.vt-chip:hover { border-color: var(--vt-ink); }
.vt-home a.vt-chip--clear { border-color: transparent; background: none; text-decoration: underline; text-underline-offset: 3px; }

.vt-plp__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-flow: row dense;
  gap: 4px;
  padding: 4px;
}

/* Product tile */
.vt-tile { position: relative; background: #fff; display: flex; flex-direction: column; }
.vt-tile__link { display: flex; flex-direction: column; height: 100%; color: var(--vt-ink); text-decoration: none; }
.vt-tile__link:hover { color: var(--vt-ink); }
.vt-tile__media { position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: #fff; }
.vt-tile__img {
  position: absolute;
  inset: 8%;
  width: 84%;
  height: 84%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .35s ease;
}
.vt-tile__img.is-active { opacity: 1; }
.vt-tile__progress { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: #ece9df; opacity: 0; transition: opacity .3s ease; }
.vt-tile__progress-bar { display: block; height: 100%; background: var(--vt-ink); transition: transform .35s ease; }
.vt-tile:hover .vt-tile__progress { opacity: 1; }
.vt-tile__info { display: flex; flex-direction: column; align-items: flex-start; padding: 16px 20px 22px; flex: 1 1 auto; }
.vt-tile__chip { display: inline-block; margin-bottom: 10px; padding: 2px 10px; border: 1px solid #e3dfd3; border-radius: 999px; font: 400 12px/18px var(--vt-sans); color: #555; }
.vt-tile__flag { font: 400 13px/18px var(--vt-sans); color: #666; margin-bottom: 4px; }
.vt-home .vt-tile__name { font: 400 16px/22px var(--vt-sans); letter-spacing: .2px; margin: 0 0 4px; color: var(--vt-ink); }
.vt-home .vt-tile__sub { font-size: 13px; line-height: 18px; color: #666; margin: 0 0 10px; }
.vt-home .vt-tile__price { margin-top: auto; font: 400 15px/20px var(--vt-sans); color: var(--vt-ink); display: flex; gap: 10px; align-items: baseline; }
.vt-tile__price s { font-size: 13px; color: #888; }
.vt-tile__wish {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  width: 40px;
  height: 40px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 50%;
  background: rgba(255, 255, 255, .96);
  color: var(--vt-ink);
  box-shadow: 0 2px 10px rgba(0, 0, 0, .12);
  cursor: pointer;
  overflow: hidden;
  transition: color .25s ease-in-out, background-color .25s ease-in-out, box-shadow .25s ease-in-out, transform .25s ease-in-out;
}
.vt-tile__wish .vt-icon { width: 20px; height: 20px; display: block; }
.vt-tile__wish .vt-icon path { fill: transparent; transition: fill .25s ease-in-out; }
.vt-tile__wish:hover { transform: scale(1.08); box-shadow: 0 4px 14px rgba(0, 0, 0, .18); }
.vt-tile__wish:hover .vt-icon path { fill: rgba(179, 38, 30, .12); }
.vt-tile__wish:focus-visible { outline: 2px solid var(--vt-ink); outline-offset: 2px; }
.vt-tile__wish.is-wishlisted { color: #b3261e; }
.vt-tile__wish.is-wishlisted .vt-icon path { fill: currentColor; }
.vt-tile__wish.is-busy { pointer-events: none; }
.vt-tile__wish.is-popping .vt-icon { animation: vtHeartPop .45s cubic-bezier(.165, .84, .44, 1); }
@keyframes vtHeartPop { 0% { transform: scale(1); } 35% { transform: scale(1.3); } 100% { transform: scale(1); } }
@media (max-width: 767px) {
  .vt-tile__wish { top: 8px; right: 8px; width: 34px; height: 34px; }
  .vt-tile__wish .vt-icon { width: 17px; height: 17px; }
}
@media (prefers-reduced-motion: reduce) { .vt-tile__wish.is-popping .vt-icon { animation: none; } }

/* Editorial teaser tile (spans 2 columns) */
.vt-teaser { grid-column: span 2; display: flex; flex-direction: column; background: #fff; color: var(--vt-ink); text-decoration: none; overflow: hidden; }
.vt-teaser--right { grid-column: 3 / span 2; }
.vt-teaser:hover { color: var(--vt-ink); }
.vt-teaser__media { display: block; aspect-ratio: 2 / 1; overflow: hidden; flex: 1 1 auto; }
.vt-teaser__media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.3); }
.vt-teaser.is-revealed .vt-teaser__media img { animation: vtZoomOutTeaser 1.6s cubic-bezier(.2, .7, .2, 1) forwards; }
.vt-teaser__details { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 36px 32px; }
.vt-teaser__copy { display: flex; flex-direction: column; gap: 10px; }
.vt-teaser__title { font: 600 18px/24px var(--vt-sans); }
.vt-teaser__text { font: 400 14px/20px var(--vt-sans); color: #444; }
.vt-teaser__btn { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; min-width: 220px; height: 48px; padding: 0 20px; border: 1px solid var(--vt-ink); font: 400 15px/20px var(--vt-sans); transition: background-color .25s ease, color .25s ease; }
.vt-teaser:hover .vt-teaser__btn { background: var(--vt-ink); color: #fff; }

/* Scroll reveal */
.vt-js [data-vt-reveal] { opacity: 0; transform: translateY(24px); }
.vt-js [data-vt-reveal].is-revealed { opacity: 1; transform: none; transition: opacity .7s ease var(--vt-delay, 0ms), transform .7s cubic-bezier(.2, .7, .2, 1) var(--vt-delay, 0ms); }

/* Load more */
.vt-plp__more { display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 40px 16px 56px; }
.vt-home .vt-plp__viewed { font-size: 13px; color: #555; }
.vt-plp__meter { display: block; width: 240px; height: 2px; background: #dcd8cc; }
.vt-plp__meter span { display: block; height: 100%; background: var(--vt-ink); transition: width .5s ease; }
.vt-home a.vt-plp__load { display: inline-flex; align-items: center; justify-content: center; min-width: 240px; height: 48px; padding: 0 24px; background: var(--vt-ink); color: #fff; font: 400 15px/20px var(--vt-sans); text-decoration: none; transition: background-color .25s ease; }
.vt-home a.vt-plp__load:hover { background: #333; color: #fff; }
.vt-plp__load.is-loading { opacity: .7; pointer-events: none; }

/* SEO text */
.vt-plp__seo { max-width: 1000px; margin: 0 auto; padding: 8px 32px 72px; text-align: center; }
.vt-plp__seo h2 { font-family: var(--vt-serif); font-weight: 400; font-size: 26px; margin: 0 0 14px; color: var(--vt-ink); }
.vt-home .vt-plp__seo p { font-size: 14px; line-height: 22px; color: #444; }
.vt-home .vt-plp__also { font-weight: 600; margin: 28px 0 14px; color: var(--vt-ink); }
.vt-plp__links { justify-content: center; }

/* Drawers (filters / sort) */
body.vt-lock { overflow: hidden; }
.vt-drawer-overlay { position: fixed; inset: 0; z-index: 1000; background: rgba(0, 0, 0, .4); opacity: 0; transition: opacity .35s ease; }
.vt-drawer-overlay.is-visible { opacity: 1; }
.vt-drawer {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1001;
  width: min(440px, 100%);
  display: flex;
  flex-direction: column;
  background: #fff;
  font-family: var(--vt-sans);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform .45s cubic-bezier(.2, .7, .2, 1), visibility .45s;
}
.vt-drawer.is-open { transform: translateX(0); visibility: visible; }
.vt-drawer__form { display: flex; flex-direction: column; height: 100%; }
.vt-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 22px 28px; border-bottom: 1px solid #ece9df; }
.vt-drawer__head h2 { font: 400 22px/28px var(--vt-serif); margin: 0; color: var(--vt-ink); }
.vt-drawer__close { width: 40px; height: 40px; border: 0; background: none; font-size: 28px; line-height: 1; color: var(--vt-ink); cursor: pointer; }
.vt-drawer__body { flex: 1 1 auto; overflow-y: auto; padding: 8px 28px 24px; margin: 0; list-style: none; }
.vt-drawer__foot { display: flex; gap: 12px; padding: 18px 28px; border-top: 1px solid #ece9df; }
.vt-drawer__foot .vt-btn { flex: 1 1 0; width: auto; }
.vt-btn--dark { background: var(--vt-ink); border-color: var(--vt-ink); color: #fff; cursor: pointer; }
.vt-btn--dark:hover { background: #333; color: #fff; }
.vt-facet { border-bottom: 1px solid #ece9df; }
.vt-facet summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 0; font: 600 14px/20px var(--vt-sans); letter-spacing: .3px; cursor: pointer; list-style: none; }
.vt-facet summary::-webkit-details-marker { display: none; }
.vt-facet summary::after { content: "+"; font-weight: 400; font-size: 20px; margin-left: auto; }
.vt-facet[open] summary::after { content: "–"; }
.vt-facet__n { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; border-radius: 10px; background: var(--vt-forest); color: #fff; font-size: 11px; font-weight: 400; }
.vt-facet ul { list-style: none; margin: 0; padding: 0 0 16px; }
.vt-facet[open] ul li { animation: vtUnfoldItem .3s ease both; }
.vt-check { display: flex; align-items: center; gap: 12px; padding: 8px 0; cursor: pointer; font: 400 14px/20px var(--vt-sans); color: var(--vt-ink); }
.vt-check input { width: 18px; height: 18px; accent-color: var(--vt-forest); }
.vt-check small { margin-left: auto; color: #888; font-size: 12px; }
.vt-sortlist li a { display: block; padding: 16px 0; border-bottom: 1px solid #ece9df; color: var(--vt-ink); text-decoration: none; font: 400 15px/20px var(--vt-sans); }
.vt-sortlist li a.is-active { font-weight: 600; }
.vt-sortlist li a.is-active::after { content: "✓"; float: right; }

@media (max-width: 1199px) {
  .vt-plp__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vt-teaser, .vt-teaser--right { grid-column: span 2; }
}
@media (max-width: 991px) {
  .vt-plp__banner { height: 340px; }
  .vt-plp__intro, .vt-plp__chips { padding-left: 20px; padding-right: 20px; }
  .vt-plp__toolbar { padding: 10px 20px; }
  .vt-plp__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vt-teaser, .vt-teaser--right { grid-column: 1 / -1; }
  .vt-teaser__details { padding: 20px 24px 24px; }
}
@media (max-width: 575px) {
  .vt-plp__banner { height: 300px; }
  .vt-pill { height: 40px; padding: 0 14px; }
  .vt-home .vt-plp__count { font-size: 13px; }
  .vt-tile__info { padding: 12px 12px 16px; }
  .vt-home .vt-tile__name { font-size: 14px; line-height: 20px; }
  .vt-tile__wish { top: 6px; right: 6px; }
  .vt-tile__progress { opacity: 1; }
  .vt-teaser__details { flex-direction: column; align-items: flex-start; }
  .vt-teaser__btn { width: 100%; min-width: 0; }
  .vt-drawer__head, .vt-drawer__foot { padding-left: 20px; padding-right: 20px; }
  .vt-drawer__body { padding-left: 20px; padding-right: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .vt-mega, .vt-mega li, .vt-mega__card, .vt-drawer, .vt-plp__banner img, .vt-teaser__media img, [data-vt-reveal] { animation: none !important; transition: none !important; transform: none !important; }
  .vt-js [data-vt-reveal] { opacity: 1; }
}

/* Product page: Vastutathastu details + recommendation rows */
.product-design__badge { display: inline-block; margin: 4px 0 12px; padding: 2px 12px; border: 1px solid #e3dfd3; border-radius: 999px; font: 400 12px/20px var(--vt-sans); color: #555; }
.product-design__meta { margin: 0 0 20px; display: grid; gap: 6px; font: 400 14px/20px var(--vt-sans); }
.product-design__meta div { display: flex; gap: 12px; }
.product-design__meta dt { min-width: 80px; font-weight: 600; color: var(--vt-ink); }
.product-design__meta dd { margin: 0; color: #444; }
.vt-recs { background: var(--vt-stone); padding: 48px 0 8px; }
.vt-recs__title { font: 400 clamp(24px, 1vw + 18px, 32px)/1.2 var(--vt-serif); text-align: center; margin: 0 0 24px; color: var(--vt-ink); }
.vt-recs__grid { max-width: none; }

/* overflow:hidden on the legacy wrapper breaks position:sticky; clip hides overflow without that side effect */
.vt-page .wrapper.ovh { overflow: clip; }

/* Listing page without a banner image: keep room for the overlay header */
.vt-plp__banner--plain { height: 233px; background: var(--vt-header-bg); }
@media (max-width: 991px) { .vt-plp__banner--plain { height: 150px; } }
.vt-ticker[aria-hidden="true"] { visibility: hidden; }
.vt-split__copy .vt-kicker { color: var(--vt-bronze); margin-bottom: 6px; }

/* =====================================================================
   Motion — modelled on the swarovski.com/en-IN animation system
   (compact sticky header, scroll reveals, image zooms, link underlines)
   ===================================================================== */
@keyframes vtIncreaseHeight { 0% { height: 0; } 100% { height: 60px; } }
@keyframes vtFadeInDelay { 0% { opacity: 0; } 75% { opacity: .3; } 100% { opacity: 1; } }
@keyframes vtFadeInImages { 0% { opacity: 0; transform: translateX(-8%); } 100% { opacity: 1; transform: translateX(0); } }
@keyframes vtFadeInFromRight { 0% { opacity: 0; transform: translateX(8%); } 100% { opacity: 1; transform: translateX(0); } }
@keyframes vtFadeInText { 0% { opacity: 0; transform: translateY(20px); } 100% { opacity: 1; transform: translateY(0); } }

/* Header: full header at the top, compact 60px white bar once it has scrolled away */
.vt-header { transition: background-color .5s ease-in-out; }
.vt-nav__logo { display: none; }
.vt-header.is-stuck {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 70;
  height: 60px;
  padding-bottom: 0;
  background: #fff;
  color: var(--vt-ink);
  box-shadow: 0 1px 0 #ece9df;
  animation: vtIncreaseHeight .5s ease-in-out;
}
.vt-header.is-stuck .vt-utility { display: none; }
/* Main logo: on scroll it rises 150px, shrinks to .9 and fades out (0.6s ease-in-out);
   back at the top it drops into place again — same values as the reference header. */
.vt-brand { transform-origin: 50% 0; transition: transform .6s ease-in-out, opacity .6s ease-in-out; }
.vt-header.is-stuck .vt-brand {
  position: absolute;
  top: 35px;
  left: 0;
  right: 0;
  z-index: 1;
  transform: translateY(-150px) scale(.9);
  opacity: 0;
  pointer-events: none;
}
.vt-header.is-stuck .vt-nav {
  height: 60px;
  align-items: center;
  justify-content: space-between;
  padding: 0 25px;
  animation: vtFadeInDelay .6s ease-in-out both;
}
.vt-header.is-stuck .vt-nav__logo { display: block; flex: 0 0 auto; }
.vt-header.is-stuck .vt-nav__logo img { display: block; width: 124px; height: auto; }
.vt-header.is-stuck .vt-nav > nav { flex: 1 1 auto; display: flex; justify-content: center; min-width: 0; }
.vt-header.is-stuck .vt-nav__list li { padding: 0 clamp(8px, 1.1vw, 20px); }
.vt-header.is-stuck .vt-nav__list a { height: 60px; line-height: 60px; font-size: 13px; border-bottom-width: 3px; }
.vt-header.is-stuck a, .vt-header.is-stuck a:hover { color: var(--vt-ink); }
.vt-header.is-stuck .vt-nav__list a:hover,
.vt-header.is-stuck .vt-nav__list a.is-active,
.vt-header.is-stuck .vt-nav__item > a[aria-expanded="true"] { border-bottom-color: var(--vt-ink); }
.vt-header.is-stuck .vt-nav__icons { padding: 0 0 0 16px; align-self: center; }
.vt-header.is-stuck .vt-nav__icons button, .vt-header.is-stuck .vt-nav__icons a { color: var(--vt-ink); }
.vt-header.is-stuck .vt-count { background: var(--vt-ink); color: #fff; }
.vt-header.is-stuck .vt-menu-toggle { color: var(--vt-ink); }
.vt-header.is-stuck .vt-menu-toggle span.vt-burger i { background: var(--vt-ink); }
html.vt-header-stuck .vt-plp__toolbar { top: 60px; }
@media (max-width: 1199px) {
  .vt-header.is-stuck .vt-nav__logo img { width: 104px; }
  .vt-header.is-stuck .vt-nav__list a { font-size: 12px; letter-spacing: .2px; }
}
@media (max-width: 991px) {
  .vt-header.is-stuck .vt-nav { padding: 0 8px 0 16px; }
  .vt-header.is-stuck .vt-nav__logo { position: absolute; left: 50%; transform: translateX(-50%); }
  .vt-header.is-stuck .vt-nav__logo img { width: 112px; }
}

/* Announcement strip: messages slide through horizontally */
.vt-ticker__item { transform: translateX(100%); transition: opacity .3s linear, transform .3s linear; }
.vt-ticker__item.is-active { transform: translateX(0); }
.vt-ticker__item.is-prev { transform: translateX(-100%); }

/* Hero copy fades up on load */
.vt-motion .vt-hero__title { animation: vtFadeInText .8s ease-in-out .2s both; }
.vt-motion .vt-hero__actions { animation: vtFadeInText .8s ease-in-out .45s both; }

/* Headlines, editorial cards, CTA and footer columns: fade up 15% */
.vt-motion .vt-section-head, .vt-motion .vt-intro__inner, .vt-motion .vt-wisdom__head,
.vt-motion .vt-products .vt-h3, .vt-motion .vt-article, .vt-motion .vt-cta, .vt-motion .vt-footer__main > * {
  opacity: 0;
  transform: translateY(15%);
  transition: opacity .8s ease-in-out var(--vt-delay, 0ms), transform .8s ease-in-out var(--vt-delay, 0ms);
}
.vt-motion .vt-section-head.is-animated, .vt-motion .vt-intro__inner.is-animated, .vt-motion .vt-wisdom__head.is-animated,
.vt-motion .vt-products .vt-h3.is-animated, .vt-motion .vt-article.is-animated, .vt-motion .vt-cta.is-animated,
.vt-motion .vt-footer__main > .is-animated { opacity: 1; transform: none; }

/* Category tiles slide in from the left (fadeInImages) */
.vt-motion .vt-cat { opacity: 0; }
.vt-motion .vt-cat.is-animated { animation: vtFadeInImages .8s ease-in-out var(--vt-delay, 0ms) forwards; }

/* Product carousel cards slide in from the right */
.vt-motion .vt-carousel__slide { opacity: 0; }
.vt-motion .vt-carousel__slide.is-animated { animation: vtFadeInFromRight .8s ease-in-out var(--vt-delay, 0ms) forwards; }

/* Image + text sections: image settles from 1.3 to 1, copy fades in */
.vt-motion .vt-split__media img { transform: scale(1.3); transition: transform 1s ease-in-out; }
.vt-motion .vt-split__copy { opacity: 0; transition: opacity .8s ease-in-out .15s, transform .8s ease-in-out .15s; }
.vt-motion .vt-split.is-animated .vt-split__media img { transform: scale(1); }
.vt-motion .vt-split.is-animated .vt-split__copy { opacity: 1; transform: none; }
@media (max-width: 991px) {
  .vt-motion .vt-split__copy { transform: translateY(20%); }
}

/* Hover: images zoom to 1.1 inside their frame */
.vt-cat__img img, .vt-card__img img, .vt-article__img img, .vt-mega__img img {
  transition: transform .4s cubic-bezier(.165, .84, .44, 1);
}
.vt-cat:hover .vt-cat__img img, .vt-card:hover .vt-card__img img, .vt-article:hover .vt-article__img img,
.vt-header a.vt-mega__card:hover img, .vt-header a.vt-mega__teaser:hover img { transform: scale(1.1); }
.vt-card__img { overflow: hidden; }

/* Carousel arrows shrink and dim on hover */
.vt-carousel__btn { transition: transform .3s ease-in-out, opacity .3s ease-in-out; }
.vt-carousel__btn--next:hover { transform: scale(.85); opacity: .75; }
.vt-carousel__btn--prev:hover { transform: scale(.85); opacity: .75; }

/* Text links: the underline draws in from the left on hover */
.vt-link, .vt-article__link {
  text-decoration: none;
  padding-bottom: 2px;
  background-image: linear-gradient(currentColor, currentColor), linear-gradient(rgba(0, 0, 0, .25), rgba(0, 0, 0, .25));
  background-size: 0 1px, 100% 1px;
  background-position: 0 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size .3s ease-out, color .3s ease-out;
}
.vt-link:hover, .vt-article__link:hover { background-size: 100% 1px, 100% 1px; text-decoration: none; }

/* Buttons and drawers use the reference timings */
.vt-btn, .vt-cta__btn { transition: background-color .4s ease-in-out, color .4s ease-in-out, border-color .4s ease-in-out; }
.vt-drawer { transition: transform .5s ease-in-out, visibility .5s; }
.vt-drawer-overlay { transition: opacity .5s ease-in-out; }

@media (prefers-reduced-motion: reduce) {
  .vt-header.is-stuck, .vt-header.is-stuck .vt-nav, .vt-ticker__item, .vt-brand,
  .vt-cat__img img, .vt-card__img img, .vt-article__img img, .vt-carousel__btn, .vt-link, .vt-article__link { animation: none !important; transition: none !important; }
}

/* Inline SVG icons: crisp at any pixel density */
.vt-icon { flex-shrink: 0; overflow: visible; shape-rendering: geometricPrecision; }
.vt-nav__icons .vt-icon { transition: opacity .3s ease-in-out; }

/* Logged-in account badge (initials) in the utility bar: outlined like the line icons */
.vt-header .site-account-avatar {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: transparent;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .9);
  font: 600 9px/1 var(--vt-sans);
  letter-spacing: .4px;
}
.vt-utility__side--end { gap: 20px; }
.vt-utility__link.signin-cart-btn { gap: 8px; }
.vt-utility .site-wishlist-entry, .vt-utility .wishlist-panel-btn { display: inline-flex; align-items: center; }

/* =====================================================================
   Store locator (/stores)
   ===================================================================== */
.vt-stores { background: #fff; padding-bottom: 80px; }
.vt-stores__head { max-width: 760px; margin: 0 auto; padding: 64px 24px 36px; text-align: center; }
.vt-stores__head .vt-kicker { color: var(--vt-bronze); margin-bottom: 10px; }
.vt-stores__head .vt-body { padding-top: 16px; color: #444; }
.vt-stores__bar {
  max-width: var(--vt-max);
  margin: 0 auto;
  padding: 0 32px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.vt-stores__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vt-chip {
  height: 38px;
  padding: 0 16px;
  border: 1px solid #d9d4c7;
  border-radius: 19px;
  background: #fff;
  color: var(--vt-ink);
  font: 400 14px/1 var(--vt-sans);
  letter-spacing: .3px;
  cursor: pointer;
  transition: background-color .4s ease-in-out, color .4s ease-in-out, border-color .4s ease-in-out;
}
.vt-chip:hover { border-color: var(--vt-ink); }
.vt-chip.is-active { background: var(--vt-ink); border-color: var(--vt-ink); color: #fff; }
.vt-chip:focus-visible { outline: 2px solid var(--vt-bronze); outline-offset: 2px; }
.vt-home .vt-stores__count { margin: 0; font-size: 14px; color: #555; }
.vt-stores__grid {
  max-width: var(--vt-max);
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.vt-store {
  display: flex;
  flex-direction: column;
  background: var(--vt-stone);
  animation: vtFadeInText .6s ease-in-out both;
}
.vt-store[hidden] { display: none; }
.vt-store__media { aspect-ratio: 16 / 9; overflow: hidden; }
.vt-store__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s cubic-bezier(.165, .84, .44, 1); }
.vt-store:hover .vt-store__media img { transform: scale(1.05); }
.vt-store__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 28px 28px 30px; }
.vt-home .vt-store__type { margin: 0 0 8px; font-size: 11px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--vt-bronze); }
.vt-store__name { margin: 0; font-family: var(--vt-serif); font-weight: 400; font-size: 24px; line-height: 1.25; color: var(--vt-ink); }
.vt-store__facts { list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 12px; }
.vt-store__facts li { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 21px; color: #333; }
.vt-store__facts .vt-icon { flex: 0 0 auto; margin-top: 1px; color: var(--vt-bronze); }
.vt-store__facts a { color: #333; text-decoration: none; background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .3s ease-out; }
.vt-store__facts a:hover { color: var(--vt-ink); background-size: 100% 1px; }
.vt-store__services { list-style: none; margin: 20px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.vt-store__services li { padding: 4px 10px; background: #fff; border-radius: 12px; font-size: 12px; color: #444; letter-spacing: .2px; }
.vt-store__actions { display: flex; gap: 10px; margin-top: auto; padding-top: 26px; }
.vt-store__actions .vt-btn { width: auto; flex: 1 1 0; min-height: 44px; font-size: 14px; }
@media (max-width: 1199px) { .vt-stores__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .vt-stores__head { padding: 40px 20px 24px; }
  .vt-stores__bar, .vt-stores__grid { padding-left: 16px; padding-right: 16px; }
  .vt-stores__chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; width: 100%; padding-bottom: 2px; }
  .vt-stores__chips::-webkit-scrollbar { display: none; }
  .vt-chip { flex: 0 0 auto; }
  .vt-stores__grid { grid-template-columns: 1fr; gap: 14px; }
  .vt-store__body { padding: 24px 20px; }
  .vt-store__actions { flex-direction: column; }
}

/* =====================================================================
   Homepage hero — full-height image, copy anchored bottom-left
   (letter-spaced kicker, bold capital headline, rectangular buttons)
   ===================================================================== */
.vt-hero { height: 100vh; height: 100svh; min-height: 620px; max-height: 1080px; background: #0e0a09; }
.vt-hero__shade {
  background:
    linear-gradient(0deg, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .28) 38%, rgba(0, 0, 0, 0) 62%),
    linear-gradient(90deg, rgba(0, 0, 0, .38) 0%, rgba(0, 0, 0, 0) 55%);
}
.vt-hero__content {
  top: auto;
  left: 0;
  right: 0;
  bottom: clamp(48px, 7.5vh, 88px);
  width: auto;
  max-width: none;
  padding: 0 clamp(20px, 4.3vw, 72px);
}
.vt-home .vt-hero__kicker {
  margin: 0 0 18px;
  color: #fff;
  font: 400 clamp(13px, .45vw + 10px, 18px)/1.3 var(--vt-sans);
  letter-spacing: .38em;
  text-transform: uppercase;
}
.vt-home .vt-hero__title {
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-family: var(--vt-sans);
  font-weight: 800;
  font-size: clamp(34px, 2.6vw + 18px, 64px);
  line-height: 1.04;
  letter-spacing: -.01em;
  text-transform: uppercase;
}
.vt-hero__actions { gap: 12px; padding-top: 30px; flex-wrap: wrap; }
.vt-hero .vt-btn {
  width: auto;
  min-width: 200px;
  height: 56px;
  min-height: 0;
  padding: 0 36px;
  border: 1.5px solid #fff;
  border-radius: 0;
  font: 700 15px/1 var(--vt-sans);
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: background-color .4s ease-in-out, color .4s ease-in-out, border-color .4s ease-in-out;
}
.vt-hero .vt-btn--solid { background: #fff; color: #000; }
.vt-hero .vt-btn--solid:hover { background: transparent; color: #fff; }
.vt-hero .vt-btn--ghost { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .85); }
.vt-hero .vt-btn--ghost:hover { background: #fff; color: #000; border-color: #fff; }
.vt-hero .vt-btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.vt-motion .vt-hero__kicker { animation: vtFadeInText .8s ease-in-out .05s both; }
@media (max-width: 991px) {
  .vt-hero { min-height: 560px; max-height: 820px; }
  .vt-hero__media { object-position: 60% center; }
}
@media (max-width: 575px) {
  .vt-hero { min-height: 520px; }
  .vt-home .vt-hero__kicker { margin-bottom: 12px; letter-spacing: .28em; }
  .vt-hero__actions { flex-direction: column; padding-top: 24px; }
  .vt-hero .vt-btn { width: 100%; height: 52px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .vt-motion .vt-hero__kicker { animation: none; } }

/* Hero slideshow — same behaviour as the reference: fades in over .4s, slides glide sideways
   (~1s, fast start / soft stop), autoplay every 5s, wrap-around, drag / swipe, page dots. */
.vt-hero__viewport { position: absolute; inset: 0; overflow: hidden; touch-action: pan-y; }
.vt-hero__track { display: flex; height: 100%; will-change: transform; }
.vt-hero__slide { position: relative; flex: 0 0 100%; height: 100%; overflow: hidden; }
.vt-hero--slideshow .vt-hero__viewport { cursor: grab; }
.vt-hero.is-dragging .vt-hero__viewport { cursor: grabbing; }
.vt-hero.is-dragging .vt-hero__slide { user-select: none; }
.vt-motion .vt-hero__viewport { opacity: 0; }
.vt-motion .vt-hero.is-ready .vt-hero__viewport { opacity: 1; transition: opacity .4s; }
/* The reference animates the slideshow as a whole, not the text inside it. */
.vt-motion .vt-hero__kicker, .vt-motion .vt-hero__title, .vt-motion .vt-hero__actions { animation: none; }

.vt-hero__dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 40px;
  z-index: 3;
  display: flex;
  justify-content: center;
  line-height: 1;
  pointer-events: none;
}
.vt-hero__dot {
  width: 10px;
  height: 10px;
  margin: 0 8px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  opacity: .25;
  cursor: pointer;
  pointer-events: auto;
  position: relative;
}
.vt-hero__dot::after { content: ""; position: absolute; inset: -8px; }
.vt-hero__dot:hover { opacity: .6; }
.vt-hero__dot.is-selected { opacity: 1; }
.vt-hero__dot:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 575px) {
  .vt-hero--slideshow .vt-hero__content { bottom: 72px; }
  .vt-hero__dots { bottom: 28px; }
}
/* Photo slides: keep faces / products clear of the overlaid header */
.vt-hero__slide img.vt-hero__media { object-position: center 18%; }

/* =====================================================================
   Header — one-row bar modelled on the reference (drinkprime.com):
   76px, transparent over the hero with a faint bottom line, links left,
   logo centred, actions + full-height CTA right. Turns white on scroll /
   hover (background .3s linear, links .3s ease-in-out). Always white on
   pages without a hero.
   ===================================================================== */
:root { --vt-hdr-h: 76px; --vt-hdr-font: "Archivo", "Manrope", system-ui, sans-serif; }
.vt-hdr, .vt-hdr.vt-header--overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 70;
  height: var(--vt-hdr-h);
  padding: 0;
  color: #f6f6f6;
  background: rgba(255, 255, 255, 0);
  box-shadow: inset 0 -1px 0 rgba(255, 255, 255, .25);
  transition: background-color .3s linear, box-shadow .3s linear, color .3s ease-in-out;
  animation: none;
}
.vt-hdr.is-solid, .vt-hdr.vt-hdr--solid, .vt-hdr.vt-hdr--overlay:hover, .vt-hdr.is-mega-open {
  background-color: #fff;
  box-shadow: inset 0 -1px 0 #ddd;
  color: #0a0a0a;
}
.vt-hdr-spacer { height: var(--vt-hdr-h); }
.vt-hdr__bar { position: relative; height: 100%; display: flex; align-items: center; padding-left: 50px; }
.vt-hdr__nav { flex: 1 1 0; min-width: 0; height: 100%; }
.vt-hdr__links { display: flex; align-items: center; height: 100%; margin: 0; padding: 0; list-style: none; }
.vt-hdr__links > li { display: flex; align-items: center; height: 100%; padding: 0; }
.vt-hdr .vt-hdr__link {
  display: block;
  height: auto;
  padding: 14px 10.5px;
  border: 0;
  color: inherit;
  opacity: 1;
  font-family: var(--vt-hdr-font);
  font-stretch: 125%;
  font-weight: 500;
  font-size: 13px;
  line-height: 20px;
  letter-spacing: .87px;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color .3s ease-in-out;
}
.vt-hdr__links > li:first-child .vt-hdr__link { padding-left: 0; }
.vt-hdr a:hover { opacity: 1; }
.vt-hdr .vt-hdr__link:hover, .vt-hdr .vt-hdr__link[aria-expanded="true"] { color: #fff; }
.vt-hdr.is-solid .vt-hdr__link:hover, .vt-hdr.vt-hdr--solid .vt-hdr__link:hover, .vt-hdr--overlay:hover .vt-hdr__link:hover,
.vt-hdr.is-mega-open .vt-hdr__link:hover, .vt-hdr.is-mega-open .vt-hdr__link[aria-expanded="true"],
.vt-hdr.is-solid .vt-hdr__link[aria-expanded="true"], .vt-hdr.vt-hdr--solid .vt-hdr__link[aria-expanded="true"] { color: var(--vt-bronze); }

.vt-hdr__logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; line-height: 0; }
.vt-hdr__logo img { display: block; height: 48px; width: auto; }

.vt-hdr__actions { flex: 1 1 0; display: flex; align-items: center; justify-content: flex-end; height: 100%; gap: 6px; }
.vt-hdr .vt-hdr__icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 100%;
  padding: 0 5px;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
  transition: color .3s ease-in-out, opacity .2s ease-in-out;
}
.vt-hdr .vt-hdr__icon:hover { color: inherit; opacity: .65; }
/* Hamburger: same hover as the icons (the old `.vt-header a:hover { color: #fff }` made it vanish on the white header) */
.vt-hdr .vt-hdr__toggle:hover, .vt-hdr .vt-hdr__toggle:focus { color: inherit; opacity: .65; }
.vt-hdr .site-wishlist-entry { display: inline-flex; height: 100%; }
.vt-hdr .site-wishlist-entry svg { width: 22px; height: 22px; }
.vt-hdr .vt-count { left: 24px; top: calc(50% - 14px); background: #fff; color: #000; }
.vt-hdr.is-solid .vt-count, .vt-hdr.vt-hdr--solid .vt-count, .vt-hdr--overlay:hover .vt-count, .vt-hdr.is-mega-open .vt-count { background: #0a0a0a; color: #fff; }
.vt-hdr .site-account-avatar { width: 24px; height: 24px; border-color: currentColor; color: inherit !important; background: transparent; }

.vt-hdr .vt-hdr__cta {
  display: inline-flex;
  align-items: center;
  height: 100%;
  margin-left: 15px;
  padding: 0 34px;
  color: inherit;
  background: transparent;
  font-family: var(--vt-hdr-font);
  font-stretch: 125%;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 1px;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background .2s ease-in-out, color .3s ease-in-out;
}
.vt-hdr .vt-hdr__cta:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.vt-hdr.is-solid .vt-hdr__cta, .vt-hdr.vt-hdr--solid .vt-hdr__cta, .vt-hdr--overlay:hover .vt-hdr__cta, .vt-hdr.is-mega-open .vt-hdr__cta { background: #000; color: #fff; }
.vt-hdr.is-solid .vt-hdr__cta:hover, .vt-hdr.vt-hdr--solid .vt-hdr__cta:hover, .vt-hdr--overlay:hover .vt-hdr__cta:hover, .vt-hdr.is-mega-open .vt-hdr__cta:hover { background: var(--vt-forest); color: #fff; }
.vt-hdr .vt-hdr__link:focus-visible, .vt-hdr .vt-hdr__icon:focus-visible, .vt-hdr .vt-hdr__cta:focus-visible, .vt-hdr__logo:focus-visible { outline: 2px solid currentColor; outline-offset: -4px; }

.vt-hdr .vt-hdr__toggle { display: none; }
.vt-hdr .vt-mega { top: 100%; }
.vt-plp__toolbar, html.vt-header-stuck .vt-plp__toolbar { top: var(--vt-hdr-h); }
/* Keep hero text clear of the transparent bar */
.vt-hero__shade::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 180px; background: linear-gradient(180deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, 0)); }

@media (max-width: 1199px) {
  .vt-hdr__bar { padding-left: 28px; }
  .vt-hdr .vt-hdr__link { padding: 14px 8px; font-size: 12px; letter-spacing: .6px; }
  .vt-hdr__logo img { height: 42px; }
  .vt-hdr .vt-hdr__cta { padding: 0 22px; font-size: 13px; }
}
@media (max-width: 991px) {
  :root { --vt-hdr-h: 64px; }
  .vt-hdr__bar { padding-left: 8px; }
  .vt-hdr__nav { display: none; }
  .vt-hdr .vt-hdr__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    min-height: 0;
    color: inherit;
  }
  .vt-hdr .vt-menu-toggle span.vt-burger { display: inline-flex; flex-direction: column; gap: 5px; }
  .vt-hdr .vt-menu-toggle span.vt-burger i { display: block; width: 20px; height: 1.5px; background: currentColor; }
  .vt-hdr__logo img { height: 38px; }
  .vt-hdr__actions { flex: 1 1 auto; gap: 0; }
  .vt-hdr .vt-hdr__icon { width: 42px; }
  .vt-hdr .vt-hdr__cta { margin-left: 6px; padding: 0 18px; font-size: 12px; }
}
@media (max-width: 767px) {
  .vt-hdr .signin-cart-btn, .vt-hdr .site-wishlist-entry { display: none; }
}
@media (max-width: 575px) {
  .vt-hdr .vt-hdr__cta { display: none; }
  .vt-hdr__logo img { height: 34px; }
}
@media (min-width: 992px) and (max-width: 1099px) {
  .vt-hdr__logo img { height: 38px; }
}

/* =====================================================================
   Book a consultation — pop-up form
   ===================================================================== */
body.vt-consult-open { overflow: hidden; }
.vt-consult { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 24px 16px; }
.vt-consult[hidden] { display: none; }
.vt-consult__backdrop { position: absolute; inset: 0; background: rgba(20, 16, 14, .55); opacity: 0; transition: opacity .35s ease; }
.vt-consult.is-open .vt-consult__backdrop { opacity: 1; }
.vt-consult__dialog {
  position: relative;
  width: min(456px, 100%);
  max-height: calc(100vh - 48px);
  max-height: calc(100dvh - 48px);
  overflow-y: auto;
  padding: 34px 24px 26px;
  background: #fffdf8;
  border-radius: 4px;
  box-shadow: 0 18px 50px rgba(20, 16, 14, .22);
  font-family: var(--vt-sans);
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .35s ease, transform .45s cubic-bezier(.165, .84, .44, 1);
}
.vt-consult.is-open .vt-consult__dialog { opacity: 1; transform: none; }
.vt-consult__dialog:focus { outline: none; }
.vt-consult__close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #555;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}
.vt-consult__close:hover { background: #f2eee4; color: #000; }
.vt-consult__title { margin: 0 0 18px; font-family: var(--vt-serif); font-weight: 400; font-size: 21px; line-height: 1.25; color: #1c1411; }
.vt-consult__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 10px; }
.vt-field { margin-bottom: 12px; min-width: 0; }
.vt-field label { display: block; margin: 0 0 6px; font-size: 8.5px; font-weight: 600; letter-spacing: 1.1px; text-transform: uppercase; color: #3a322c; }
.vt-field input, .vt-field select, .vt-field textarea {
  display: block;
  width: 100%;
  height: 28px;
  padding: 0 10px;
  border: 1px solid #e5dfd0;
  border-radius: 0;
  background: #f8f5ee;
  color: #1c1411;
  font: 400 11px/1.4 var(--vt-sans);
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
  -webkit-appearance: none;
  appearance: none;
}
.vt-field textarea { height: auto; min-height: 28px; padding: 6px 10px; resize: vertical; }
.vt-field input::placeholder, .vt-field textarea::placeholder { color: #8a837a; }
.vt-field input:focus, .vt-field select:focus, .vt-field textarea:focus { outline: none; border-color: var(--vt-bronze); background: #fff; box-shadow: 0 0 0 3px rgba(128, 101, 89, .12); }
.vt-field__select { position: relative; }
.vt-field__select::after { content: ""; position: absolute; right: 12px; top: 50%; width: 6px; height: 6px; border-right: 1.2px solid #6a625a; border-bottom: 1.2px solid #6a625a; transform: translateY(-70%) rotate(45deg); pointer-events: none; }
.vt-field select { padding-right: 30px; cursor: pointer; }
.vt-field.has-error input, .vt-field.has-error select, .vt-field.has-error textarea { border-color: #c0392b; }
.vt-field__error { margin: 4px 0 0; min-height: 0; font-size: 10px; line-height: 1.3; color: #b3261e; }
.vt-field__error:empty { display: none; }
.vt-consult__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 161px;
  height: 28px;
  margin-top: 4px;
  padding: 0 20px;
  border: 1px solid #1c1411;
  border-radius: 0;
  background: transparent;
  color: #1c1411;
  font: 400 11.5px/1 var(--vt-sans);
  letter-spacing: .4px;
  cursor: pointer;
  transition: background-color .4s ease-in-out, color .4s ease-in-out;
}
.vt-consult__submit:hover { background: #1c1411; color: #fff; }
.vt-consult__submit:disabled { opacity: .55; cursor: progress; }
.vt-consult__status { margin: 10px 0 0; font-size: 11px; color: #b3261e; }
.vt-consult__status:empty { display: none; }
.vt-consult__done { padding: 18px 4px 6px; text-align: center; color: var(--vt-forest); }
.vt-consult__done[hidden] { display: none; }
.vt-consult__done svg { display: block; margin: 0 auto 14px; }
.vt-consult__done p { margin: -6px auto 20px; max-width: 300px; font-size: 13px; line-height: 1.6; color: #444; }
@media (min-width: 768px) {
  /* Slightly roomier on larger screens while keeping the reference proportions */
  .vt-consult__dialog { width: 520px; padding: 40px 30px 30px; }
  .vt-consult__title { font-size: 24px; }
  .vt-field label { font-size: 9.5px; }
  .vt-field input, .vt-field select { height: 34px; font-size: 12.5px; }
  .vt-field textarea { font-size: 12.5px; padding: 8px 10px; }
  .vt-consult__submit { height: 34px; min-width: 180px; font-size: 13px; }
}
@media (max-width: 479px) {
  .vt-consult__row { grid-template-columns: 1fr; }
  .vt-field input, .vt-field select { height: 40px; font-size: 16px; }
  .vt-field textarea { font-size: 16px; }
  .vt-consult__submit { width: 100%; height: 44px; font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) { .vt-consult__backdrop, .vt-consult__dialog { transition: none; } }

/* =====================================================================
   Footer — light palette (ivory / sage / parchment, dark-brown text)
   ===================================================================== */
.vt-footer { background: #faf7f1; color: #2b2420; border-top: 1px solid #ece5d6; }
.vt-footer a:hover, .vt-footer li a:hover, .vt-footer .vt-social a:hover, .vt-footer__legal a:hover { color: var(--vt-bronze); }
.vt-footer .vt-cta { background: #edf1ea; color: #1f2a24; border-bottom: 1px solid #e1e7dc; }
.vt-footer .vt-cta__title { color: #1f2a24; }
.vt-footer .vt-cta__text { color: #4a524c; }
.vt-footer .vt-cta .vt-kicker { color: var(--vt-bronze); }
.vt-footer .vt-cta__btn { background: var(--vt-bronze); border-radius: 0; letter-spacing: 1px; transition: background-color .4s ease-in-out; }
.vt-footer .vt-cta__btn:hover { background: #6c554b; }
.vt-footer__logo { background: transparent; padding: 0; }
.vt-footer .vt-kicker { color: var(--vt-bronze); }
.vt-footer .vt-footer__news-title, .vt-footer .vt-footer__place, .vt-footer li a, .vt-footer .vt-social, .vt-footer .vt-social a { color: #2b2420; }
.vt-footer .vt-footer__about, .vt-footer .vt-footer__news-text { color: #6b625a; }
.vt-footer li a { background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-position: 0 100%; background-repeat: no-repeat; padding-bottom: 2px; transition: background-size .3s ease-out, color .3s ease-out; }
.vt-footer li a:hover { background-size: 100% 1px; }
.vt-footer .vt-signup { background: #fff; border: 1px solid #e3dccd; border-radius: 0; }
.vt-footer .vt-signup:focus-within { border-color: var(--vt-bronze); }
.vt-footer .vt-signup button { background: var(--vt-bronze); color: #fff; border-radius: 0; transition: background-color .4s ease-in-out; }
.vt-footer .vt-signup button:hover { background: #6c554b; }
.vt-footer .pp-newsletter-status { color: #6b625a; }
.vt-footer__bottom { background: #f3eee4; border-top: 1px solid #e6dfd0; color: #6b625a; }
.vt-footer .vt-footer__bottom > span:first-child, .vt-footer .vt-footer__legal, .vt-footer .vt-footer__legal a { color: #6b625a; }
.vt-footer .vt-footer__locale { color: #2b2420; }

/* =====================================================================
   Homepage — Instagram section (Sections & Images → Home — Instagram)
   ===================================================================== */
.vt-insta { background: var(--vt-forest); color: #fff; padding: 72px 0 80px; }
.vt-insta .vt-container { padding: 0 32px; }
.vt-insta__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 40px; margin-bottom: 36px; }
.vt-insta__copy { max-width: 720px; }
.vt-home .vt-insta__kicker { margin: 0 0 12px; font-size: 11px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; color: var(--vt-gold); }
.vt-home .vt-insta__title { margin: 0; font-family: var(--vt-serif); font-weight: 600; font-size: clamp(30px, 1.6vw + 20px, 46px); line-height: 1.12; color: #fff; }
.vt-home .vt-insta__text { margin: 14px 0 0; font-size: 14px; line-height: 22px; color: rgba(255, 255, 255, .78); }
.vt-home .vt-insta__btn {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  height: 48px;
  padding: 0 24px;
  background: #4a2a1d;
  border: 1px solid #4a2a1d;
  color: #fff;
  font-size: 14px;
  letter-spacing: .4px;
  text-decoration: none;
  transition: background-color .4s ease-in-out, border-color .4s ease-in-out, color .4s ease-in-out;
}
.vt-home .vt-insta__btn:hover { background: transparent; border-color: rgba(255, 255, 255, .7); color: #fff; }
.vt-insta__btn .vt-insta__ico { width: 18px; height: 18px; }
.vt-insta__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vt-insta__card {
  position: relative;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #173a31;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.vt-insta__card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.165, .84, .44, 1); }
.vt-insta__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .7) 100%); transition: background-color .4s ease; }
.vt-insta__badge {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: var(--vt-forest);
  opacity: 0;
  transform: scale(.85);
  transition: opacity .35s ease, transform .35s ease;
}
.vt-insta__meta { position: absolute; left: 20px; right: 20px; bottom: 18px; display: flex; flex-direction: column; gap: 6px; }
.vt-home .vt-insta__label { font-size: 10px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase; color: var(--vt-gold); }
.vt-home .vt-insta__caption { font-family: var(--vt-serif); font-weight: 600; font-size: 20px; line-height: 1.25; color: #fff; }
.vt-insta__card:focus-visible { outline: 2px solid var(--vt-gold); outline-offset: 3px; }
/* Scroll reveal, same motion as the other homepage sections */
.vt-motion .vt-insta__head, .vt-motion .vt-insta__card { opacity: 0; transform: translateY(15%); transition: opacity .8s ease-in-out var(--vt-delay, 0ms), transform .8s ease-in-out var(--vt-delay, 0ms); }
.vt-motion .vt-insta__head.is-animated, .vt-motion .vt-insta__card.is-animated { opacity: 1; transform: none; }
@media (max-width: 991px) {
  .vt-insta { padding: 56px 0 60px; }
  .vt-insta__head { flex-direction: column; align-items: flex-start; }
  .vt-insta__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
}
@media (max-width: 575px) {
  .vt-insta .vt-container { padding: 0 16px; }
  .vt-insta__grid { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -16px; padding: 0 16px 4px; }
  .vt-insta__grid::-webkit-scrollbar { display: none; }
  .vt-insta__card { flex: 0 0 82%; scroll-snap-align: start; }
  .vt-home .vt-insta__btn { width: 100%; justify-content: center; }
}

/* Account notifications */
.vt-hdr .vt-notify-dot {
  position: absolute;
  top: calc(50% - 16px);
  left: 24px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  background: #b3261e;
  color: #fff;
  font: 600 9px/16px var(--vt-sans);
  text-align: center;
  box-shadow: 0 0 0 2px #fff;
}
.account-nav a { position: relative; }
.account-nav-count { margin-left: auto; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: #b3261e; color: #fff; font-size: 11px; font-weight: 600; line-height: 20px; text-align: center; }
.account-notes { display: flex; flex-direction: column; gap: 12px; }
.account-note { display: flex; gap: 14px; padding: 18px 20px; background: #fff; border: 1px solid #ece5d6; transition: border-color .2s ease; }
.account-note.is-unread { border-color: #d9cdb4; background: #fffdf8; }
.account-note-dot { flex: 0 0 auto; width: 8px; height: 8px; margin-top: 7px; border-radius: 50%; background: transparent; }
.account-note.is-unread .account-note-dot { background: var(--vt-bronze); }
.account-note-body { flex: 1 1 auto; min-width: 0; }
.account-note-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.account-note-head h3 { margin: 0; font-family: var(--vt-serif); font-weight: 400; font-size: 19px; line-height: 1.3; color: #1c1411; }
.account-note-status { flex: 0 0 auto; padding: 3px 10px; border-radius: 12px; font-size: 11px; font-weight: 600; letter-spacing: .3px; background: #f3f4f6; color: #4b5563; }
.account-note-status--contacted { background: #fffbeb; color: #b45309; }
.account-note-status--scheduled { background: #ecfdf3; color: #067647; }
.account-note-status--new { background: #eff6ff; color: #1d4ed8; }
.account-note-status--removed { background: #fef2f2; color: #b91c1c; }
.account-note-body > p { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: #444; }
.account-note-message { margin: 12px 0 0; padding: 10px 14px; border-left: 3px solid var(--vt-bronze); background: #faf7f1; font-size: 14px; line-height: 1.6; color: #2b2420; white-space: pre-line; }
.account-note-message span { display: block; margin-bottom: 4px; font-size: 10px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--vt-bronze); }
.account-note-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.account-note-foot time { font-size: 12px; color: #8a7f73; }
.account-note .account-remove { margin: 0; }
@media (max-width: 575px) { .account-note-head { flex-direction: column; gap: 6px; } }

/* Instagram section — light blush-sand band (distinct from the white sections above and the
   sage / ivory footer below), real Instagram embeds, Instagram icon always visible, no hover effects. */
.vt-insta { background: #f5ece4; color: #2b2420; border-top: 1px solid #ecdfd3; border-bottom: 1px solid #ecdfd3; }
.vt-home .vt-insta__kicker { color: var(--vt-bronze); }
.vt-home .vt-insta__title { color: #1c1411; }
.vt-home .vt-insta__text { color: #5e554d; }
.vt-home .vt-insta__btn { background: #1c1411; border-color: #1c1411; color: #fff; }
.vt-home .vt-insta__btn:hover { background: var(--vt-bronze); border-color: var(--vt-bronze); color: #fff; }
.vt-insta__grid { grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); align-items: start; }
.vt-insta__card {
  aspect-ratio: auto;
  overflow: visible;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #e6d8cb;
  box-shadow: 0 6px 20px rgba(60, 40, 25, .06);
  color: inherit;
}
.vt-home a.vt-insta__bar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid #f0e6dc;
  color: #1c1411;
  text-decoration: none;
}
.vt-insta__glyph {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
}
.vt-insta__glyph .vt-insta__ico { width: 20px; height: 20px; }
.vt-insta__who { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; line-height: 1.25; }
.vt-home .vt-insta__who strong { font-size: 13px; font-weight: 600; color: #1c1411; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vt-home .vt-insta__who small { font-size: 11px; letter-spacing: .6px; text-transform: uppercase; color: var(--vt-bronze); }
.vt-home .vt-insta__open {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 30px;
  padding: 0 12px;
  border: 1px solid #1c1411;
  font-size: 12px;
  font-weight: 500;
  color: #1c1411;
}
.vt-home .vt-insta__bar:focus-visible { outline: 2px solid var(--vt-bronze); outline-offset: -2px; }
.vt-insta__embed { padding: 0; min-height: 420px; background: #fff; }
.vt-insta__embed .instagram-media,
.vt-insta__embed iframe.instagram-media-rendered {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
}
/* Shown until Instagram's embed script replaces it (or if it cannot load) */
.vt-home a.vt-insta__fallback {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 420px;
  color: #1c1411;
  font-size: 14px;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.vt-insta__fallback .vt-insta__ico { width: 44px; height: 44px; color: #1c1411; }
@media (max-width: 575px) {
  .vt-insta__grid { display: flex; }
  .vt-insta__card { flex: 0 0 max(88%, 326px); min-width: 0; }
  .vt-insta__embed, .vt-home a.vt-insta__fallback { min-height: 380px; }
}

.vt-insta__card { min-width: 0; }

/* Instagram tiles — compact post images with a permanent Instagram badge (no hover effects) */
.vt-insta__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 240px)); gap: 18px; align-items: start; }
.vt-home a.vt-insta__tile {
  position: relative;
  display: block;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 6px;
  background: #eadccf;
  box-shadow: 0 4px 14px rgba(60, 40, 25, .12);
  text-decoration: none;
}
.vt-insta__tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vt-insta__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #8a6f60; }
.vt-insta__placeholder svg { width: 40px; height: 40px; }
.vt-insta__ig {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  color: #fff;
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .28), 0 0 0 2px rgba(255, 255, 255, .9);
}
.vt-insta__ig svg { width: 20px; height: 20px; }
.vt-home .vt-insta__kind {
  position: absolute;
  left: 10px;
  bottom: 10px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 9px 0 7px;
  border-radius: 12px;
  background: rgba(0, 0, 0, .62);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .3px;
}
.vt-home a.vt-insta__tile:focus-visible { outline: 3px solid var(--vt-bronze); outline-offset: 3px; }
.vt-motion .vt-insta__tile { opacity: 0; transform: translateY(15%); transition: opacity .8s ease-in-out var(--vt-delay, 0ms), transform .8s ease-in-out var(--vt-delay, 0ms); }
.vt-motion .vt-insta__tile.is-animated { opacity: 1; transform: none; }
@media (max-width: 575px) {
  .vt-insta__grid { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -16px; padding: 0 16px 4px; }
  .vt-home a.vt-insta__tile { flex: 0 0 62%; scroll-snap-align: start; }
}

/* Instagram tiles v2 — three equal square tiles across the full width, understated icons */
.vt-insta__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vt-home a.vt-insta__tile { aspect-ratio: 1 / 1; border-radius: 0; background: #e9ded3; box-shadow: none; }
.vt-insta__tile img { object-position: center 30%; }
.vt-insta__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, .28) 0%, rgba(0, 0, 0, 0) 22%, rgba(0, 0, 0, 0) 70%, rgba(0, 0, 0, .45) 100%); pointer-events: none; }
.vt-insta__ig {
  top: 14px;
  right: 14px;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #fff;
  background: rgba(0, 0, 0, .32);
  box-shadow: none;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255, 255, 255, .35);
}
.vt-insta__ig svg { width: 18px; height: 18px; }
.vt-insta__play {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 54px;
  height: 54px;
  margin: -27px 0 0 -27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: rgba(0, 0, 0, .35);
  border: 1px solid rgba(255, 255, 255, .5);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}
.vt-insta__play svg { margin-left: 3px; }
.vt-home .vt-insta__cta {
  position: absolute;
  left: 16px;
  bottom: 14px;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .6px;
  text-transform: uppercase;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .4);
}
.vt-home .vt-insta__cta::after { content: " ↗"; }
.vt-insta__kind { display: none; }
@media (max-width: 767px) {
  .vt-insta__grid { gap: 12px; }
  .vt-insta__ig { top: 10px; right: 10px; width: 30px; height: 30px; }
  .vt-insta__ig svg { width: 16px; height: 16px; }
  .vt-home .vt-insta__cta { display: none; }
  .vt-insta__play { width: 42px; height: 42px; margin: -21px 0 0 -21px; }
}
@media (max-width: 575px) {
  .vt-insta__grid { display: flex; gap: 12px; }
  .vt-home a.vt-insta__tile { flex: 0 0 78%; }
  .vt-home .vt-insta__cta { display: block; }
}

/* =====================================================================
   SITE GRID — one spacing system for every page, modelled on swarovski.com/en-IN
   Page background #f0eee4 (stone) with white content blocks; one side gutter
   (34 / 21 / 16 px); spacing scale 5 · 13 · 21 · 34 · 55 · 89.
   ===================================================================== */
:root {
  --vt-gutter: 34px;
  --vt-s1: 5px; --vt-s2: 13px; --vt-s3: 21px; --vt-s4: 34px; --vt-s5: 55px; --vt-s6: 89px;
  --vt-page-bg: #f0eee4;
}
@media (max-width: 1199px) { :root { --vt-gutter: 21px; } }
@media (max-width: 767px)  { :root { --vt-gutter: 16px; } }

body, body.vt-page, body.product-detail-page { background: var(--vt-page-bg); }
.vt-page .wrapper, .wrapper.ovh { background: transparent; }

/* Header and every container share the same side gutter */
.vt-hdr__bar { padding-left: var(--vt-gutter); }
@media (max-width: 991px) { .vt-hdr__bar { padding-left: calc(var(--vt-gutter) - 8px); } }
.vt-container, .vt-insta .vt-container { max-width: none; padding-left: var(--vt-gutter); padding-right: var(--vt-gutter); }
.vt-hero__content { padding-left: var(--vt-gutter); padding-right: var(--vt-gutter); }

/* ---------- Homepage sections ---------- */
.vt-intro { padding: var(--vt-s5) var(--vt-gutter); }
.vt-intro .vt-body { padding: var(--vt-s3) 0 0; }

/* Categories: white block, heading 55px above/below, tiles edge to edge with 5px gaps */
.vt-categories { background: #fff; padding: 0 0 var(--vt-s1); }
.vt-categories .vt-container { padding: 0; }
.vt-section-head { padding: var(--vt-s5) var(--vt-gutter); }
.vt-cat-grid { gap: var(--vt-s1); }
.vt-cat { background: #f7f6f1; }
.vt-cat__label { height: 55px; }

/* Product row: stone band, 34px top/bottom, cards with 10px gaps */
.vt-products { background: var(--vt-page-bg); padding: var(--vt-s4) 0; }
.vt-products .vt-container { padding: 0 var(--vt-gutter); }
.vt-products .vt-h3 { padding: var(--vt-s3) 0 var(--vt-s4); }
.vt-carousel__track { gap: 10px; }
.vt-carousel__slide { flex: 0 0 calc((100% - 30px) / 4); padding: 0; }
.vt-card { height: auto; min-height: 376px; justify-content: flex-start; }
.vt-card__img { padding: var(--vt-s4) 0 var(--vt-s3); }
.vt-card__meta { margin-top: auto; padding: 0 var(--vt-s4) var(--vt-s3); }
.vt-carousel__btn { top: calc(var(--vt-s4) + 96px - 20px); }
.vt-carousel__btn--next { right: 0; }
.vt-carousel__btn--prev { left: 0; }

/* Image + text blocks keep the reference split (text column padding ≈ 8.3vw) */
.vt-split { background: #fff; }
.vt-split + .vt-split, .vt-products + .vt-split { margin-top: 0; }

/* Journal, Instagram: 55px top/bottom, 34px heading gap */
.vt-wisdom { padding: var(--vt-s5) 0; }
.vt-wisdom__head { padding-bottom: var(--vt-s4); }
.vt-wisdom__grid { gap: var(--vt-s3); }
.vt-insta { padding: var(--vt-s5) 0; }
.vt-insta__head { margin-bottom: var(--vt-s4); }
.vt-insta__grid { gap: var(--vt-s3); }

/* ---------- Footer: same gutter as the header and page ---------- */
.vt-footer .vt-cta { padding: var(--vt-s5) var(--vt-gutter); min-height: 0; }
.vt-footer__main { padding: var(--vt-s5) var(--vt-gutter); gap: var(--vt-s4); justify-content: space-between; }
.vt-footer__bottom { padding: var(--vt-s4) var(--vt-gutter); min-height: 0; }

/* ---------- Listing pages (collection / category / shop) ---------- */
.vt-plp__intro { max-width: none; padding: var(--vt-s4) var(--vt-gutter) var(--vt-s3); }
.vt-plp__toolbar { padding: 6px 25px; min-height: 60px; }
.vt-plp__grid { padding: 4px 0 0; column-gap: var(--vt-s1); row-gap: 4px; }
.vt-tile__img { inset: 15%; width: 70%; height: 70%; object-fit: contain; }
.vt-tile__info { padding: 0 var(--vt-s4) var(--vt-s3); }
.vt-tile__wish { top: var(--vt-s2); right: var(--vt-s2); width: 48px; height: 48px; background: rgba(255, 255, 255, .8); border: 0; box-shadow: none; }
.vt-plp__seo { padding: var(--vt-s5) var(--vt-gutter) var(--vt-s6); }
@media (max-width: 991px) { .vt-plp__toolbar { padding: 6px var(--vt-gutter); } }

/* ---------- Product page: gallery 57% | white details panel, 5px apart ---------- */
.product-design { padding-top: var(--vt-s4); padding-bottom: var(--vt-s5); background: transparent; }
.product-design__top { grid-template-columns: minmax(0, 823fr) minmax(0, 612fr); gap: var(--vt-s1); padding: 0; }
.product-design__gallery { margin-left: 0; width: 100%; gap: var(--vt-s1); background: transparent; }
.product-design__image, .product-design__image--half { aspect-ratio: 1 / 1; background: #fff; }
.product-design__image:first-child { grid-column: 1 / -1; }
.product-design__image:nth-child(n+2) { grid-column: auto; }
.product-design__image img { object-fit: contain; }
.product-design__details { background: #fff; padding: var(--vt-s4); top: calc(var(--vt-hdr-h) + var(--vt-s1)); }
.product-design__details-inner { max-width: none; }
.product-care, .product-design__information {
  margin: var(--vt-s1) 0 0;
  padding: var(--vt-s5) var(--vt-gutter);
  background: #fff;
  border-bottom: 0;
}
.product-care { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--vt-s5); }
.product-care__media { background: #f7f6f1; }
.product-detail-page .shop-review-area { margin-top: var(--vt-s1); padding: var(--vt-s5) 0; background: #fff; }
@media (max-width: 991px) {
  .product-design__top { grid-template-columns: 1fr; }
  .product-design__details { position: static; }
  .product-care { grid-template-columns: 1fr; gap: var(--vt-s4); }
}

/* ---------- Pages built on the legacy grid (cart, checkout, journal, reviews) ---------- */
.container { max-width: none; padding-left: var(--vt-gutter); padding-right: var(--vt-gutter); }
.page-title, .shop-cart, .blog-list-area, .shop-checkout { background: transparent; }

/* ---------- Stores ---------- */
.vt-stores { background: transparent; padding-bottom: var(--vt-s5); }
.vt-stores__head { padding: var(--vt-s5) var(--vt-gutter) var(--vt-s4); }
.vt-stores__bar, .vt-stores__grid { max-width: none; padding-left: var(--vt-gutter); padding-right: var(--vt-gutter); }
.vt-stores__grid { gap: var(--vt-s1); }
.vt-store { background: #fff; }
.vt-store__body { padding: var(--vt-s4); }
.vt-store__services li { background: var(--vt-page-bg); }

/* ---------- Content pages (about, founder, info) ---------- */
.vt-content-page { background: transparent; }
.vt-content-page__inner { padding: var(--vt-s5) var(--vt-gutter) var(--vt-s6); }
.vt-empty-state { background: #fff; }
/* Site grid — specificity fixes */
body.product-detail-page .product-design__details { padding: var(--vt-s4); }
.vt-plp__toolbar { padding-left: var(--vt-gutter); padding-right: var(--vt-gutter); }
body.product-detail-page .product-design__details { padding-top: var(--vt-s4) !important; padding-bottom: var(--vt-s4) !important; top: calc(var(--vt-hdr-h) + var(--vt-s1)) !important; }

/* =====================================================================
   Grid spacing — tiles sit inside the page gutter with clear gaps
   (desktop 21px gaps, tablet 16px, phone 12px)
   ===================================================================== */
:root { --vt-grid-gap: 21px; }
@media (max-width: 1199px) { :root { --vt-grid-gap: 16px; } }
@media (max-width: 767px)  { :root { --vt-grid-gap: 12px; } }

/* Listing / recommendation grids */
.vt-plp__grid {
  padding: var(--vt-s4) var(--vt-gutter) var(--vt-s5);
  column-gap: var(--vt-grid-gap);
  row-gap: var(--vt-grid-gap);
}
.vt-tile, .vt-teaser { box-shadow: 0 1px 0 rgba(0, 0, 0, .02); }
.vt-tile__info { padding: var(--vt-s2) var(--vt-s3) var(--vt-s3); }
.vt-tile__wish { top: var(--vt-s2); right: var(--vt-s2); width: 40px; height: 40px; background: rgba(255, 255, 255, .92); box-shadow: 0 2px 8px rgba(0, 0, 0, .08); }
.vt-plp__toolbar { border-bottom: 1px solid #e7e2d6; }

/* Homepage categories */
.vt-categories { padding: 0 0 var(--vt-s5); }
.vt-categories .vt-container { padding: 0 var(--vt-gutter); }
.vt-section-head { padding-left: 0; padding-right: 0; }
.vt-cat-grid { gap: var(--vt-grid-gap); }

/* Product page: gallery and details inside the gutter */
.product-design__top { padding: 0 var(--vt-gutter); gap: var(--vt-grid-gap); }
.product-design__gallery { gap: var(--vt-s1); }
.product-care, .product-design__information { margin: var(--vt-grid-gap) var(--vt-gutter) 0; padding: var(--vt-s5) var(--vt-s4); }
.product-detail-page .shop-review-area { margin: var(--vt-grid-gap) var(--vt-gutter) 0; }
@media (max-width: 767px) {
  .product-care, .product-design__information { padding: var(--vt-s4) var(--vt-gutter); }
}

/* Stores grid gaps match */
.vt-stores__grid { gap: var(--vt-grid-gap); }

/* =====================================================================
   PRODUCT PAGE — modelled on the swarovski.com product page
   Gallery (1 large + pairs) | white info panel + white expandable panel,
   sticky add-to-bag bar, full-screen image viewer.
   ===================================================================== */
body.product-detail-page .product-design { padding-top: var(--vt-s4); }
body.product-detail-page .product-design__top { align-items: start; }

/* Gallery */
.product-design__gallery-wrap { position: relative; min-width: 0; }
body.product-detail-page .product-design__gallery { display: grid; grid-template-columns: 1fr 1fr; gap: var(--vt-s1); margin: 0; width: 100%; background: transparent; }
body.product-detail-page .product-design__image,
body.product-detail-page .product-design__image--half { aspect-ratio: 1 / 1; background: #fff; cursor: zoom-in; grid-column: auto; }
body.product-detail-page .product-design__image:first-child { grid-column: 1 / -1; }
/* Odd number of small images: let the last one span the row instead of leaving a hole */
body.product-detail-page .product-design__image:nth-child(2n):last-child { grid-column: 1 / -1; aspect-ratio: 2 / 1; }
body.product-detail-page .product-design__image img { width: 100%; height: 100%; object-fit: contain; transform: none; }
body.product-detail-page .product-design__image:hover img { transform: none; }
body.product-detail-page .product-design__image:focus-visible { outline: 2px solid var(--vt-ink); outline-offset: -2px; }
.product-design__wish.pdp-gallery-wish {
  position: absolute;
  top: var(--vt-s2);
  right: var(--vt-s2);
  z-index: 2;
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .85);
  color: var(--vt-ink);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
  cursor: pointer;
}
.product-design__wish.pdp-gallery-wish.is-wishlisted { color: #b3261e; }
.product-design__wish.pdp-gallery-wish.is-wishlisted path { fill: currentColor; }
.pdp-gallery-dots { display: none; }

/* Details column: two white panels, 8px apart, scrolling with the page */
body.product-detail-page .product-design__details {
  position: static !important;
  top: auto !important;
  padding: 0 !important;
  background: transparent;
  height: auto;
}
.pdp-panel { background: #fff; padding: var(--vt-s4); }
.pdp-panel--more { margin-top: 8px; padding: var(--vt-s2) 30px; }

.pdp-flag { margin: 0 0 var(--vt-s2); font: 500 11px/1.3 var(--vt-sans); letter-spacing: 1px; text-transform: uppercase; color: var(--vt-bronze); }
.pdp-title { margin: 0; font-family: var(--vt-serif); font-weight: 400; font-size: 28px; line-height: 1.2; color: #1c1411; }
.pdp-subtitle { display: block; margin-top: 8px; font: 400 14px/1.4 var(--vt-sans); color: #5f5a55; }
.pdp-price { margin-top: var(--vt-s3); }
body.product-detail-page .product-design__price { margin: 0; font-family: var(--vt-sans); font-size: 28px; font-weight: 600; line-height: 1.3; letter-spacing: -.01em; }
.product-design__price .pp-price { display: inline-flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.product-design__price .pp-price__selling { color: #1c1411; font-weight: 600; }
.product-design__price .pp-price__mrp { font-size: 18px; font-weight: 400; color: #767676; }
.pdp-price__note { margin: 4px 0 0; font: 400 12px/1.4 var(--vt-sans); color: #767676; }
body.product-detail-page .product-design__intro { margin: var(--vt-s3) 0 0; font: 400 14px/1.6 var(--vt-sans); color: #444; }

/* Delivery options */
.pdp-delivery { margin-top: var(--vt-s3); display: grid; gap: 8px; }
.pdp-delivery__title { margin: 0 0 var(--vt-s1); font: 400 14px/1.4 var(--vt-sans); color: #1c1411; }
.pdp-delivery__option {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  min-height: 90px;
  padding: var(--vt-s3) var(--vt-s3) var(--vt-s3) 55px;
  position: relative;
  border: 1px solid #e8e7e7;
  background: #fafafa;
  color: #1c1411;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  font-family: var(--vt-sans);
  transition: border-color .2s ease, box-shadow .2s ease;
}
.pdp-delivery__option:hover { color: #1c1411; border-color: #bbb; }
.pdp-delivery__option.is-selected { border-color: #000; box-shadow: inset 0 0 0 1px #000; }
.pdp-delivery__icon { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); display: inline-flex; color: #1c1411; }
.pdp-delivery__text { display: flex; flex-direction: column; gap: 6px; }
.pdp-delivery__name { font-size: 14px; font-weight: 500; }
.pdp-delivery__status { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: #444; }
.pdp-delivery__status--link { text-decoration: underline; text-underline-offset: 3px; }
.pdp-dot { width: 8px; height: 8px; border-radius: 50%; background: #77bb78; display: inline-block; }
.pdp-dot--out { background: #d9534f; }

/* Buy */
.pdp-buy { display: flex; gap: 8px; margin-top: var(--vt-s3); }
body.product-detail-page .product-design__quantity {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: stretch;
  height: 48px;
  margin: 0;
  border: 1px solid #d6d3cc;
  background: #fff;
}
body.product-detail-page .product-design__quantity button { width: 40px; border: 0; background: transparent; font-size: 18px; color: #1c1411; cursor: pointer; }
body.product-detail-page .product-design__quantity span { min-width: 34px; display: inline-flex; align-items: center; justify-content: center; font: 500 14px var(--vt-sans); }
.pdp-add, body.product-detail-page .product-design__cart.pdp-add {
  flex: 1 1 auto;
  height: 48px;
  padding: 0 13px;
  border: 1px solid #000;
  background: #000;
  color: #fff;
  font: 400 14px/1 var(--vt-sans);
  letter-spacing: .3px;
  text-transform: none;
  cursor: pointer;
  transition: background-color .4s ease-in-out, border-color .4s ease-in-out;
}
.pdp-add:hover { background: var(--vt-forest); border-color: var(--vt-forest); }
body.product-detail-page a.product-design__buy.pdp-buy-now {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 48px;
  margin-top: 8px;
  border: 1px solid #000;
  background: #fff;
  color: #000;
  font: 400 14px/1 var(--vt-sans);
  letter-spacing: .3px;
  text-transform: none;
  text-decoration: none;
  transition: background-color .4s ease-in-out, color .4s ease-in-out;
}
body.product-detail-page a.product-design__buy.pdp-buy-now:hover { background: #000; color: #fff; }
.pdp-shipping-note { margin: var(--vt-s2) 0 0; font: 400 12px/1.5 var(--vt-sans); color: #5f5a55; }

/* Expandable sections */
.pdp-acc { border-bottom: 1px solid #e8e7e7; }
.pdp-acc:last-child { border-bottom: 0; }
.pdp-acc__head { margin: 0; }
.pdp-acc__head button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 68px;
  padding: 0;
  border: 0;
  background: none;
  color: #1c1411;
  font: 400 14px/1.4 var(--vt-sans);
  text-align: left;
  cursor: pointer;
}
.pdp-acc__chev { width: 9px; height: 9px; margin-right: 4px; border-right: 1.4px solid currentColor; border-bottom: 1.4px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .3s ease; }
.pdp-acc.is-open .pdp-acc__chev { transform: rotate(-135deg) translateY(-2px); }
.pdp-acc__body { overflow: hidden; transition: height .35s ease; }
.pdp-acc__inner { padding: 0 0 var(--vt-s3); font: 400 14px/1.65 var(--vt-sans); color: #444; }
.pdp-acc__inner p { margin: 0 0 var(--vt-s2); }
.pdp-acc__inner a { color: #1c1411; text-decoration: underline; text-underline-offset: 3px; }
.pdp-list { margin: 0 0 var(--vt-s2); padding-left: 18px; }
.pdp-list li { margin-bottom: 4px; }
.pdp-specs { margin: var(--vt-s2) 0 0; display: grid; gap: 6px; }
.pdp-specs div { display: grid; grid-template-columns: 140px 1fr; gap: 12px; }
.pdp-specs dt { font-weight: 500; color: #1c1411; }
.pdp-specs dd { margin: 0; }
.pdp-outline-btn { display: inline-flex; align-items: center; height: 44px; padding: 0 22px; border: 1px solid #000; color: #000 !important; text-decoration: none !important; font-size: 14px; transition: background-color .4s ease-in-out, color .4s ease-in-out; }
.pdp-outline-btn:hover { background: #000; color: #fff !important; }

/* Sticky add-to-bag bar */
.pdp-sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  background: #fff;
  box-shadow: 0 0 21px rgba(0, 0, 0, .15);
  transform: translateY(100%);
  transition: transform .3s ease;
}
.pdp-sticky.is-visible { transform: none; }
.pdp-sticky__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--vt-s3); min-height: 74px; padding: 13px var(--vt-gutter); }
.pdp-sticky__left { display: flex; align-items: center; gap: var(--vt-s2); min-width: 0; }
.pdp-sticky__left img { width: 48px; height: 48px; object-fit: contain; background: #f7f6f1; flex: 0 0 auto; }
.pdp-sticky__left div { display: flex; flex-direction: column; min-width: 0; }
.pdp-sticky__left strong { font: 500 14px/1.3 var(--vt-sans); color: #1c1411; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pdp-sticky__left span { font: 400 12px/1.4 var(--vt-sans); color: #767676; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pdp-sticky__right { display: flex; align-items: center; gap: var(--vt-s3); flex: 0 0 auto; }
.pdp-sticky__price { font-family: var(--vt-serif); font-size: 18px; color: #1c1411; }
.pdp-sticky__price .pp-price { display: inline-flex; align-items: baseline; gap: 8px; }
.pdp-sticky__price .pp-price__selling { color: #1c1411; font-weight: 400; }
.pdp-sticky__price .pp-price__mrp { font-size: 13px; }
.pdp-sticky__btn { flex: 0 0 auto; min-width: 240px; }

/* Full-screen image viewer */
body.pdp-viewer-open { overflow: hidden; }
.pdp-viewer { position: fixed; inset: 0; z-index: 3000; background: #fff; display: flex; flex-direction: column; opacity: 0; transition: opacity .3s ease; }
.pdp-viewer[hidden] { display: none; }
.pdp-viewer.is-open { opacity: 1; }
.pdp-viewer__close { position: absolute; top: 16px; right: 16px; z-index: 3; width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 0; border-radius: 50%; background: #f3f1ea; color: #1c1411; cursor: pointer; }
.pdp-viewer__count { position: absolute; top: 28px; left: 24px; z-index: 3; margin: 0; font: 400 13px var(--vt-sans); color: #5f5a55; }
.pdp-viewer__stage { position: relative; flex: 1 1 auto; overflow: hidden; display: flex; align-items: center; justify-content: center; cursor: zoom-in; touch-action: pan-y; }
.pdp-viewer__stage img { max-width: min(92vw, 1100px); max-height: calc(100vh - 150px); object-fit: contain; transition: transform .3s ease; transform-origin: center center; user-select: none; -webkit-user-drag: none; }
.pdp-viewer__stage.is-zoomed { cursor: zoom-out; }
.pdp-viewer__stage.is-zoomed img { transform: scale(2.2); transition: transform .3s ease, transform-origin .05s linear; }
.pdp-viewer__nav { position: absolute; top: 50%; z-index: 3; width: 48px; height: 48px; margin-top: -24px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #e3ded2; border-radius: 50%; background: #fff; color: #1c1411; cursor: pointer; transition: transform .3s ease, opacity .3s ease; }
.pdp-viewer__nav:hover { transform: scale(.92); opacity: .8; }
.pdp-viewer__nav--prev { left: 24px; }
.pdp-viewer__nav--next { right: 24px; }
.pdp-viewer__thumbs { flex: 0 0 auto; display: flex; justify-content: center; gap: 8px; padding: 13px var(--vt-gutter) 21px; overflow-x: auto; }
.pdp-viewer__thumbs button { flex: 0 0 auto; width: 64px; height: 64px; padding: 0; border: 1px solid #e3ded2; background: #fff; cursor: pointer; opacity: .6; transition: opacity .2s ease, border-color .2s ease; }
.pdp-viewer__thumbs button img { width: 100%; height: 100%; object-fit: contain; }
.pdp-viewer__thumbs button.is-active, .pdp-viewer__thumbs button:hover { opacity: 1; border-color: #1c1411; }
.pdp-viewer--single .pdp-viewer__nav, .pdp-viewer--single .pdp-viewer__thumbs { display: none; }

/* Phones: swipeable gallery with dots */
@media (max-width: 767px) {
  body.product-detail-page .product-design__top { padding: 0; gap: 0; }
  body.product-detail-page .product-design__gallery { display: flex; gap: 0; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  body.product-detail-page .product-design__gallery::-webkit-scrollbar { display: none; }
  body.product-detail-page .product-design__image,
  body.product-detail-page .product-design__image:first-child,
  body.product-detail-page .product-design__image:nth-child(2n):last-child { flex: 0 0 100%; aspect-ratio: 1 / 1; scroll-snap-align: start; }
  .pdp-gallery-dots { position: absolute; left: 0; right: 0; bottom: 13px; display: flex; justify-content: center; gap: 6px; pointer-events: none; }
  .pdp-gallery-dots span { width: 6px; height: 6px; border-radius: 50%; background: rgba(0, 0, 0, .2); transition: background-color .2s ease; }
  .pdp-gallery-dots span.is-active { background: #1c1411; }
  .pdp-panel { padding: var(--vt-s3) var(--vt-gutter); }
  .pdp-panel--more { padding: 4px var(--vt-gutter); }
  .pdp-title { font-size: 24px; }
  .pdp-sticky__left { display: none; }
  .pdp-sticky__right { flex: 1 1 auto; justify-content: space-between; }
  .pdp-sticky__btn { min-width: 0; flex: 1 1 auto; max-width: 60%; }
  .pdp-viewer__nav { display: none; }
  .pdp-specs div { grid-template-columns: 110px 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .pdp-sticky, .pdp-acc__body, .pdp-viewer, .pdp-viewer__stage img { transition: none; }
}

/* Product page: both columns stick while scrolling so their bottoms line up at the end */
@media (min-width: 768px) {
  body.product-detail-page .product-design__top { align-items: start; }
  body.product-detail-page .product-design__gallery-wrap,
  body.product-detail-page .product-design__details {
    position: sticky !important;
    top: var(--pdp-stick-top, calc(var(--vt-hdr-h) + var(--vt-grid-gap))) !important;
    align-self: start;
  }
}
/* Buy now: legacy style.css forces white text with !important — keep it readable */
body.product-detail-page a.product-design__buy.pdp-buy-now { color: #000 !important; background: #fff !important; }
body.product-detail-page a.product-design__buy.pdp-buy-now:hover,
body.product-detail-page a.product-design__buy.pdp-buy-now:focus-visible { color: #fff !important; background: #000 !important; }
/* Product page columns: native sticky (smooth — the browser moves it while scrolling). pdp.js only
   switches the stick point when the scroll direction changes, so the shorter column holds its
   bottom edge going down and sits just below the header going up. */
@media (min-width: 768px) {
  body.product-detail-page .product-design__gallery-wrap,
  body.product-detail-page .product-design__details { position: relative !important; top: auto !important; }
  body.product-detail-page .product-design__top > .is-pdp-follower {
    position: sticky !important;
    top: var(--pdp-follow-top, calc(var(--vt-hdr-h) + var(--vt-grid-gap))) !important;
    margin-top: var(--pdp-follow-offset, 0px);
  }
  /* overflow:hidden on the page wrapper disables sticky; clip hides sideways overflow the same way */
  body.product-detail-page .wrapper.ovh { overflow: visible; overflow-x: clip; }
}

/* Header layer: the mobile-menu library wraps the header area in .mm-page with z-index 1,
   which let page content (e.g. the moving product details column, tile hearts) paint over
   the fixed header and its dropdowns. Keep the whole header group above page content;
   full-screen layers (image viewer 3000, drawers 1000+) still sit on top. */
.mm-page { z-index: 80; }
body.product-detail-page .product-design__details,
body.product-detail-page .product-design__gallery-wrap { z-index: 0; }
/* Product page: price on request, feature sub-heading */
.pp-price--request { font-family: var(--vt-serif); }
.pdp-enquire-note { margin: var(--vt-s3) 0 0; font: 400 14px/1.6 var(--vt-sans); color: #444; }
a.pdp-add.pdp-enquire { display: flex; align-items: center; justify-content: center; width: 100%; margin-top: var(--vt-s2); color: #fff; text-decoration: none; }
a.pdp-add.pdp-enquire:hover { color: #fff; }
a.pdp-add.pdp-sticky__btn { display: inline-flex; align-items: center; justify-content: center; height: 48px; color: #fff; text-decoration: none; }
.pdp-acc__sub { margin: var(--vt-s3) 0 var(--vt-s1); font: 600 13px/1.4 var(--vt-sans); color: #1c1411; }
.pdp-list li strong { font-weight: 600; color: #1c1411; }

/* Hero slide with a small (low-resolution) photo: framed at close to its real size on the right,
   over a blurred, darkened copy of itself, so it never gets stretched into a blurry full-screen image. */
.vt-hero__ambient {
  position: absolute;
  inset: -60px;
  background-size: cover;
  background-position: center;
  filter: blur(38px) saturate(1.1) brightness(.55);
  transform: scale(1.08);
}
.vt-hero__framed {
  position: absolute;
  top: 50%;
  right: clamp(24px, 9vw, 180px);
  width: auto;
  height: min(64vh, 640px, calc(var(--src-w, 400px) * 1.35));
  max-width: 46vw;
  object-fit: contain;
  transform: translateY(calc(-50% + var(--vt-hdr-h, 76px) / 2));
  box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
  border-radius: 2px;
}
.vt-hero__slide--framed .vt-hero__shade {
  background: linear-gradient(90deg, rgba(0, 0, 0, .45) 0%, rgba(0, 0, 0, .1) 55%, rgba(0, 0, 0, 0) 100%);
}
@media (max-width: 767px) {
  .vt-hero__framed {
    right: 50%;
    top: calc(var(--vt-hdr-h, 64px) + 28px);
    height: auto;
    width: min(78vw, calc(var(--src-w, 400px) * 1.1));
    max-width: none;
    transform: translateX(50%);
  }
  .vt-hero__slide--framed .vt-hero__shade {
    background: linear-gradient(0deg, rgba(0, 0, 0, .7) 0%, rgba(0, 0, 0, .2) 45%, rgba(0, 0, 0, 0) 70%);
  }
}

/* Footer contact details (Admin → Settings → Site Details) */
.vt-footer .vt-footer__contact { font-size: 14px; line-height: 22px; margin: 12px 0 0; }
.vt-footer .vt-footer__contact a { color: #2b2420; text-decoration: none; }
.vt-footer .vt-footer__contact a:hover { text-decoration: underline; text-underline-offset: 3px; }
.vt-info-content { margin-top: 32px; }

/* Floating WhatsApp button (every page; Admin → Settings → Site Details) */
.vt-wa {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 90;
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  color: #fff;
  background: #25d366;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
  transition: transform .2s ease, box-shadow .2s ease, bottom .3s ease;
}
.vt-wa:hover, .vt-wa:focus-visible { color: #fff; transform: scale(1.07); box-shadow: 0 10px 28px rgba(0, 0, 0, .28); }
.vt-wa:focus-visible { outline: 3px solid #0b251f; outline-offset: 3px; }
/* Stay above the product page's sticky "Add to bag" bar while it is showing. */
body:has(.pdp-sticky.is-visible) .vt-wa { bottom: 104px; }
body.pdp-viewer-open .vt-wa, body.pp-minicart-open .vt-wa { display: none; }
@media (max-width: 767px) {
  .vt-wa { right: 16px; bottom: 16px; width: 54px; height: 54px; }
  body:has(.pdp-sticky.is-visible) .vt-wa { bottom: 92px; }
}
@media (prefers-reduced-motion: reduce) { .vt-wa { transition: none; } }

/* Shop menu: "Top picks" product cards with a Shop now button (like the PRIME reference) */
.vt-mega__picks { flex: 0 1 auto; min-width: 0; }
.vt-mega__picks .vt-mega__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 220px)); gap: 20px; }
.vt-header a.vt-mega__card { width: auto; display: block; }
.vt-mega__picks .vt-mega__img { position: relative; aspect-ratio: 1 / 1; margin-bottom: 12px; }
.vt-mega__cta {
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  padding: 10px 18px;
  background: #000;
  color: #fff;
  font: 600 12px/1 var(--vt-hdr-font, var(--vt-sans));
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  transition: background-color .2s ease;
}
.vt-header a.vt-mega__card:hover .vt-mega__cta { background: var(--vt-bronze); }
.vt-mega__picks .vt-mega__name { display: block; font-weight: 500; }
.vt-mega__picks .vt-mega__price { display: block; }
@media (max-width: 1399px) {
  .vt-mega__picks .vt-mega__cards { grid-template-columns: repeat(2, minmax(0, 200px)); }
  .vt-mega__picks .vt-mega__card:nth-child(3) { display: none; }
}
@media (max-width: 1199px) {
  .vt-mega__picks .vt-mega__cards { grid-template-columns: minmax(0, 200px); }
  .vt-mega__picks .vt-mega__card:nth-child(2) { display: none; }
}
/* Product page bottom bar: how many of this product are already in the bag */
.pdp-sticky .pdp-sticky__inbag { display: block; font: 500 12px/16px var(--vt-sans); color: #2f6b3a; margin-top: 2px; }
.pdp-sticky .pdp-sticky__inbag[hidden] { display: none; }

/* About Us menu: founder photo shown whole (his head sits at the very top of the picture) */
.vt-header a.vt-mega__teaser { width: 320px; }
.vt-mega__teaser .vt-mega__img--wide { aspect-ratio: 1520 / 1364; background: #f7f5ef; }
.vt-mega__teaser .vt-mega__img--wide img { object-fit: cover; object-position: center top; transform-origin: center bottom; }
.vt-header a.vt-mega__teaser:hover img { transform: scale(1.04); }

/* Spotlight + founder sections: inset to the site gutter so the images line up with the
   category tiles and product grid instead of running to the screen edge */
.vt-home .vt-split { margin-left: var(--vt-gutter); margin-right: var(--vt-gutter); }
.vt-home .vt-split + .vt-split { margin-top: var(--vt-grid-gap); }
.vt-home .vt-split__media { background: #fff; }

/* Header menu: small arrow on the items that open a dropdown */
.vt-hdr__link .vt-hdr__caret { margin-left: 6px; vertical-align: 1px; transition: transform .25s ease; }
.vt-hdr .vt-hdr__link[aria-expanded="true"] .vt-hdr__caret { transform: rotate(180deg); }

/* ---------- Gallery page ---------- */
.vt-gallery__head { text-align: center; padding: var(--vt-s5) var(--vt-gutter) var(--vt-s4); }
.vt-gallery__grid { list-style: none; margin: 0; padding: 0 var(--vt-gutter) var(--vt-s6); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--vt-grid-gap); }
.vt-gallery__item { margin: 0; }
.vt-gallery__open { display: block; width: 100%; padding: 0; border: 0; background: #f7f5ef; cursor: zoom-in; aspect-ratio: 1 / 1; overflow: hidden; }
.vt-gallery__open img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.vt-gallery__open:hover img { transform: scale(1.04); }
.vt-gallery__caption { margin: 10px 0 0; font: 400 14px/20px var(--vt-sans); color: #333; }
.vt-gallery__viewer { position: fixed; inset: 0; z-index: 3000; display: flex; align-items: center; justify-content: center; background: rgba(10, 8, 6, .92); padding: 56px 72px; }
.vt-gallery__viewer[hidden] { display: none; }
.vt-gallery__viewer figure { margin: 0; max-width: 100%; max-height: 100%; text-align: center; }
.vt-gallery__viewer img { max-width: 100%; max-height: calc(100vh - 150px); object-fit: contain; }
.vt-gallery__viewer figcaption { color: #eee; font: 400 14px/20px var(--vt-sans); margin-top: 12px; }
.vt-gallery__close, .vt-gallery__nav { position: absolute; border: 0; background: none; color: #fff; cursor: pointer; line-height: 1; }
.vt-gallery__close { top: 14px; right: 20px; font-size: 40px; }
.vt-gallery__nav { top: 50%; transform: translateY(-50%); font-size: 56px; padding: 10px 16px; }
.vt-gallery__nav--prev { left: 8px; }
.vt-gallery__nav--next { right: 8px; }
@media (max-width: 991px) { .vt-gallery__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .vt-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .vt-gallery__viewer { padding: 48px 12px; } }
/* Product page bottom bar: price as clear as the main price */
.pdp-sticky__price { font-family: var(--vt-sans); font-size: 20px; font-weight: 600; }
.pdp-sticky__price .pp-price__selling { font-weight: 600; }
.pdp-sticky__price .pp-price__mrp { font-size: 15px; font-weight: 400; color: #767676; }
/* A legacy rule forces every price to 16px !important — the product page price is shown large */
body.product-detail-page .product-design__price .pp-price .pp-price__selling { font-size: 28px !important; font-weight: 600; }
body.product-detail-page .product-design__price .pp-price .pp-price__mrp { font-size: 18px !important; }
body.product-detail-page .product-design__price .pp-price .pp-price__discount { font-size: 15px !important; }
body.product-detail-page .pdp-sticky__price span.pp-price .pp-price__selling { font-size: 20px !important; }
body.product-detail-page .pdp-sticky__price span.pp-price .pp-price__mrp { font-size: 15px !important; }
@media (max-width: 767px) {
  body.product-detail-page .product-design__price .pp-price .pp-price__selling { font-size: 24px !important; }
  body.product-detail-page .pdp-sticky__price span.pp-price .pp-price__selling { font-size: 17px !important; }
}

/* Endless product carousel (vastu.js): no snapping or smooth-scroll fighting the glide */
.vt-carousel.is-marquee .vt-carousel__track { scroll-snap-type: none; scroll-behavior: auto; }
.vt-carousel.is-marquee .vt-carousel__slide { scroll-snap-align: none; }
.vt-carousel__slide.is-clone { opacity: 1; animation: none; }
/* Dropdown column headings that are links (Services menu) keep the heading style */
.vt-header .vt-mega__title a, .vt-header .vt-mega__title a:hover { color: inherit; opacity: 1; text-decoration: none; }
.vt-header .vt-mega__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
/* Services menu photo: portrait, face near the top */
.vt-mega__teaser .vt-mega__img--wide img[src*="founder-services"] { object-position: center 20%; }

/* ---------- Skeleton loading ---------- */
@keyframes vtSkel { from { background-position: 150% 0; } to { background-position: -50% 0; } }
.vt-skel, .vt-skel-line, .search-skel__img, .search-skel__text span {
  background-color: #ece8de;
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, .55) 50%, rgba(255, 255, 255, 0) 70%);
  background-size: 200% 100%;
  background-repeat: no-repeat;
  animation: vtSkel 1.3s ease-in-out infinite;
}
.vt-skel img { opacity: 0; }
[data-vt-skel] img { transition: opacity .35s ease; }
/* placeholder product tiles while "Load more" fetches */
.vt-tile--skel { pointer-events: none; }
.vt-tile--skel .vt-tile__media { aspect-ratio: 1 / 1; width: 100%; }
.vt-tile--skel .vt-tile__info { display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 22px; }
.vt-skel-line { display: block; height: 14px; width: 70%; border-radius: 3px; }
.vt-skel-line--short { width: 35%; }
/* search panel rows */
.search-skel { display: flex; align-items: center; gap: 16px; padding: 10px 0; }
.search-skel__img { flex: 0 0 72px; height: 72px; border-radius: 2px; }
.search-skel__text { flex: 1; display: flex; flex-direction: column; gap: 8px; }
.search-skel__text span { display: block; height: 12px; width: 75%; border-radius: 3px; }
.search-skel__text span + span { width: 40%; }
@media (prefers-reduced-motion: reduce) {
  .vt-skel, .vt-skel-line, .search-skel__img, .search-skel__text span { animation: none; background-image: none; }
}

/* ---------- Category cover: row of the category's product photos ---------- */
.vt-plp__banner--strip {
  display: grid;
  grid-template-columns: repeat(var(--strip-n, 4), minmax(0, 1fr));
  gap: 0;
  height: auto;
  background: #f0eee4;
}
.vt-plp__strip-tile { display: block; aspect-ratio: 1 / 1; max-height: 460px; overflow: hidden; background: #fff; }
.vt-plp__strip-tile img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: none; display: block; }
/* keep the white header text readable over light photos */
.vt-plp__banner--strip::after { background: linear-gradient(180deg, rgba(0, 0, 0, .45) 0%, rgba(0, 0, 0, .12) 35%, rgba(0, 0, 0, 0) 60%); }
@media (max-width: 991px) {
  .vt-plp__banner--strip { grid-template-columns: repeat(min(var(--strip-n, 4), 3), minmax(0, 1fr)); }
  .vt-plp__banner--strip .vt-plp__strip-tile:nth-child(n+4) { display: none; }
}
@media (max-width: 575px) {
  .vt-plp__banner--strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vt-plp__banner--strip .vt-plp__strip-tile:nth-child(n+3) { display: none; }
}
/* Category with a single photo: shown whole, centred over a soft blurred copy */
.vt-plp__banner--single { display: flex; align-items: center; justify-content: center; }
.vt-plp__single-bg { position: absolute; inset: -40px; background-size: cover; background-position: center; filter: blur(30px) brightness(.8); transform: scale(1.05); }
.vt-plp__banner--single img { position: relative; z-index: 1; width: auto; height: calc(100% - var(--vt-hdr-h, 76px) - 32px); margin-top: calc(var(--vt-hdr-h, 76px) + 16px); max-width: 80%; object-fit: contain; transform: none; box-shadow: 0 18px 50px rgba(0, 0, 0, .3); }
.vt-plp__banner--single::after { z-index: 1; background: linear-gradient(180deg, rgba(0, 0, 0, .35) 0%, rgba(0, 0, 0, 0) 30%); }
/* Strip height follows the screen (square tiles when there are 4); tiles always fill their column */
.vt-plp__banner--strip { height: min(25vw, 460px); }
.vt-plp__banner--strip .vt-plp__strip-tile { aspect-ratio: auto; max-height: none; height: 100%; }
@media (max-width: 991px) { .vt-plp__banner--strip { height: 33.333vw; } }
@media (max-width: 575px) { .vt-plp__banner--strip { height: 50vw; } }

/* Four menu items beside the centred logo: tighten spacing on smaller laptop screens */
@media (min-width: 992px) and (max-width: 1299px) {
  .vt-hdr__bar { padding-left: 24px; }
  .vt-hdr .vt-hdr__link { padding: 14px 8px; font-size: 12px; letter-spacing: .5px; }
  .vt-hdr__link .vt-hdr__caret { margin-left: 3px; }
}
@media (min-width: 992px) and (max-width: 1119px) {
  .vt-hdr__bar { padding-left: 16px; }
  .vt-hdr .vt-hdr__link { padding: 14px 6px; font-size: 11px; letter-spacing: .3px; }
  .vt-hdr__logo img { height: 38px; }
  .vt-hdr .vt-hdr__cta { padding: 0 16px; font-size: 12px; }
}

/* Menu text colour follows the header background, so it can never be white on white:
   white only while the header is transparent over a photo, dark (bronze when active) once it turns white. */
.vt-hdr .vt-hdr__link:hover, .vt-hdr .vt-hdr__link:focus, .vt-hdr .vt-hdr__link[aria-expanded="true"] { color: inherit; }
.vt-hdr.vt-hdr--overlay:not(:hover):not(.is-solid):not(.is-mega-open) .vt-hdr__link:hover,
.vt-hdr.vt-hdr--overlay:not(:hover):not(.is-solid):not(.is-mega-open) .vt-hdr__link:focus-visible { color: #fff; }
.vt-hdr.is-solid .vt-hdr__link, .vt-hdr.vt-hdr--solid .vt-hdr__link,
.vt-hdr.vt-hdr--overlay:hover .vt-hdr__link, .vt-hdr.is-mega-open .vt-hdr__link { color: #0a0a0a; }
.vt-hdr.is-solid .vt-hdr__link:is(:hover, :focus-visible, [aria-expanded="true"]),
.vt-hdr.vt-hdr--solid .vt-hdr__link:is(:hover, :focus-visible, [aria-expanded="true"]),
.vt-hdr.vt-hdr--overlay:hover .vt-hdr__link:is(:hover, :focus-visible, [aria-expanded="true"]),
.vt-hdr.is-mega-open .vt-hdr__link:is(:hover, :focus-visible, [aria-expanded="true"]) { color: var(--vt-bronze); }

/* Footer social icons (YouTube / Instagram / Facebook) */
.vt-footer .vt-social--icons { display: flex; align-items: center; gap: 16px; margin-top: 18px; }
.vt-footer .vt-social--icons a { display: inline-flex; line-height: 0; transition: transform .2s ease, opacity .2s ease; }
.vt-footer .vt-social--icons a:hover { transform: translateY(-2px); opacity: .9; }
.vt-footer .vt-social--icons a:focus-visible { outline: 2px solid #0b251f; outline-offset: 3px; border-radius: 4px; }

/* Floating call button (bottom-left), mirrors the WhatsApp button on the right */
.vt-call {
  position: fixed;
  left: 24px;
  bottom: 24px;
  z-index: 90;
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  color: #fff;
  background: #1c75bc;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
  transition: transform .2s ease, box-shadow .2s ease, bottom .3s ease;
}
.vt-call:hover, .vt-call:focus-visible { color: #fff; transform: scale(1.07); box-shadow: 0 10px 28px rgba(0, 0, 0, .28); }
.vt-call:focus-visible { outline: 3px solid #0b251f; outline-offset: 3px; }
body:has(.pdp-sticky.is-visible) .vt-call { bottom: 104px; }
body.pdp-viewer-open .vt-call, body.pp-minicart-open .vt-call { display: none; }
@media (max-width: 767px) {
  .vt-call { left: 16px; bottom: 16px; width: 54px; height: 54px; }
  body:has(.pdp-sticky.is-visible) .vt-call { bottom: 92px; }
}
@media (prefers-reduced-motion: reduce) { .vt-call { transition: none; } }

/* Product gallery: every photo fills its box (no white bars / uneven edges) — one large square,
   then pairs of squares; a leftover single photo spans the row at 3:2. Products sit centred in
   the photos, so filling only trims background. The full-screen viewer still shows the whole photo. */
body.product-detail-page .product-design__image { overflow: hidden; }
body.product-detail-page .product-design__image img { object-fit: cover; object-position: center; }
body.product-detail-page .product-design__image:nth-child(2n):last-child { aspect-ratio: 3 / 2; }
@media (max-width: 767px) {
  body.product-detail-page .product-design__image:nth-child(2n):last-child { aspect-ratio: 1 / 1; }
}
/* Product tiles: every photo fills the same centred square, so tiles line up evenly */
.vt-tile__img { inset: 8%; width: 84%; height: 84%; object-fit: cover; object-position: center; }



/* Header: language menu (English default · हिंदी · मराठी) */
.vt-lang { position: relative; display: flex; align-items: center; height: 100%; margin-left: 12px; padding-right: 26px; }
.vt-hdr .vt-lang__btn {
  display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 12px; border: 1px solid currentColor; border-radius: 0;
  background: transparent; color: inherit; cursor: pointer;
  font-family: var(--vt-hdr-font); font-stretch: 125%; font-weight: 500; font-size: 12px; letter-spacing: 1px; text-transform: uppercase; white-space: nowrap;
  border-color: rgba(127, 127, 127, .45); transition: border-color .3s ease, background-color .3s ease;
}
.vt-hdr .vt-lang__btn:hover, .vt-hdr .vt-lang__btn[aria-expanded="true"] { border-color: currentColor; }
.vt-lang__short { display: none; }
.vt-lang__chev { transition: transform .25s ease; }
.vt-lang__btn[aria-expanded="true"] .vt-lang__chev { transform: rotate(180deg); }
.vt-hdr .vt-lang__menu {
  position: absolute; top: calc(50% + 26px); right: 26px; z-index: 80; min-width: 184px; margin: 0; padding: 6px 0; list-style: none;
  background: #fff; color: #1d1a17; border: 1px solid #e6dfd0; box-shadow: 0 14px 34px rgba(30, 24, 20, .14);
}
.vt-hdr .vt-lang__menu[hidden] { display: none; }
.vt-hdr .vt-lang__menu button {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px; width: 100%; padding: 11px 18px; border: 0; background: none;
  color: #1d1a17; font-family: var(--vt-sans); font-size: 15px; text-align: left; cursor: pointer; transition: background-color .2s ease, color .2s ease;
}
.vt-hdr .vt-lang__menu small { font-size: 11px; letter-spacing: .6px; text-transform: uppercase; color: #8a7f75; }
.vt-hdr .vt-lang__menu button:hover, .vt-hdr .vt-lang__menu button:focus-visible { background: #f6f1e8; color: var(--vt-bronze); outline: 0; }
.vt-hdr .vt-lang__menu button[aria-checked="true"] { color: var(--vt-bronze); font-weight: 600; }
.vt-hdr .vt-lang__menu button[aria-checked="true"]::after { content: "✓"; margin-left: auto; font-size: 13px; }
.vt-hdr .vt-lang__menu button[aria-checked="true"] small { display: none; }
.vt-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 1199px) {
  .vt-lang { margin-left: 4px; padding-right: 12px; }
  .vt-lang__long { display: none; }
  .vt-lang__short { display: inline; }
  .vt-hdr .vt-lang__btn { padding: 0 9px; gap: 6px; }
  .vt-hdr .vt-lang__menu { right: 12px; }
}
@media (max-width: 575px) { .vt-lang { padding-right: 8px; } .vt-hdr .vt-lang__btn { height: 34px; padding: 0 7px; } }

/* Google translation engine: keep its toolbar, pop-ups and highlights out of sight */
.vt-gt, .skiptranslate > iframe, iframe.skiptranslate, .goog-te-banner-frame, #goog-gt-tt, .goog-te-balloon-frame, .VIpgJd-ZVi9od-ORHb-OEVmcd, .VIpgJd-ZVi9od-aZ2wEe-wOHMyf { display: none !important; }
html body { top: 0 !important; }
.goog-text-highlight, font[style] { background: none !important; box-shadow: none !important; }

/* ==========================================================================
   Footer — editorial layout (brand · navigation · newsletter + social)
   ========================================================================== */
.vt-footer .vt-ftr {
  --ftr-ink: #2b2420;
  --ftr-muted: #7a6f66;
  --ftr-line: #e7dfcf;
  position: relative;
  overflow: hidden;
  color: var(--ftr-ink);
  font-family: var(--vt-sans);
}
.vt-footer .vt-ftr p, .vt-footer .vt-ftr ul { margin: 0; }
.vt-footer .vt-ftr ul { padding: 0; list-style: none; }
.vt-ftr__inner {
  display: grid;
  grid-template-columns: minmax(250px, 1.05fr) minmax(0, 1.75fr) minmax(280px, 1.1fr);
  column-gap: clamp(40px, 5vw, 88px);
  max-width: 1450px;
  margin: 0 auto;
  padding: 72px clamp(24px, 6vw, 104px) 56px;
}

/* Zone 1 — brand */
.vt-ftr__brand { padding-right: clamp(0px, 2vw, 32px); border-right: 1px solid var(--ftr-line); }
.vt-footer .vt-ftr__logo { display: inline-block; line-height: 0; }
.vt-ftr__logo img { display: block; width: 216px; height: auto; }
.vt-footer .vt-ftr .vt-ftr__about { max-width: 330px; margin-top: 22px; font-size: 16px; line-height: 1.6; color: #4a4038; }
.vt-footer .vt-ftr__cta {
  display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; padding-bottom: 3px;
  font-size: 12px; font-weight: 600; letter-spacing: 1.6px; text-transform: uppercase; color: var(--vt-bronze);
  background: linear-gradient(currentColor, currentColor) 0 100% / 100% 1px no-repeat;
}
.vt-footer .vt-ftr__cta:hover { color: #5e4a40; }
.vt-ftr__arrow { display: inline-block; font-size: 14px; letter-spacing: 0; transition: transform .3s ease; }
.vt-ftr__cta:hover .vt-ftr__arrow, .vt-ftr__cta:focus-visible .vt-ftr__arrow { transform: translateX(4px); }
.vt-footer .vt-ftr__address {
  display: flex; flex-direction: column; gap: 4px; max-width: 290px; margin-top: 34px;
  font-style: normal; font-size: 13px; line-height: 1.65; color: var(--ftr-muted);
}
.vt-footer .vt-ftr__address a { color: var(--ftr-muted); }
.vt-footer .vt-ftr__address a:hover { color: var(--vt-bronze); }

/* Zone 2 — navigation (groups deliberately unequal) */
.vt-ftr__nav { display: flex; align-items: flex-start; gap: clamp(28px, 3.4vw, 60px); padding-top: 6px; }
.vt-ftr__group--explore { flex: 0 0 auto; min-width: 118px; }
.vt-ftr__group--guidance { flex: 0 0 auto; }
.vt-ftr__group--company { flex: 0 0 auto; margin-left: auto; }
.vt-ftr__heading {
  display: block; margin-bottom: 18px; cursor: default; list-style: none;
  font-size: 11px; font-weight: 600; letter-spacing: 2.2px; text-transform: uppercase; color: var(--vt-bronze);
}
.vt-ftr__heading::-webkit-details-marker { display: none; }
.vt-footer .vt-ftr__links li + li { margin-top: 9px; }
.vt-footer .vt-ftr .vt-ftr__links a {
  display: inline-block; padding-bottom: 2px; font-size: 15px; line-height: 1.5; color: var(--ftr-ink);
  background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat;
  transition: color .3s ease, background-size .35s ease;
}
.vt-footer .vt-ftr .vt-ftr__links a:hover, .vt-footer .vt-ftr .vt-ftr__links a:focus-visible { color: var(--vt-bronze); background-size: 100% 1px; }

/* Zone 3 — newsletter */
.vt-ftr__news { position: relative; z-index: 0; padding-top: 2px; }
.vt-footer .vt-ftr .vt-ftr__news-title { margin: 0; font-family: var(--vt-serif); font-weight: 400; font-size: clamp(30px, 2.6vw, 38px); line-height: 1.12; color: var(--ftr-ink); }
.vt-footer .vt-ftr .vt-ftr__news-text { max-width: 330px; margin-top: 12px; font-size: 14px; line-height: 1.6; color: var(--ftr-muted); }
.vt-ftr__signup { max-width: 340px; margin-top: 22px; }
.vt-ftr__field { display: flex; align-items: center; border-bottom: 1px solid #cbbfad; transition: border-color .3s ease; }
.vt-ftr__field:focus-within { border-color: var(--vt-bronze); }
.vt-footer .vt-ftr__field input {
  flex: 1 1 auto; min-width: 0; height: 46px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; outline: 0;
  font-size: 15px; color: var(--ftr-ink);
}
.vt-ftr__field input::placeholder { color: #9a8f84; }
.vt-footer .vt-ftr__field button {
  flex: none; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 0 0 10px;
  border: 0; border-radius: 0; background: none; color: var(--vt-bronze); font-size: 20px; line-height: 1; cursor: pointer;
}
.vt-ftr__field button span { display: inline-block; transition: transform .3s ease; }
.vt-ftr__field button:hover span, .vt-ftr__field button:focus-visible span { transform: translateX(4px); }
.vt-footer .vt-ftr .pp-newsletter-status { margin-top: 8px; font-size: 13px; color: var(--ftr-muted); }

/* Zone 4 — social */
.vt-ftr__social { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 34px !important; }
.vt-footer .vt-ftr__social a { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; letter-spacing: .3px; color: var(--ftr-ink); transition: color .3s ease; }
.vt-footer .vt-ftr__social a:hover { color: var(--vt-bronze); }
.vt-ftr__social svg { flex: none; transition: transform .3s ease; }
.vt-ftr__social a:hover svg { transform: translateY(-2px); }

/* Scroll reveal: content rises 16px; links follow with a small stagger */
.vt-ftr.is-anim .vt-ftr__reveal { opacity: 0; transform: translateY(16px); transition: opacity .8s ease, transform .8s ease; }
.vt-ftr.is-anim .vt-ftr__reveal.is-in { opacity: 1; transform: none; }
.vt-ftr.is-anim .vt-ftr__nav .vt-ftr__links li { opacity: 0; transform: translateY(8px); transition: opacity .5s ease, transform .5s ease; transition-delay: calc(var(--i, 0) * 45ms + 150ms); }
.vt-ftr.is-anim .vt-ftr__nav.is-in .vt-ftr__links li { opacity: 1; transform: none; }
.vt-ftr.is-anim .vt-ftr__news { transition-delay: .12s; }

/* Tablet: brand + newsletter on the first row, navigation below */
@media (max-width: 1199px) {
  .vt-ftr__inner { grid-template-columns: 1fr 1fr; grid-template-areas: "brand news" "nav nav"; row-gap: 48px; padding-top: 60px; }
  .vt-ftr__brand { grid-area: brand; border-right: 0; padding-right: 0; }
  .vt-ftr__news { grid-area: news; }
  .vt-ftr__nav { grid-area: nav; padding-top: 32px; border-top: 1px solid var(--ftr-line); gap: 48px; }
  .vt-ftr__group--company { margin-left: 0; }
}

/* Phones: brand → newsletter → navigation (accordion) → social → legal */
@media (max-width: 767px) {
  .vt-ftr__inner { display: flex; flex-direction: column; row-gap: 0; padding: 48px 20px 28px; }
  .vt-ftr__brand { order: 1; }
  .vt-ftr__news { display: contents; }
  .vt-ftr__news-title { order: 2; margin-top: 40px !important; }
  .vt-ftr__news-text { order: 3; }
  .vt-ftr__signup { order: 4; max-width: none; }
  .vt-ftr__nav { order: 5; flex-direction: column; gap: 0; margin-top: 36px; padding-top: 0; border-top: 1px solid var(--ftr-line); }
  .vt-ftr__social { order: 6; margin-top: 28px !important; }
  .vt-ftr__group { width: 100%; border-bottom: 1px solid var(--ftr-line); }
  .vt-ftr__heading { position: relative; margin: 0; padding: 17px 0; cursor: pointer; font-size: 12px; }
  .vt-ftr__heading::after { content: ""; position: absolute; right: 4px; top: 50%; width: 8px; height: 8px; margin-top: -6px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); transition: transform .3s ease; }
  .vt-ftr__group[open] .vt-ftr__heading::after { transform: rotate(-135deg); margin-top: -2px; }
  .vt-ftr__links { padding-bottom: 18px !important; }
  .vt-ftr.is-anim .vt-ftr__news .vt-ftr__news-title { transition: none; }
  /* the brand/newsletter pieces sit directly in the flex column here, so reveal them as one */
  .vt-ftr.is-anim .vt-ftr__news { opacity: 1; transform: none; }
}

.vt-ftr__inner { padding-bottom: 56px; }
@media (max-width: 767px) { .vt-ftr__inner { padding-bottom: 80px; } }

/* Hindi / Marathi: Devanagari letters join, so the wide tracking used for English labels would break them apart */
html[lang="hi"] body *, html[lang="mr"] body * { letter-spacing: normal !important; }
html[lang="hi"] .vt-ftr__heading, html[lang="mr"] .vt-ftr__heading,
html[lang="hi"] .vt-kicker, html[lang="mr"] .vt-kicker { font-size: 13px; }

/* Floating WhatsApp: compact round button; on desktop a "Chat with us" label slides out on hover */
.vt-wa {
  display: flex; align-items: center; width: auto; height: 52px; right: 24px; bottom: 24px; padding: 0; overflow: hidden;
  border-radius: 999px; background: #25d366; color: #fff;
  box-shadow: 0 1px 2px rgba(20, 50, 30, .18), 0 8px 22px rgba(20, 50, 30, .20);
  transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease;
}
.vt-wa__icon { flex: none; display: grid; place-items: center; width: 52px; height: 52px; }
.vt-wa__icon svg { width: 26px; height: 26px; }
.vt-wa__label {
  max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0;
  font-family: var(--vt-sans); font-size: 14px; font-weight: 600; letter-spacing: .2px;
  transition: max-width .35s ease, opacity .25s ease, padding .35s ease;
}
.vt-wa:hover, .vt-wa:focus-visible { color: #fff; background: #1ebe5b; transform: translateY(-2px); box-shadow: 0 2px 4px rgba(20, 50, 30, .18), 0 12px 28px rgba(20, 50, 30, .24); }
@media (hover: hover) and (min-width: 768px) {
  .vt-wa:hover .vt-wa__label, .vt-wa:focus-visible .vt-wa__label { max-width: 120px; opacity: 1; padding-right: 20px; }
}
.vt-wa:focus-visible { outline: 3px solid rgba(37, 211, 102, .35); outline-offset: 3px; }
@media (max-width: 767px) { .vt-wa { right: 16px; bottom: 16px; height: 50px; } .vt-wa__icon { width: 50px; height: 50px; } }
@media (prefers-reduced-motion: reduce) {
  .vt-ftr__arrow, .vt-ftr__field button span, .vt-ftr__social svg, .vt-wa, .vt-wa__label { transition: none; }
}

/* ==========================================================================
   Site-wide polish: consistent cards, page titles, forms and buttons
   ========================================================================== */
/* Home product carousel: the photo fills the card (square), name and price sit close under it */
.vt-products .vt-card { min-height: 0; height: auto; }
.vt-products .vt-card__img { display: block; width: 100%; padding: 14px 14px 0; }
.vt-products .vt-card__img img { width: 100%; height: auto; aspect-ratio: 1 / 1; object-fit: cover; background: #f6f3ee; }
.vt-products .vt-card__meta { margin-top: 0; padding: 16px 16px 20px; font-size: 14px; line-height: 1.45; letter-spacing: .2px; }
.vt-products .vt-card__badge--empty { display: none; }
.vt-products .vt-card__sub:empty { display: none; }
.vt-products .vt-card__sub { padding: 2px 0 6px; color: #6b625a; }
/* The carousel track is sized by its content, so give slides a viewport-based width on smaller screens */
@media (max-width: 1199px) { .vt-products .vt-carousel__slide { flex: 0 0 calc((100vw - 68px) / 3); } }
@media (max-width: 767px) { .vt-products .vt-carousel__slide { flex: 0 0 62vw; } }

/* Journal: serif page title like the other pages; tidy category tabs */
.blog-header .vt-journal__title { margin: 0; font-family: var(--vt-serif); font-weight: 400; font-size: clamp(34px, 3.4vw, 46px); line-height: 1.15; text-transform: none; letter-spacing: 0; color: var(--vt-ink); }
.blog-header .sub-title { font-family: var(--vt-sans); font-weight: 400; font-size: 15px; color: #6b625a; }
.vt-journal__filters { justify-content: center; gap: 8px; border: 0 !important; }
.vt-journal__filters .filter-btn { flex: 0 0 auto !important; padding: 8px 18px; border: 1px solid #d8cfc0; font-size: 13px; letter-spacing: .4px; color: #3b332d; transition: border-color .2s ease, color .2s ease; }
.vt-journal__filters .filter-btn.active, .vt-journal__filters .filter-btn:hover { border-color: var(--vt-ink); color: var(--vt-ink); }
.blog-list-area .vt-empty-state { margin-top: 8px; }

/* Log in / sign up / password forms: visible fields, brand button
   (the forms sit inside old blog-review wrappers whose very specific rules removed the borders) */
.registration-section .form-floating > .form-control,
.registration-section .review-box .form-floating > .form-control,
.blog-single-area .blog-post-content .content-box .review-box .form-floating > .form-control {
  height: 56px; min-height: 56px; border: 1px solid #d8cfc0 !important; border-radius: 0; background: #fff; box-shadow: none;
  transition: border-color .2s ease;
}
.registration-section .form-floating > .form-control:focus,
.blog-single-area .blog-post-content .content-box .review-box .form-floating > .form-control:focus { border-color: var(--vt-ink) !important; }
.registration-section .form-floating > label { padding-left: 16px !important; padding-right: 16px !important; color: #7a6f66; }
.registration-section .form-floating > .form-control { padding-left: 16px !important; padding-right: 16px !important; }
.registration-section .form-check-input { border-radius: 0; border-color: #b9ae9f; }
.registration-section .form-check-input:checked { background-color: var(--vt-ink); border-color: var(--vt-ink); }
.registration-section button.su-btn-4.su-btn-16-black.w-100,
.registration-section .review-box button.su-btn-4.su-btn-16-black.w-100.su-left-right {
  background: var(--vt-ink) !important; border-color: var(--vt-ink) !important; border-radius: 0; letter-spacing: 1.2px; transition: background-color .3s ease;
}
.registration-section button.su-btn-4.su-btn-16-black.w-100:hover,
.registration-section .review-box button.su-btn-4.su-btn-16-black.w-100.su-left-right:hover { background: var(--vt-bronze) !important; border-color: var(--vt-bronze) !important; }
.registration-section .section-title .sub-title { color: #6b625a; }

/* Cart / checkout steps: quieter, consistent with the site's small uppercase labels */
.page-title .breadcrumb-list a, .page-title .breadcrumb-list span { font-family: var(--vt-sans); font-size: 13px !important; font-weight: 500 !important; letter-spacing: 1.4px; color: #9a8f84; }
.page-title .breadcrumb-list li.active a { color: var(--vt-ink); }
.page-title .breadcrumb-list .fa-angle-right { font-size: 12px; color: #b9ae9f; }
.page-title h4 { font-family: var(--vt-serif); font-weight: 400; font-size: 30px; text-transform: none; letter-spacing: 0; }
.pp-cart-empty { padding: 8px 0 24px; }

/* Buttons from the old theme: square corners like the rest of the site */
.btn-dark, .btn-outline-dark { border-radius: 0; }

/* Bag drawer: live free-shipping progress */
.minicart-16 .pp-ship { padding: 18px 0 22px; border-bottom: 1px solid #ece6da; text-align: left; }
.minicart-16 .pp-ship[hidden] { display: none; }
.minicart-16 .pp-ship__msg { margin: 0 0 12px; font-family: var(--vt-sans); font-size: 14px; line-height: 1.45; font-weight: 400; color: #3b332d; }
.minicart-16 .pp-ship__msg strong { font-weight: 600; color: var(--vt-ink); }
.minicart-16 .pp-ship__track { position: relative; height: 4px; overflow: hidden; background: #ece6da; border-radius: 4px; }
.minicart-16 .pp-ship__fill { height: 100%; border-radius: 4px; background: var(--vt-bronze); transition: width .6s cubic-bezier(.2, .7, .2, 1), background-color .4s ease; }
.minicart-16 .pp-ship.is-unlocked .pp-ship__fill { background: #2f6b4f; }
.minicart-16 .pp-ship.is-unlocked .pp-ship__msg strong { color: #2f6b4f; }
.pp-ship__tick { display: inline-grid; place-items: center; width: 18px; height: 18px; margin-right: 6px; border-radius: 50%; background: #2f6b4f; color: #fff; font-size: 11px; vertical-align: 1px; }
.minicart-16 .pp-minicart-empty { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 28px 0; color: #6b625a; font-size: 15px; }
.minicart-16 .pp-minicart-empty__link { font-size: 13px; font-weight: 600; letter-spacing: .6px; color: var(--vt-bronze); text-decoration: none; }
.minicart-16 .pp-minicart-empty__link:hover { color: var(--vt-ink); }
@media (prefers-reduced-motion: reduce) { .minicart-16 .pp-ship__fill { transition: none; } }

/* Small phones: keep the centred logo clear of the icons and language button */
@media (max-width: 420px) {
  .vt-hdr__logo img { height: 30px; }
  .vt-hdr .vt-hdr__icon { width: 36px; }
  .vt-lang { padding-right: 6px; margin-left: 0; }
  .vt-hdr .vt-lang__btn { height: 32px; padding: 0 6px; gap: 4px; font-size: 11px; }
}

/* Footer: compact rhythm (less height, tighter groups) */
.vt-ftr__inner { padding-top: 52px; padding-bottom: 44px; column-gap: clamp(32px, 4vw, 72px); align-items: start; }
.vt-ftr__logo img { width: 176px; }
.vt-footer .vt-ftr .vt-ftr__about { margin-top: 16px; font-size: 15px; line-height: 1.55; max-width: 300px; }
.vt-footer .vt-ftr__cta { margin-top: 14px; }
.vt-footer .vt-ftr__address { margin-top: 20px; font-size: 13px; line-height: 1.55; gap: 2px; }
.vt-ftr__nav { padding-top: 4px; }
.vt-ftr__heading { margin-bottom: 14px; }
.vt-footer .vt-ftr__links li + li { margin-top: 5px; }
.vt-footer .vt-ftr .vt-ftr__links a { font-size: 14px; }
.vt-footer .vt-ftr .vt-ftr__news-title { font-size: clamp(26px, 2.1vw, 32px); }
.vt-footer .vt-ftr .vt-ftr__news-text { margin-top: 8px; font-size: 13.5px; }
.vt-ftr__signup { margin-top: 16px; }
.vt-footer .vt-ftr__field input { height: 42px; }
.vt-ftr__social { margin-top: 22px !important; }
@media (max-width: 1199px) { .vt-ftr__inner { row-gap: 36px; padding-top: 44px; } .vt-ftr__nav { padding-top: 24px; } }
@media (max-width: 767px) { .vt-ftr__inner { padding: 40px 20px 72px; } .vt-ftr__news-title { margin-top: 28px !important; } .vt-ftr__nav { margin-top: 26px; } }
.vt-ftr__group--company { margin-left: 0; }
.vt-ftr__nav { gap: clamp(32px, 4.2vw, 64px); }
@media (min-width: 1200px) { .vt-ftr__news { padding-left: clamp(0px, 2vw, 32px); } }
@media (min-width: 768px) and (max-width: 1199px) { .vt-ftr__nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .vt-ftr__inner { align-items: stretch; } .vt-ftr__nav { gap: 0; } }
@media (max-width: 767px) { .vt-ftr__inner { row-gap: 0; } }
@media (max-width: 767px) { .vt-ftr__heading { margin: 0; padding: 16px 0; } }
@media (max-width: 767px) { .vt-ftr__nav { padding-top: 0; } }


html[data-lang="hi"] [data-vt-num], html[data-lang="mr"] [data-vt-num] { font-size: 0 !important; }
html[data-lang="hi"] [data-vt-num]::after, html[data-lang="mr"] [data-vt-num]::after { content: attr(data-vt-num); font-size: var(--vt-num-size, 15px); }
html[data-lang="hi"] [data-product-qty-value], html[data-lang="mr"] [data-product-qty-value] { --vt-num-size: 16px; }
html[data-lang="hi"] [data-cart-count], html[data-lang="mr"] [data-cart-count] { --vt-num-size: 10px; }

/* No rounded bottom "curve" on the account area or the shop pages (square edges like the rest of the site) */
.customer-account-page .account-shell,
.collection-template .collection-page { border-radius: 0 !important; }

/* ==========================================================================
   Hover zoom — one smooth, gentle motion for every image card on the site.
   The photo scales to 105 % inside its own frame (never over the card's edges).
   ========================================================================== */
:root { --vt-zoom: 1.05; --vt-zoom-time: .9s; --vt-zoom-ease: cubic-bezier(.22, .61, .36, 1); }
.vt-cat__img img, .vt-card__img img, .vt-article__img img, .vt-mega__img img, .vt-header .vt-mega__teaser img,
.vt-store__media img, .vt-insta__card img, .vt-gallery__open img {
  transition: transform var(--vt-zoom-time) var(--vt-zoom-ease) !important;
  transform-origin: center center;
  backface-visibility: hidden;
}
.vt-cat:hover .vt-cat__img img, .vt-card:hover .vt-card__img img, .vt-article:hover .vt-article__img img,
.vt-header a.vt-mega__card:hover img, .vt-header a.vt-mega__teaser:hover img,
.vt-store:hover .vt-store__media img, .vt-insta__card:hover img, .vt-gallery__open:hover img { transform: scale(var(--vt-zoom)) !important; }
/* Home carousel card: the photo frame itself clips the zoom (margin instead of padding) */
.vt-products .vt-card__img { padding: 0; margin: 14px 14px 0; width: auto; overflow: hidden; }
/* Shop product tiles: gentle zoom together with the existing photo swap */
.vt-tile__img { transition: opacity .35s ease, transform var(--vt-zoom-time) var(--vt-zoom-ease); transform-origin: center center; }
.vt-tile:hover .vt-tile__img { transform: scale(1.04); }
@media (hover: none) { /* touch screens: no zoom on tap */
  .vt-cat:hover .vt-cat__img img, .vt-card:hover .vt-card__img img, .vt-article:hover .vt-article__img img,
  .vt-store:hover .vt-store__media img, .vt-insta__card:hover img, .vt-gallery__open:hover img, .vt-tile:hover .vt-tile__img { transform: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  .vt-cat__img img, .vt-card__img img, .vt-article__img img, .vt-mega__img img, .vt-store__media img,
  .vt-insta__card img, .vt-gallery__open img, .vt-tile__img { transition: opacity .2s ease !important; transform: none !important; }
}
.vt-tile .vt-tile__img { transition: opacity .35s ease, transform var(--vt-zoom-time) var(--vt-zoom-ease) !important; }
@media (prefers-reduced-motion: reduce) { .vt-tile .vt-tile__img { transition: opacity .2s ease !important; } }

/* Home product carousel: the photo frame is a fixed square from the start, so nothing shifts while
   photos load (the name used to jump down when a photo arrived) */
.vt-products .vt-card__img { position: relative; display: block; align-self: stretch; width: auto; aspect-ratio: 1 / 1; background: #f6f3ee; }
.vt-products .vt-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; }

/* Header clarity: sharp logo (no half-pixel shift), firmer icon lines, readable initials and bag count */
.vt-hdr .vt-hdr__logo { top: 0; bottom: 0; left: 0; right: 0; margin: auto; width: max-content; height: max-content; transform: none; }
.vt-hdr .vt-icon { stroke-width: 1.75; shape-rendering: geometricPrecision; }
.vt-hdr .site-account-avatar {
  width: 26px; height: 26px; border: 1.5px solid currentColor; font-size: 10.5px; font-weight: 600; letter-spacing: .4px;
  line-height: 1; -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision;
}
.vt-hdr .vt-count, .vt-hdr [data-cart-count] { font-size: 11px; font-weight: 600; -webkit-font-smoothing: antialiased; }
html[data-lang="hi"] .vt-hdr [data-cart-count], html[data-lang="mr"] .vt-hdr [data-cart-count] { --vt-num-size: 11px; }
html[data-lang="hi"] [data-vt-num]::after, html[data-lang="mr"] [data-vt-num]::after { font-weight: 600; }
.vt-header.vt-hdr .vt-hdr__icon .site-account-avatar { border: 1.5px solid currentColor !important; font: 600 10.5px/1 var(--vt-sans) !important; letter-spacing: .4px; }
/* Hindi / Marathi account initials (Devanagari letter names) sized to sit inside the circle */
html[data-lang="hi"] .site-account-avatar, html[data-lang="mr"] .site-account-avatar,
html[data-lang="hi"] .vt-header.vt-hdr .vt-hdr__icon .site-account-avatar, html[data-lang="mr"] .vt-header.vt-hdr .vt-hdr__icon .site-account-avatar { font-size: 9px !important; font-weight: 600 !important; letter-spacing: 0 !important; white-space: nowrap; }
html[data-lang="hi"] .site-account-avatar.is-long, html[data-lang="mr"] .site-account-avatar.is-long { font-size: 7px !important; }

/* Hero: founder slide — text on the right so the portrait on the left stays clear */
@media (min-width: 768px) {
  .vt-hero__slide--text-right .vt-hero__content { left: auto; right: 0; display: flex; flex-direction: column; align-items: flex-end; text-align: right; }
  .vt-hero__slide--text-right .vt-hero__actions { justify-content: flex-end; }
  .vt-hero__slide--text-right .vt-hero__shade {
    background:
      linear-gradient(0deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .22) 36%, rgba(0, 0, 0, 0) 60%),
      linear-gradient(270deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .18) 45%, rgba(0, 0, 0, 0) 70%);
  }
}

/* Order complete: "back to the home page" countdown */
.vt-order-next { max-width: 560px; margin: 28px auto 0; padding: 20px 24px; background: #fff; border: 1px solid #e6dfd0; text-align: center; }
.vt-order-next__text { margin: 0 0 16px; font-size: 15px; line-height: 1.5; color: #4a4038; }
.vt-order-next__count { display: inline-block; min-width: 1.4em; font-weight: 600; color: var(--vt-ink); }
.vt-order-next__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.vt-order-next__actions .vt-btn { min-width: 200px; }
.vt-order-next.is-stopped .vt-order-next__text, .vt-order-next.is-stopped [data-vt-order-stay] { display: none; }
@media (max-width: 575px) { .vt-order-next__actions .vt-btn { width: 100%; } }

/* Customer account: order tracker (Ordered → Packed → Shipped → Delivered) */
.account-track { margin: 18px 0 22px; padding: 20px 22px 16px; border: 1px solid #e6dfd0; background: #fbf9f5; }
.account-track-eta { margin: 0 0 18px; font-size: 16px; color: #2b2420; }
.account-track-eta strong { color: #1a7a45; font-weight: 600; }
.account-track-eta.is-done { color: #1a7a45; font-weight: 600; }
.account-track-eta.is-cancelled { color: #b42318; font-weight: 600; }
.account-track-steps { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; list-style: none; }
.account-track-step { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; }
.account-track-step::before { content: ""; position: absolute; top: 8px; left: -50%; width: 100%; height: 3px; background: #e4ddcf; z-index: 0; }
.account-track-step:first-child::before { display: none; }
.account-track-step.is-done::before { background: #1a7a45; }
.account-track-dot { position: relative; z-index: 1; width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 3px solid #d6cdbd; }
.account-track-step.is-done .account-track-dot { background: #1a7a45; border-color: #1a7a45; }
.account-track-step.is-current .account-track-dot { box-shadow: 0 0 0 5px rgba(26, 122, 69, .16); }
.account-track-label { font-size: 13.5px; font-weight: 600; color: #8a8076; }
.account-track-step.is-done .account-track-label { color: #2b2420; }
.account-track-date { font-size: 12px; color: #6b625a; min-height: 16px; }
.account-track.is-cancelled .account-track-step.is-done .account-track-dot, .account-track.is-cancelled .account-track-step.is-done::before { background: #b9ae9f; border-color: #b9ae9f; }
.account-track-note { margin: 14px 0 0; padding-top: 12px; border-top: 1px dashed #e4ddcf; font-size: 13px; color: #5b514a; }
.account-pay { font-style: normal; font-weight: 600; }
.account-pay--paid { color: #1a7a45; }
.account-pay--unpaid { color: #9a5b00; }
.account-pay--failed { color: #b42318; }
.account-row-eta { display: block; margin-top: 4px; font-size: 11.5px; color: #1a7a45; }
@media (max-width: 575px) {
  .account-track-steps { grid-template-columns: 1fr; gap: 14px; }
  .account-track-step { flex-direction: row; align-items: center; text-align: left; gap: 12px; }
  .account-track-step::before { top: -14px; left: 7px; width: 3px; height: 14px; }
  .account-track-date { margin-left: auto; }
}

/* ==========================================================================
   Final Figma (Vastutathastu-Home 576:2220) — fonts, Shree Yantra + reviews,
   Instagram and footer colours. Layouts elsewhere are unchanged.
   ========================================================================== */

/* ---------- Fonts (template variables from style.css point at the Figma fonts too) ---------- */
:root {
  --body-font: var(--vt-sans);
  --text-font: var(--vt-sans);
  --title-font: var(--vt-serif);
  --headings-font: var(--vt-serif);
  --jakarta-font: var(--vt-sans);
  --jost-font: var(--vt-sans);
  --dmsans-font: var(--vt-sans);
  --opensans-font: var(--vt-sans);
  --outfit-font: var(--vt-sans);
  --montserrat-font: var(--vt-sans);
  --roboto-font: var(--vt-sans);
  --poppins-font: var(--vt-sans);
  --bebas-font: var(--vt-sans);
  --tenor-font: var(--vt-sans);
  --marcellus-font: var(--vt-serif);
  --cormorant-font: var(--vt-display);
  --lora-font: var(--vt-serif);
  --libre-font: var(--vt-serif);
  --fahkwang-font: var(--vt-serif);
}
body { font-family: var(--vt-sans); }
.vt-hero__title { font-family: var(--vt-serif); font-weight: 700; letter-spacing: -.5px; }
.vt-h2, .vt-h3 { font-family: var(--vt-sans); font-weight: 400; }
#vt-cat-title { font-family: var(--vt-sans-alt); }

/* ---------- Shree Yantra + customer reviews ---------- */
.vt-yantra { background: #fff; padding: clamp(40px, 5vw, 72px) 0; }
.vt-yantra__inner {
  display: grid; grid-template-columns: minmax(0, 1.34fr) minmax(0, 1fr); align-items: center;
  gap: clamp(28px, 4.2vw, 64px); max-width: 1450px; margin: 0 auto; padding: 0 clamp(16px, 3.3vw, 50px);
}
.vt-yantra__media {
  position: relative; display: block; aspect-ratio: 781 / 521; overflow: hidden; background: #efe6da;
  border-radius: 0 38px 0 38px; box-shadow: 0 1px 2px rgba(58, 42, 24, .06);
  transition: box-shadow .6s cubic-bezier(.22, .61, .36, 1);
}
.vt-yantra__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s cubic-bezier(.22, .61, .36, 1); }
.vt-yantra__media:hover { box-shadow: 0 18px 40px -18px rgba(58, 42, 24, .35); }
.vt-yantra__media:hover img { transform: scale(1.04); }

.vt-yantra__copy { min-width: 0; padding: 16px 0; }
.vt-yantra__head { display: flex; flex-direction: column; gap: 8px; padding: 0 16px 16px; }
.vt-home .vt-yantra__title { margin: 0; font-family: var(--vt-display); font-weight: 500; font-size: clamp(36px, 1.4vw + 26px, 46px); line-height: 1; letter-spacing: -1.15px; color: #3a2a18; }
.vt-yantra__rule { display: block; width: 32px; height: 2px; background: #b9935a; transition: width .5s ease; }
.vt-yantra:hover .vt-yantra__rule { width: 56px; }

.vt-yantra__intro { display: flex; align-items: center; gap: 28px; padding: 16px; }
.vt-home .vt-yantra__text { flex: 1 1 auto; margin: 0; font-family: var(--vt-sans); font-size: 14px; line-height: 21.13px; color: #54483c; }
.vt-yantra__badge { flex: 0 0 156px; padding-left: 17px; border-left: 1px solid #decdb3; font-family: var(--vt-jakarta); }
.vt-yantra__badge p { margin: 0; }
.vt-yantra__score { display: flex; align-items: center; gap: 6px; }
.vt-yantra__score img { width: 16px; height: 16px; }
.vt-yantra__score strong { font-size: 14px; line-height: 20px; font-weight: 700; color: #352718; }
.vt-home .vt-yantra__stars { padding-top: 3px; font-size: 11px; line-height: 16.5px; letter-spacing: -.275px; color: #f59e0b; }
.vt-home .vt-yantra__count { padding-top: 2px; font-size: 10px; line-height: 12.5px; color: #7a6f62; }
.vt-home .vt-yantra__all {
  display: inline-flex; align-items: center; gap: 3px; margin-top: 6px; padding-bottom: 1px;
  font-size: 9px; line-height: 13.5px; font-weight: 700; letter-spacing: .45px; text-transform: uppercase; color: #45331e; text-decoration: none;
  background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .35s ease, color .3s ease;
}
.vt-yantra__all span { font-size: 10px; transition: transform .3s ease; }
.vt-home .vt-yantra__all:hover { color: #b9935a; background-size: 100% 1px; }
.vt-yantra__all:hover span { transform: translateX(3px); }

.vt-yantra__reviews { padding: 24px 16px; }
.vt-home .vt-yantra__kicker { margin: 0 0 12px; font-family: var(--vt-sans); font-weight: 600; font-size: 16px; line-height: 15px; letter-spacing: 1.6px; text-transform: uppercase; color: #8b7d6c; }
.vt-yantra__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.vt-review {
  display: flex; flex-direction: column; gap: 6px; padding: 15px; min-width: 0;
  background: #fffdf9; border: 1px solid #eadbcc; border-radius: 12px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
  transition: transform .45s cubic-bezier(.22, .61, .36, 1), box-shadow .45s ease, border-color .45s ease;
}
.vt-review:hover { transform: translateY(-4px); border-color: #d5c2a5; box-shadow: 0 14px 28px -16px rgba(58, 42, 24, .35); }
.vt-review p { margin: 0; }
.vt-review__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.vt-review__who { display: flex; align-items: center; gap: 8px; min-width: 0; }
.vt-review__avatar {
  flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; overflow: hidden;
  border-radius: 50%; background: #d6d3d1; box-shadow: 0 0 0 1px #decdb3; font: 600 12px/1 var(--vt-sans); color: #3a2a18;
}
.vt-review__avatar img { width: 100%; height: 100%; object-fit: cover; }
.vt-review__name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 14px/16px var(--vt-sans); color: #322619; }
.vt-review__g { flex: none; width: 14px; height: 14px; transition: transform .45s ease; }
.vt-review:hover .vt-review__g { transform: rotate(-12deg) scale(1.1); }
.vt-home .vt-review__stars { padding-top: 2px; font-size: 10px; line-height: 15px; letter-spacing: -.5px; color: #e7a324; }
.vt-home .vt-review__text { flex: 1 1 auto; font: 400 12px/16.25px var(--vt-sans); color: #5f554a; }
.vt-home .vt-review__date { padding-top: 6px; font: 400 10px/13.5px var(--vt-sans); color: #a69989; }

.vt-yantra__actions { display: flex; flex-direction: column; gap: 12px; padding: 16px; }
.vt-yantra__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
.vt-home .vt-yantra__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 9999px;
  font-family: var(--vt-sans); font-weight: 500; letter-spacing: .3px; line-height: 16px; text-decoration: none; white-space: nowrap;
  transition: background-color .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
.vt-home .vt-yantra__btn--primary {
  padding: 12px 28px; background: #3b2c1b; color: #faf5ed; font-size: 14px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);
}
.vt-home .vt-yantra__btn--primary:hover { background: #564129; color: #fff; transform: translateY(-2px); box-shadow: 0 12px 20px -8px rgba(59, 44, 27, .45); }
.vt-yantra__btn svg, .vt-yantra__more svg { flex: none; transition: transform .35s ease; }
.vt-yantra__btn:hover svg, .vt-yantra__more:hover svg { transform: translateX(4px); }
.vt-home .vt-yantra__btn--ghost { padding: 13px 25px; background: #faf5eb; border: 1px solid #d5c2a5; color: #3b2c1b; font-size: 12px; }
.vt-home .vt-yantra__btn--ghost:hover { background: #f1e6d2; border-color: #b9935a; transform: translateY(-2px); }
.vt-home .vt-yantra__more {
  align-self: flex-end; display: inline-flex; align-items: center; gap: 6px; margin-right: 32px; padding-bottom: 3px;
  font: 500 14px/16px var(--vt-sans); color: #493928; text-decoration: none; border-bottom: 1px solid #c8b89e;
  transition: color .3s ease, border-color .3s ease;
}
.vt-home .vt-yantra__more:hover { color: #b9935a; border-color: #b9935a; }

.vt-motion .vt-yantra__media, .vt-motion .vt-yantra__copy, .vt-motion .vt-review { opacity: 0; transform: translateY(24px); transition: opacity .8s ease var(--vt-delay, 0ms), transform .8s cubic-bezier(.22, .61, .36, 1) var(--vt-delay, 0ms); }
.vt-motion .vt-yantra__media.is-animated, .vt-motion .vt-yantra__copy.is-animated { opacity: 1; transform: none; }
.vt-motion .vt-review.is-animated { opacity: 1; transform: none; transition: opacity .8s ease var(--vt-delay, 0ms), transform .45s cubic-bezier(.22, .61, .36, 1), box-shadow .45s ease, border-color .45s ease; }
.vt-motion .vt-review.is-animated:hover { transform: translateY(-4px); }

@media (max-width: 1199px) {
  .vt-yantra__inner { grid-template-columns: 1fr; max-width: 820px; }
  .vt-yantra__copy { padding: 0; }
}
@media (max-width: 767px) {
  .vt-yantra__head, .vt-yantra__intro, .vt-yantra__reviews, .vt-yantra__actions { padding-left: 0; padding-right: 0; }
  .vt-yantra__intro { flex-direction: column; align-items: flex-start; gap: 18px; }
  .vt-yantra__badge { flex: none; }
  .vt-yantra__cards { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -16px; padding: 4px 16px 8px; }
  .vt-yantra__cards::-webkit-scrollbar { display: none; }
  .vt-review { flex: 0 0 76%; scroll-snap-align: start; }
  .vt-yantra__btns { flex-direction: column; align-items: stretch; }
  .vt-yantra__more { margin-right: 0; align-self: center; }
  .vt-yantra__media { border-radius: 0 28px 0 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .vt-yantra__media img, .vt-review, .vt-yantra__btn { transition: none !important; transform: none !important; }
}

/* ---------- Instagram (colours + fonts only) ---------- */
.vt-insta { background: #11332a; color: #fff; border-top: .8px solid #ecdfd3; border-bottom: .8px solid #ecdfd3; }
.vt-home .vt-insta__kicker { font-family: var(--vt-sans); font-weight: 600; font-size: 12px; letter-spacing: 1.6px; color: #e0d0d0; }
.vt-home .vt-insta__title { font-family: var(--vt-serif); font-weight: 700; font-size: clamp(30px, 1.5vw + 22px, 44.576px); line-height: 1.12; letter-spacing: -1.3373px; color: #edf1ea; }
.vt-home .vt-insta__text { font-family: var(--vt-sans); font-size: 16px; line-height: 22px; color: #e0dbd6; }
.vt-home .vt-insta__btn {
  background: #4eb098; border: .8px solid #1c1411; color: #fff; font-family: var(--vt-sans); font-size: 16px; letter-spacing: .4px;
  transition: background-color .35s ease, border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
.vt-home .vt-insta__btn:hover, .vt-home .vt-insta__btn:focus-visible { background: #3f9a84; border-color: #1c1411; color: #fff; transform: translateY(-2px); box-shadow: 0 12px 22px -12px rgba(0, 0, 0, .55); }
.vt-insta__btn .vt-insta__ico { transition: transform .35s ease; }
.vt-insta__btn:hover .vt-insta__ico { transform: rotate(-8deg) scale(1.08); }
.vt-home a.vt-insta__tile { background: #e9ded3; transition: box-shadow .5s ease, transform .5s cubic-bezier(.22, .61, .36, 1); }
.vt-home a.vt-insta__tile:hover { box-shadow: 0 18px 36px -18px rgba(0, 0, 0, .6); }
.vt-insta__shade { transition: opacity .5s ease; }
.vt-home a.vt-insta__tile:hover .vt-insta__shade { opacity: .75; }
.vt-insta__ig { transition: background-color .35s ease, transform .35s ease; }
.vt-home a.vt-insta__tile:hover .vt-insta__ig { background: rgba(0, 0, 0, .5); transform: scale(1.06); }
.vt-home .vt-insta__cta { font-family: var(--vt-ui); font-weight: 500; transition: letter-spacing .4s ease; }
.vt-home a.vt-insta__tile:hover .vt-insta__cta { letter-spacing: 1.1px; }
.vt-home a.vt-insta__tile:focus-visible { outline-color: #4eb098; }

/* ---------- Consultation CTA (above the footer) ---------- */
.vt-footer .vt-cta { background: #edf1ea; border-bottom: 1px solid #e1e7dc; }
.vt-footer .vt-cta .vt-kicker { font-family: var(--vt-sans); font-weight: 600; font-size: 16px; letter-spacing: .6px; color: #806559; }
.vt-footer .vt-cta__title { font-family: var(--vt-serif); font-weight: 400; color: #1f2a24; }
.vt-footer .vt-cta__text { font-family: var(--vt-sans); font-size: 16px; color: #4a524c; }
.vt-footer .vt-cta__btn {
  font-family: var(--vt-ui); font-weight: 600; color: #fff; border-radius: 12px; letter-spacing: 0;
  background: linear-gradient(103.94deg, #0b251f 52.7%, #2b8b73 100.26%) 0 0 / 150% 100%;
  transition: background-position .6s ease, transform .35s ease, box-shadow .35s ease;
}
.vt-footer .vt-cta__btn:hover, .vt-footer .vt-cta__btn:focus-visible {
  background: linear-gradient(103.94deg, #0b251f 52.7%, #2b8b73 100.26%) 100% 0 / 150% 100%;
  color: #fff; transform: translateY(-2px); box-shadow: 0 14px 26px -12px rgba(11, 37, 31, .6);
}

/* ---------- Footer (colours + fonts only) ---------- */
.vt-footer .vt-ftr {
  --ftr-ink: #fff;
  --ftr-muted: #cefacb;
  --ftr-line: rgba(236, 229, 214, .18);
  --ftr-accent: #8dc63f;
  background: #11332a; border-top: .8px solid #ece5d6; font-family: var(--vt-ui);
}
.vt-footer .vt-ftr, .vt-footer .vt-ftr p, .vt-footer .vt-ftr a, .vt-footer .vt-ftr li, .vt-footer .vt-ftr span, .vt-footer .vt-ftr input, .vt-footer .vt-ftr button, .vt-footer .vt-ftr summary { font-family: var(--vt-ui); }
.vt-footer .vt-ftr .vt-ftr__about { color: #fff; font-size: 15px; }
.vt-footer .vt-ftr__address, .vt-footer .vt-ftr__address a { color: var(--ftr-accent); font-size: 14px; }
.vt-footer .vt-ftr__address a { transition: color .3s ease; }
.vt-footer .vt-ftr__address a:hover { color: #fff; }
.vt-footer .vt-ftr__cta { color: var(--ftr-accent); transition: color .3s ease; }
.vt-footer .vt-ftr__cta:hover { color: #fff; }
.vt-ftr__heading { font-family: var(--vt-ui); font-weight: 600; font-size: 13px; letter-spacing: .6px; color: var(--ftr-accent); }
.vt-footer .vt-ftr .vt-ftr__links a { font-size: 14px; color: #fff; }
.vt-footer .vt-ftr .vt-ftr__links a:hover, .vt-footer .vt-ftr .vt-ftr__links a:focus-visible { color: var(--ftr-accent); }
.vt-footer .vt-ftr__links a { transition: color .3s ease, background-size .35s ease, transform .35s ease; }
.vt-footer .vt-ftr .vt-ftr__links a:hover { transform: translateX(3px); }
.vt-footer .vt-ftr .vt-ftr__news-title { font-family: var(--vt-news); font-weight: 400; color: #fff; }
.vt-footer .vt-ftr .vt-ftr__news-text { color: #cefacb; }
.vt-ftr__field { background: #fff; border: 1px solid #e3dccd; border-radius: 8px; padding: 4px 4px 4px 12px; transition: border-color .3s ease, box-shadow .3s ease; }
.vt-ftr__field:focus-within { border-color: var(--ftr-accent); box-shadow: 0 0 0 3px rgba(141, 198, 63, .25); }
.vt-footer .vt-ftr__field input { height: 40px; color: #1f2a24; }
.vt-ftr__field input::placeholder { color: #7a7f78; }
.vt-footer .vt-ftr__field button { min-width: 40px; height: 36px; padding: 0 12px; border-radius: 4px; background: #11332a; color: #fff; font-size: 16px; transition: background-color .3s ease; }
.vt-footer .vt-ftr__field button:hover, .vt-footer .vt-ftr__field button:focus-visible { background: #1d4d40; }
.vt-footer .vt-ftr .pp-newsletter-status { color: #cefacb; }
.vt-footer .vt-ftr__social a { color: #fff; }
.vt-footer .vt-ftr__social a:hover { color: var(--ftr-accent); }

/* ---------- Figma detail pass (fonts, colours, backgrounds per section) ---------- */
/* Hero (Section - Featured) */
.vt-home .vt-hero__title { font-family: var(--vt-serif); font-weight: 700; }
.vt-home .vt-hero__kicker { font-family: var(--vt-sans); font-weight: 400; }
.vt-home .vt-hero .vt-btn { font-family: var(--vt-sans); font-size: 16px; letter-spacing: 2.1px; }
.vt-home .vt-hero .vt-btn--solid { font-weight: 600; }
.vt-home .vt-hero .vt-btn--ghost { font-weight: 700; }

/* Intro — white section, brown text */
.vt-home .vt-intro { background: #fff; }
.vt-home .vt-intro .vt-h2 { font-family: var(--vt-sans); font-weight: 400; letter-spacing: -1.41px; color: #271101; }
.vt-home .vt-intro .vt-body { font-family: var(--vt-sans); font-size: 16px; line-height: 25.6px; letter-spacing: .4px; color: #6d3913; }

/* Shop by Category — stone section, card labels (Manrope) */
.vt-home .vt-categories { background: #f0eee4; }
.vt-home #vt-cat-title { font-family: var(--vt-sans-alt); font-weight: 400; letter-spacing: -1.41px; color: #000; }
.vt-home .vt-cat { background: #f7f6f1; }
.vt-home .vt-cat__label { font-family: var(--vt-ui); font-size: 16px; line-height: 22.4px; letter-spacing: .4px; color: #311b0b; }

/* Sacred Energy, Refined */
.vt-home .vt-products { background: #f0eee4; }
.vt-home .vt-products .vt-h3 { font-family: var(--vt-sans); font-weight: 400; letter-spacing: -1.08px; color: #000; }
.vt-home .vt-carousel .vt-card { background: #fff; }
.vt-home .vt-carousel .vt-card__meta { font-family: var(--vt-sans); font-size: 16px; line-height: 20px; letter-spacing: .4px; color: #000; }
.vt-home .vt-carousel .vt-card__meta > .d-block:last-child { font-weight: 600; }
.vt-home .vt-carousel .vt-card__sub { font-size: 13px; }

/* Founder */
.vt-home .vt-split .vt-h3 { font-family: var(--vt-sans); font-weight: 400; font-size: clamp(30px, 1.2vw + 22px, 40px); line-height: 1.08; letter-spacing: -1.08px; color: #000; }
.vt-home .vt-split .vt-body--sm { font-family: var(--vt-sans-alt); font-size: 16px; line-height: 20px; letter-spacing: .4px; color: #000; }
.vt-home .vt-split .vt-link { font-family: var(--vt-ui); font-size: 16px; line-height: 22.4px; letter-spacing: .4px; color: #000; }

/* Instagram follow button — cream with dark green text (Figma) */
.vt-home .vt-insta__btn { background: #f0eee4; border: .8px solid #1c1411; border-radius: 8px; color: #11332a; font-weight: 400; }
.vt-home .vt-insta__btn:hover, .vt-home .vt-insta__btn:focus-visible { background: #fff; border-color: #f0eee4; color: #11332a; transform: translateY(-2px); box-shadow: 0 12px 22px -12px rgba(0, 0, 0, .55); }

/* Consultation CTA button size (SemiBold 20) */
.vt-footer .vt-cta__btn { height: auto; min-height: 74px; padding: 28px; font-size: 20px; line-height: 18px; }
@media (max-width: 767px) { .vt-footer .vt-cta__btn { min-height: 60px; padding: 20px 24px; font-size: 17px; } }

/* Footer line heights */
.vt-footer .vt-ftr .vt-ftr__links a { line-height: 20px; }
.vt-footer .vt-ftr__address { line-height: 22px; }
.vt-footer .vt-ftr .vt-ftr__about { line-height: 23px; }
.vt-ftr__heading { line-height: 18px; }

/* ==========================================================================
   Final Figma — Page 4 "Home page" (625:3005)
   Manrope (text) + Cormorant Garamond (display). Overrides the earlier pass.
   ========================================================================== */

/* Header navigation */
.vt-hdr .vt-hdr__link { font-family: var(--vt-serif); font-weight: 500; font-size: 14px; letter-spacing: .9px; }

/* Hero */
.vt-home .vt-hero__kicker { font-family: var(--vt-sans); font-weight: 400; font-size: clamp(13px, .4vw + 12px, 18px); line-height: 22px; letter-spacing: 6px; }
.vt-home .vt-hero__title { font-family: var(--vt-serif); font-weight: 700; font-size: clamp(36px, 3vw + 20.8px, 64px); line-height: .94; letter-spacing: 2px; }
.vt-home .vt-hero .vt-btn {
  height: 49px; min-width: 248px; padding: 0 28px; border-radius: 8px;
  font-family: var(--vt-sans); font-weight: 500; font-size: 16px; line-height: 15px; letter-spacing: 2.1px;
  transition: background-color .35s ease, color .35s ease, border-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
.vt-home .vt-hero .vt-btn--solid { background: #f0eee4; border: .8px solid #fff; color: #000; }
.vt-home .vt-hero .vt-btn--solid:hover, .vt-home .vt-hero .vt-btn--solid:focus-visible { background: #fff; color: #000; transform: translateY(-2px); box-shadow: 0 12px 24px -12px rgba(0, 0, 0, .6); }
.vt-home .vt-hero .vt-btn--ghost { background: transparent; border: .8px solid #f0eee4; color: #f0eee4; }
.vt-home .vt-hero .vt-btn--ghost:hover, .vt-home .vt-hero .vt-btn--ghost:focus-visible { background: rgba(240, 238, 228, .14); border-color: #fff; color: #fff; transform: translateY(-2px); }
@media (max-width: 575px) { .vt-home .vt-hero .vt-btn { min-width: 0; width: 100%; } }

/* Intro */
.vt-home .vt-intro { background: #fff; }
.vt-home .vt-intro .vt-h2 { font-family: var(--vt-sans); font-weight: 400; font-size: clamp(30px, 1.6vw + 25px, 48px); line-height: 1.175; letter-spacing: 1px; color: #201209; }
.vt-home .vt-intro .vt-body { font-family: var(--vt-sans); font-size: clamp(16px, .2vw + 15px, 18px); line-height: 25.6px; letter-spacing: .4px; color: #6d3913; }

/* Shop by Category: Nunito Sans title, Manrope labels, #f0eee4 */
.vt-home #vt-cat-title { font-size: clamp(30px, 1.6vw + 25px, 48px); }

/* Shree Yantra: text in Manrope */
.vt-home .vt-yantra__text { line-height: 22px; }
.vt-yantra__badge { font-family: var(--vt-sans); }
.vt-yantra__score strong { font-family: var(--vt-jakarta); }

/* Sacred Energy, Refined */
.vt-home .vt-products { background: #f0ede4; }
.vt-home .vt-products .vt-h3 { font-family: var(--vt-sans); font-weight: 400; font-size: clamp(28px, .8vw + 24.5px, 36px); line-height: 44px; letter-spacing: 0; color: #000; }
.vt-home .vt-carousel .vt-card__meta { font-family: var(--vt-sans); font-size: 16px; line-height: 18px; letter-spacing: .4px; }
.vt-home .vt-carousel .vt-card__meta > .d-block:last-child { font-weight: 600; letter-spacing: 0; margin-top: 8px; }
@media (min-width: 1200px) {
  .vt-home .vt-products .vt-carousel__slide { flex: 0 0 302px; padding: 0 32px 0 0; }
  .vt-home .vt-products .vt-card { height: 344px; }
  .vt-home .vt-products .vt-card__img { padding: 36px 0 28px; }
}
.vt-home .vt-carousel .vt-card { transition: box-shadow .45s ease, transform .45s cubic-bezier(.22, .61, .36, 1); }
.vt-home .vt-carousel .vt-card:hover { transform: translateY(-4px); box-shadow: 0 16px 30px -18px rgba(49, 27, 11, .35); }

/* Founder: text left, portrait right */
.vt-home .vt-split--founder { background: #fff; }
.vt-home .vt-split--founder .vt-h3 { font-family: var(--vt-serif); font-weight: 600; font-size: clamp(34px, 1.4vw + 27.9px, 48px); line-height: .9; letter-spacing: -1.1px; color: #311b0b; }
.vt-home .vt-split--founder .vt-body--sm { font-family: var(--vt-sans); font-size: clamp(16px, .4vw + 14px, 20px); line-height: 1.3; letter-spacing: 2px; color: #7e461d; max-width: 620px; }
.vt-home .vt-split--founder .vt-link { font-family: var(--vt-sans); font-size: 18px; line-height: 22.4px; letter-spacing: .4px; color: #311b0b; }
@media (min-width: 992px) {
  .vt-home .vt-split--founder { grid-template-columns: minmax(0, 654fr) minmax(0, 683fr); gap: 71px; padding: 16px; }
  .vt-home .vt-split--founder .vt-split__media { order: 2; height: auto; aspect-ratio: 683 / 686; }
  .vt-home .vt-split--founder .vt-split__copy { order: 1; padding-left: 24px; }
}

/* Instagram journal (green, white caption cards) */
.vt-home .vt-journal { background: #145f4d; color: #f0eee4; border: 0; padding: 16px 0 40px; }
.vt-journal__inner { max-width: 1440px; margin: 0 auto; padding: 0 clamp(16px, 3.4vw, 49px); }
.vt-home .vt-journal__eyebrow {
  display: flex; align-items: center; gap: 8px; margin: 0; padding: 48px 16px 0 35px;
  font-family: var(--vt-sans); font-weight: 600; font-size: 11px; line-height: 16.5px; letter-spacing: 2.42px; text-transform: uppercase; color: #f0eee4;
}
.vt-journal__eyebrow svg { flex: none; }
.vt-journal__line { display: block; width: 208px; height: 1px; margin-left: 4px; background: #d6d3d1; opacity: .7; transition: width .6s ease; }
.vt-journal:hover .vt-journal__line { width: 240px; }
.vt-journal__head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 18px 16px 0 24px; }
.vt-home .vt-journal__title { margin: 0; font-family: var(--vt-serif); font-weight: 600; font-size: clamp(36px, 1.9vw + 26.7px, 54px); line-height: 1.25; letter-spacing: -1.35px; color: #f0eee4; }
.vt-journal__follow { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex: none; }
.vt-home .vt-journal__btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; border-radius: 12px;
  background: rgba(255, 255, 255, .7); color: #145f4d; text-decoration: none;
  font: 500 14px/20px var(--vt-sans); box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
  transition: background-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
.vt-home .vt-journal__btn:hover, .vt-home .vt-journal__btn:focus-visible { background: #fff; color: #145f4d; transform: translateY(-2px); box-shadow: 0 12px 22px -12px rgba(0, 0, 0, .45); }
.vt-journal__btn svg { transition: transform .35s ease; }
.vt-journal__btn:hover svg { transform: rotate(-8deg) scale(1.08); }
.vt-journal__handle { padding-right: 4px; font: 400 12px/16px var(--vt-jakarta); color: #f0eee4; }
.vt-journal__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 371px)); justify-content: center; gap: clamp(24px, 5.7vw, 82px); padding: 48px 33px 24px; }
.vt-home a.vt-journal__card {
  display: flex; flex-direction: column; overflow: hidden; text-decoration: none; color: inherit;
  background: #fff; border: 1px solid rgba(245, 245, 244, .8); border-radius: 16px;
  box-shadow: 0 10px 30px -8px rgba(18, 50, 40, .08), 0 4px 12px -2px rgba(0, 0, 0, .03);
  transition: transform .5s cubic-bezier(.22, .61, .36, 1), box-shadow .5s ease;
}
.vt-home a.vt-journal__card:hover { transform: translateY(-6px); box-shadow: 0 24px 40px -18px rgba(0, 0, 0, .45); }
.vt-home a.vt-journal__card:focus-visible { outline: 2px solid #f0eee4; outline-offset: 4px; }
.vt-journal__media { position: relative; display: block; height: 376px; overflow: hidden; background: #e9ded3; }
.vt-journal__media img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; transition: transform 1s cubic-bezier(.22, .61, .36, 1); }
.vt-journal__card:hover .vt-journal__media img { transform: scale(1.05); }
.vt-journal__caption { display: flex; flex-direction: column; gap: 8px; padding: 20px 24px 24px; background: #fff; }
.vt-journal__name { font: 500 24px/32px var(--vt-sans); letter-spacing: -.6px; color: #1c1917; }
.vt-journal__more { display: inline-flex; align-items: center; gap: 6px; font: 500 14px/20px var(--vt-jakarta); color: #ba8f40; }
.vt-journal__more svg { transition: transform .35s ease; }
.vt-journal__card:hover .vt-journal__more svg { transform: translate(3px, -3px); }
.vt-motion .vt-journal__card { opacity: 0; transform: translateY(24px); transition: opacity .8s ease var(--vt-delay, 0ms), transform .8s cubic-bezier(.22, .61, .36, 1) var(--vt-delay, 0ms); }
.vt-motion .vt-journal__card.is-animated { opacity: 1; transform: none; transition: opacity .8s ease var(--vt-delay, 0ms), transform .5s cubic-bezier(.22, .61, .36, 1), box-shadow .5s ease; }
.vt-motion .vt-journal__card.is-animated:hover { transform: translateY(-6px); }
@media (max-width: 991px) {
  .vt-journal__head { flex-direction: column; align-items: flex-start; }
  .vt-journal__follow { align-items: flex-start; }
  .vt-journal__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding: 32px 0 16px; }
  .vt-journal__media { height: auto; aspect-ratio: 1 / 1; }
  .vt-journal__name { font-size: 19px; line-height: 26px; }
}
@media (max-width: 767px) {
  .vt-home .vt-journal__eyebrow { padding: 36px 0 0; }
  .vt-journal__head { padding: 14px 0 0; }
  .vt-journal__line { width: 80px; }
  .vt-journal__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -16px; padding: 28px 16px 16px; gap: 14px; }
  .vt-journal__grid::-webkit-scrollbar { display: none; }
  .vt-home a.vt-journal__card { flex: 0 0 80%; scroll-snap-align: start; }
}

/* Consultation CTA */
.vt-footer .vt-cta { background: #f0eee4; border-bottom: 0; }
.vt-footer .vt-cta .vt-kicker { font-family: var(--vt-sans); font-weight: 500; font-size: clamp(14px, .3vw + 13px, 18px); line-height: 18px; letter-spacing: .6px; color: #806559; }
.vt-footer .vt-cta__title { font-family: var(--vt-serif); font-weight: 600; font-size: clamp(34px, 1.6vw + 29px, 52px); line-height: .9; letter-spacing: -1.1px; color: #1f2a24; }
.vt-footer .vt-cta__text { font-family: var(--vt-sans); font-size: clamp(16px, .2vw + 15px, 18px); line-height: 24px; color: #4a524c; }
.vt-footer .vt-cta__btn { background: linear-gradient(103.94deg, #0c3f33 32%, #2b8b73 100%) 0 0 / 150% 100%; }
.vt-footer .vt-cta__btn:hover, .vt-footer .vt-cta__btn:focus-visible { background: linear-gradient(103.94deg, #0c3f33 32%, #2b8b73 100%) 100% 0 / 150% 100%; }

/* Footer */
.vt-footer .vt-ftr { background: #145f4d; font-family: var(--vt-sans); }
.vt-footer .vt-ftr, .vt-footer .vt-ftr p, .vt-footer .vt-ftr a, .vt-footer .vt-ftr li, .vt-footer .vt-ftr span, .vt-footer .vt-ftr input, .vt-footer .vt-ftr button, .vt-footer .vt-ftr summary { font-family: var(--vt-sans); }
.vt-footer .vt-ftr .vt-ftr__about { font-size: 16px; line-height: 23px; }
.vt-ftr__heading { font-family: var(--vt-sans); font-size: 14px; }
.vt-footer .vt-ftr .vt-ftr__heading--news { margin: 0 0 14px; }
.vt-footer .vt-ftr .vt-ftr__news-title { font-family: var(--vt-serif); font-weight: 400; font-size: 26px; line-height: 32px; }
.vt-footer .vt-ftr__field button { min-width: 61px; height: 34px; padding: 0 14px; font: 600 12px/16px var(--vt-sans); letter-spacing: .6px; text-transform: uppercase; }
.vt-footer .vt-ftr__field input { font-family: var(--vt-sans); font-size: 14px; color: #1f2a24; }
.vt-footer .vt-ftr__field input::placeholder { color: #525252; }
.vt-ftr__social { gap: 12px; margin-top: 20px !important; }
.vt-footer .vt-ftr__soc { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 8px; transition: transform .35s ease, filter .35s ease; }
.vt-footer .vt-ftr__soc svg { display: block; width: 24px; height: 24px; }
.vt-footer .vt-ftr__soc:hover, .vt-footer .vt-ftr__soc:focus-visible { transform: translateY(-3px) scale(1.06); filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .35)); }
.vt-ftr__social a:hover svg { transform: none; }
.vt-ftr__bar {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px 24px;
  max-width: 1440px; margin: 0 auto; padding: 34px clamp(24px, 7.2vw, 104px) 35px;
  border-top: .8px solid rgba(210, 249, 239, .35);
}
.vt-footer .vt-ftr .vt-ftr__bar p { margin: 0; font-size: 12px; line-height: 18px; color: #fff; }
.vt-ftr__locale { justify-self: end; }
.vt-ftr__legal { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; justify-content: center; font-size: 12px; line-height: 18px; color: #fff; }
.vt-footer .vt-ftr .vt-ftr__legal a { color: #fff; font-size: 12px; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: color .3s ease, background-size .35s ease; }
.vt-footer .vt-ftr .vt-ftr__legal a:hover, .vt-footer .vt-ftr .vt-ftr__legal a:focus-visible { color: #8dc63f; background-size: 100% 1px; }
.vt-ftr__inner { padding-bottom: 44px; }
@media (max-width: 767px) {
  .vt-ftr__inner { padding-bottom: 32px; }
  .vt-ftr__heading--news { order: 2; margin-top: 28px !important; }
  .vt-ftr__bar { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 22px 20px 88px; }
  .vt-ftr__locale { justify-self: center; }
}
@media (max-width: 767px) {
  .vt-footer .vt-ftr .vt-ftr__heading--news { padding: 0; cursor: default; }
  .vt-ftr__heading--news::after { display: none !important; }
  .vt-ftr__heading--news + .vt-ftr__news-title { margin-top: 0 !important; }
}

/* ---------- Alignment pass: every home section uses the shared side margin (--vt-gutter) ---------- */
/* Shree Yantra */
.vt-yantra__inner { max-width: none; padding-left: var(--vt-gutter); padding-right: var(--vt-gutter); }
.vt-yantra__head, .vt-yantra__intro, .vt-yantra__reviews, .vt-yantra__actions { padding-left: 0; padding-right: 0; }
@media (max-width: 1199px) { .vt-yantra__inner { max-width: none; } }

/* Founder: text on the page margin, photo flush to the right margin */
.vt-home .vt-split--founder .vt-split__copy { padding-left: 0; padding-right: 0; }
@media (min-width: 992px) {
  .vt-home .vt-split--founder { padding: 16px 0; gap: clamp(32px, 4.9vw, 71px); }
  .vt-home .vt-split--founder .vt-split__copy { padding-left: 0; padding-right: 0; }
}

/* Instagram journal */
.vt-journal__inner { max-width: none; padding-left: var(--vt-gutter); padding-right: var(--vt-gutter); }
.vt-home .vt-journal__eyebrow { padding-left: 0; padding-right: 0; }
.vt-journal__head { padding-left: 0; padding-right: 0; }
.vt-journal__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: stretch; gap: clamp(20px, 3.9vw, 56px); padding-left: 0; padding-right: 0; }
@media (max-width: 767px) { .vt-journal__grid { margin: 0 calc(var(--vt-gutter) * -1); padding-left: var(--vt-gutter); padding-right: var(--vt-gutter); } }

/* Footer + bottom bar */
.vt-ftr__inner, .vt-ftr__bar { max-width: none; padding-left: var(--vt-gutter); padding-right: var(--vt-gutter); }
@media (max-width: 767px) { .vt-ftr__inner { padding-left: var(--vt-gutter); padding-right: var(--vt-gutter); } .vt-ftr__bar { padding-left: var(--vt-gutter); padding-right: var(--vt-gutter); } }
/* All four footer headings on one line */
@media (min-width: 1200px) {
  .vt-ftr__nav, .vt-ftr__news { padding-top: 0; }
  .vt-ftr__heading, .vt-footer .vt-ftr .vt-ftr__heading--news { margin-top: 0; }
}

/* ---------- Header: 16px menu links, one icon size, matching language button ---------- */
.vt-hdr .vt-hdr__link { font-size: 16px; letter-spacing: .9px; }
.vt-hdr .vt-hdr__icon svg { width: 22px; height: 22px; }
.vt-header.vt-hdr .vt-hdr__icon .site-account-avatar { width: 24px; height: 24px; min-width: 24px; font-size: 9.5px !important; }
html[data-lang="hi"] .vt-header.vt-hdr .vt-hdr__icon .site-account-avatar, html[data-lang="mr"] .vt-header.vt-hdr .vt-hdr__icon .site-account-avatar { font-size: 8.5px !important; }
@media (min-width: 576px) { .vt-hdr .vt-lang__btn { height: 36px; padding: 0 12px; font-size: 12px; } }

/* ---------- Footer: five evenly spaced columns (brand · Category · Guidance · Quick links · Stay connected) ---------- */
@media (min-width: 1200px) {
  .vt-ftr__inner { grid-template-columns: minmax(0, 1.3fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.3fr); column-gap: clamp(28px, 3.3vw, 56px); }
  .vt-ftr__brand { grid-column: 1; }
  .vt-ftr__nav { grid-column: 2 / 5; display: grid; grid-template-columns: subgrid; column-gap: inherit; }
  .vt-ftr__group, .vt-ftr__group--explore, .vt-ftr__group--guidance, .vt-ftr__group--company { min-width: 0; margin: 0; }
  .vt-ftr__news { grid-column: 5; padding-left: 0; }
  .vt-ftr__signup { max-width: none; }
}

/* ---------- Bigger, more prominent header logo ---------- */
.vt-hdr .vt-hdr__logo img { height: 62px; }
@media (max-width: 1299px) { .vt-hdr .vt-hdr__logo img { height: 56px; } }
@media (min-width: 992px) and (max-width: 1119px) { .vt-hdr .vt-hdr__logo img { height: 42px; } .vt-hdr .vt-hdr__link { font-size: 14px; padding-left: 8px; padding-right: 8px; } }
@media (max-width: 991px) { .vt-hdr .vt-hdr__logo img { height: 50px; } }
@media (max-width: 767px) { .vt-hdr .vt-hdr__logo img { height: 44px; } }
@media (max-width: 575px) { .vt-hdr .vt-hdr__logo img { height: 40px; } }
@media (max-width: 420px) { .vt-hdr .vt-hdr__logo img { height: 30px; } }
@media (min-width: 1120px) and (max-width: 1239px) { .vt-hdr .vt-hdr__logo img { height: 50px; } }
@media (max-width: 499px) { .vt-hdr .vt-hdr__logo img { height: 31px; } }
@media (max-width: 420px) { .vt-hdr .vt-hdr__logo img { height: 30px; } }

/* ---------- Header: bold 18px menu links, 30px icons ---------- */
.vt-hdr .vt-hdr__link { font-size: 18px; font-weight: 700; }
.vt-hdr .vt-hdr__link svg { width: 11px; height: 11px; }
.vt-hdr .vt-hdr__icon { width: 46px; }
.vt-hdr .vt-hdr__icon svg { width: 30px; height: 30px; }
.vt-header.vt-hdr .vt-hdr__icon .site-account-avatar { width: 30px; height: 30px; min-width: 30px; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .3px; }
html[data-lang="hi"] .vt-header.vt-hdr .vt-hdr__icon .site-account-avatar, html[data-lang="mr"] .vt-header.vt-hdr .vt-hdr__icon .site-account-avatar { font-size: 10.5px !important; }
html[data-lang="hi"] .vt-header.vt-hdr .vt-hdr__icon .site-account-avatar.is-long, html[data-lang="mr"] .vt-header.vt-hdr .vt-hdr__icon .site-account-avatar.is-long { font-size: 8.5px !important; }
/* Keep 18px bold links + 30px icons clear of the logo on narrower screens */
@media (max-width: 1439px) { .vt-hdr .vt-hdr__link { padding-left: 7px; padding-right: 7px; letter-spacing: .6px; } }
@media (min-width: 1120px) and (max-width: 1239px) { .vt-hdr .vt-hdr__link { font-size: 16px; padding-left: 6px; padding-right: 6px; } }
@media (min-width: 992px) and (max-width: 1119px) {
  .vt-hdr .vt-hdr__link { font-size: 14px; padding-left: 5px; padding-right: 5px; letter-spacing: .4px; }
  .vt-hdr .vt-hdr__logo img { height: 38px; }
  .vt-hdr .vt-hdr__icon { width: 40px; }
}
@media (max-width: 991px) { .vt-hdr .vt-hdr__icon { width: 42px; } }
@media (max-width: 479px) {
  .vt-hdr .vt-hdr__icon { width: 36px; }
  .vt-hdr .vt-hdr__icon svg { width: 26px; height: 26px; }
  .vt-header.vt-hdr .vt-hdr__icon .site-account-avatar { width: 26px; height: 26px; min-width: 26px; font-size: 10.5px !important; }
}

/* ---------- Header: logo sits exactly midway between the menu and the icons ---------- */
/* (logo stays centred on the page — absolute centre, see .vt-hdr .vt-hdr__logo) */
@media (min-width: 992px) {
  /* Same distance from the screen edge on both sides: menu text on the left, language button on the right */
  .vt-hdr .vt-hdr__bar { padding-left: var(--vt-gutter); }
  .vt-hdr .vt-lang { padding-right: var(--vt-gutter); }
  .vt-hdr .vt-hdr__links { margin-left: 0; }
  .vt-hdr .vt-hdr__links > li:first-child > .vt-hdr__link { padding-left: 0; }
}

/* ---------- Home section headings: 48px, bold, uppercase ---------- */
.vt-home #vt-cat-title,
.vt-home .vt-yantra__title,
.vt-home .vt-products .vt-h3,
.vt-home .vt-split--founder .vt-h3,
.vt-home .vt-journal__title,
.vt-home .vt-wisdom .vt-h2, .vt-home #vt-wisdom-title,
.vt-footer .vt-cta__title {
  font-size: clamp(28px, 2.4vw + 13.44px, 48px);
  line-height: 1.12;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* ---------- Shop by Category labels: 18px bold ---------- */
.vt-home .vt-cat__label { font-size: 18px; font-weight: 700; line-height: 24px; }

/* ---------- Crisp icons site-wide ----------
   Outline icons keep an exact on-screen line width whatever size they're drawn at
   (scaled strokes like 2.19px smear across pixels and look blurry). */
svg[stroke] :is(path, circle, rect, line, polyline, polygon, ellipse),
svg [stroke]:is(path, circle, rect, line, polyline, polygon, ellipse) { vector-effect: non-scaling-stroke; }
svg.vt-icon, .vt-ftr svg[stroke], .vt-journal svg[stroke], .vt-yantra svg[stroke], .vt-wa svg[stroke] { shape-rendering: geometricPrecision; }
svg.vt-icon { stroke-width: 1.5px; }

/* Header: 30px icons drawn with clean 2px lines, on whole pixels */
.vt-hdr .vt-icon { stroke-width: 2px; }
.vt-hdr .vt-hdr__icon { transition: color .25s ease, opacity .25s ease; }
.vt-hdr .vt-hdr__icon:hover, .vt-hdr .vt-hdr__icon:focus-visible { opacity: .8; }
.vt-header.vt-hdr .vt-hdr__icon .site-account-avatar { border-width: 2px !important; -webkit-font-smoothing: antialiased; }
@media (min-width: 576px) { .vt-hdr .vt-lang__btn { width: 124px; justify-content: center; } }
/* Cart count sits on the bag's top-right corner instead of covering it */
.vt-hdr .site-cart-link { position: relative; }
.vt-hdr .site-cart-link [data-cart-count], .vt-hdr .site-cart-link .vt-count {
  left: auto; right: 0; top: calc(50% - 21px); min-width: 18px; height: 18px; padding: 0 5px;
  border-radius: 9px; font-size: 11px; line-height: 18px; font-weight: 700; text-align: center;
}
@media (max-width: 479px) { .vt-hdr .site-cart-link [data-cart-count], .vt-hdr .site-cart-link .vt-count { right: 1px; top: calc(50% - 19px); } }
/* Tablet: centred logo clear of the icons */
@media (min-width: 576px) and (max-width: 991px) {
  .vt-hdr .vt-hdr__logo img { height: 44px; }
  .vt-hdr .vt-hdr__icon { width: 38px; }
}
/* Narrow tablets: short language label ("EN") so the centred logo stays clear */
@media (min-width: 576px) and (max-width: 699px) {
  .vt-hdr .vt-lang__long { display: none; }
  .vt-hdr .vt-lang__short { display: inline; }
  .vt-hdr .vt-lang__btn { width: auto; padding: 0 10px; }
}

/* ==========================================================================
   One type system for the whole storefront
   Headings (h1/h2, page + section titles): Cormorant Garamond, bold, uppercase
   Sub-headings (h3–h6, card titles, labels, kickers): Manrope
   ========================================================================== */
body :is(h1, h2, .vt-h1, .vt-h2, .vt-h3, .vt-plp__title, .vt-recs__title, .vt-empty-state__title, .vt-yantra__title, .vt-journal__title, .vt-cta__title):not(:is(.vt-hdr *, .vt-mega *, .vt-ftr *, .pdp-acc__head, .vt-rich-text *, .vt-review *)) {
  font-family: var(--vt-serif) !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .5px;
}
/* Page titles match the home section headings (48px on desktop) */
body :is(h1, .vt-plp__title, #vt-cat-title, .vt-products .vt-h3, .vt-split--founder .vt-h3, .vt-recs__title):not(:is(.vt-hdr *, .vt-hero__title, .pdp-title)) {
  font-size: clamp(28px, 2.4vw + 13.44px, 48px) !important;
  line-height: 1.12 !important;
}
.pdp-title { letter-spacing: .3px !important; }
/* Article body headings stay readable (bold serif, normal case) */
.vt-rich-text :is(h1, h2, h3) { font-family: var(--vt-serif) !important; font-weight: 700 !important; text-transform: none; }
/* Sub-headings → Manrope */
body :is(h3, h4, h5, h6, .sub-title, .vt-kicker, .pdp-acc__head, .vt-tile__name, .vt-article__title):not(:is(.vt-hdr *, .vt-mega *, .vt-rich-text *, .vt-h3, .vt-products .vt-h3)) {
  font-family: var(--vt-sans) !important;
}
.pdp-acc__head { font-weight: 700 !important; }

/* ---------- Body text: 16px everywhere (headings, 18px menu links and 18px category names keep their sizes) ---------- */
html body { font-size: 16px; }
body :is(p, li, dd, dt, td, th, label, blockquote, input, select, textarea, small, address, figcaption, .vt-body, .vt-body--sm, .vt-tile__name, .vt-card__meta, .vt-card__meta .d-block, .pp-ship, .vt-review__text, .vt-review__name, .vt-review__date, .vt-yantra__text, .vt-yantra__count, .vt-journal__name, .vt-journal__more, .vt-journal__handle, .vt-journal__eyebrow, .vt-kicker, .sub-title, .vt-link, .vt-ftr__links a, .vt-ftr__about, .vt-ftr__address, .vt-ftr__address a, .vt-ftr__news-text, .vt-ftr__bar p, .vt-ftr__legal a, .vt-insta__cta, .vt-yantra__all, .vt-yantra__btn, .vt-hero__kicker, .pdp-acc__head, .vt-review__stars, .vt-yantra__stars, .vt-ftr__copy, .vt-ftr__locale, .vt-ftr__legal span, .vt-ftr__field button, .vt-cta__text, .site-btn, .cart-btn, .checkout-btn, .site-forgot, .list-content, .vt-journal__btn span):not(:is(.vt-hdr *, .vt-mega *, .vt-cat__label, [data-cart-count], .vt-count, .vt-card__badge, .site-account-avatar, .pay-badge)) {
  font-size: 16px !important;
}
body :is(p, li, td, .vt-body, .vt-review__text, .vt-yantra__text, .vt-ftr__about, .vt-ftr__news-text):not(:is(.vt-hdr *, .vt-mega *)) { line-height: 1.6; }
body :is(.js-search-suggestion, .pp-minicart-empty__link, .site-show-password, .total_price, .vt-yantra__score strong, .vt-ftr__heading) { font-size: 16px !important; }
.vt-home .vt-journal__name { font-size: 18px !important; font-weight: 700; line-height: 1.35; letter-spacing: 0; }
.vt-home .vt-review__text { line-height: 1.5 !important; }
.vt-yantra__badge { flex: 0 0 210px; }
.vt-home .vt-yantra__all, .vt-home .vt-yantra__count { white-space: nowrap; }
@media (max-width: 767px) { .vt-yantra__badge { flex: none; } }

/* ---------- Shop by Category — same animation as swarovski.com category grid ----------
   Heading: fade + rise 15%, 0.8s ease-in-out. Tiles: all together, fade + slide from -8%, 0.8s ease-in-out.
   Hover: photo zooms to 1.1 in 0.4s cubic-bezier(.165,.84,.44,1). */
.vt-motion .vt-categories .vt-section-head { opacity: 0; transform: translateY(15%); transition: none; animation: none; }
.vt-motion .vt-categories .vt-section-head.is-in { opacity: 1; transform: translateY(0); transition: opacity .8s ease-in-out, transform .8s ease-in-out; }
.vt-motion .vt-categories .vt-cat { opacity: 0; animation: none; }
.vt-motion .vt-categories .vt-cat.is-in { animation: vtFadeInImages .8s ease-in-out var(--vt-col-delay, 0ms) 1 normal both; }
.vt-categories .vt-cat__img { overflow: hidden; }
.vt-categories .vt-cat .vt-cat__img img { transition: transform .4s cubic-bezier(.165, .84, .44, 1) !important; transform: none; }
.vt-categories .vt-cat:hover .vt-cat__img img, .vt-categories .vt-cat:focus-visible .vt-cat__img img { transform: scale(1.1) !important; }
@media (hover: none) { .vt-categories .vt-cat:hover .vt-cat__img img { transform: none !important; } }
@media (prefers-reduced-motion: reduce) {
  .vt-motion .vt-categories .vt-section-head, .vt-motion .vt-categories .vt-cat { opacity: 1 !important; transform: none !important; animation: none !important; transition: none !important; }
}

/* ---------- Shree Yantra: aligned two-column layout, 10px rectangular image ---------- */
.vt-yantra__media { border-radius: 10px !important; }
.vt-yantra__media img { border-radius: 10px; }
@media (min-width: 1200px) {
  .vt-yantra__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; gap: clamp(40px, 3.9vw, 64px); }
  /* photo spans the full height of the text column, top aligned with the heading */
  .vt-yantra__media { aspect-ratio: auto; height: 100%; min-height: 460px; align-self: stretch; }
  .vt-yantra__media img { object-position: center 60%; }
  .vt-yantra__copy { padding: 0; display: flex; flex-direction: column; }
  .vt-yantra__head { padding-top: 0; }
  .vt-yantra__actions { margin-top: auto; padding-bottom: 0; }
}
.vt-yantra__intro { align-items: flex-start; }
.vt-yantra__badge { flex: 0 0 auto; min-width: 0; }
.vt-yantra__cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vt-review { min-width: 0; overflow-wrap: anywhere; }
.vt-yantra__btns { flex-wrap: wrap; }
@media (min-width: 768px) and (max-width: 1199px) { .vt-yantra__media { aspect-ratio: 3 / 2; } }
@media (max-width: 767px) { .vt-yantra__media { aspect-ratio: 4 / 3; } }
@media (max-width: 767px) {
  .vt-yantra__cards { display: grid; grid-template-columns: 1fr; gap: 12px; overflow: visible; margin: 0; padding: 0; }
  .vt-review { flex: none; }
}
@media (min-width: 576px) and (max-width: 767px) { .vt-yantra__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Remove decorative lines/underlines (client request) ---------- */
.vt-header, .vt-header.is-stuck, .vt-header.vt-hdr, .vt-header--overlay, html.vt-header-stuck .vt-header { box-shadow: none !important; }
.vt-yantra__rule { display: none !important; }
.vt-yantra__head { gap: 0; }
.vt-journal__line { display: none !important; }
.vt-home .vt-split .vt-link, .vt-home .vt-split .vt-link:hover, .vt-home .vt-split .vt-link:focus-visible { background-image: none !important; text-decoration: none !important; border-bottom: 0 !important; }
.vt-home .vt-split .vt-link { transition: color .3s ease; }
.vt-home .vt-split .vt-link:hover { color: var(--vt-bronze) !important; }

/* ---------- Brand icons (Instagram / YouTube / Facebook in their own colours) ---------- */
.vt-bicon { display: block; flex: none; }
.vt-bicon * { vector-effect: none !important; }
/* Footer: 28px brand icons, slow smooth hover lift */
.vt-ftr__social { display: flex; align-items: center; gap: 14px; }
.vt-footer .vt-ftr__soc {
  display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 8px;
  transform: translateY(0) scale(1); filter: none;
  transition: transform .6s cubic-bezier(.22, .61, .36, 1), filter .6s cubic-bezier(.22, .61, .36, 1), opacity .6s ease;
}
.vt-footer .vt-ftr__soc svg, .vt-ftr__social a:hover svg { width: 28px; height: 28px; transform: none !important; transition: none; }
.vt-footer .vt-ftr__soc:hover, .vt-footer .vt-ftr__soc:focus-visible {
  transform: translateY(-3px); filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .28));
}
.vt-footer .vt-ftr__soc.is-static { cursor: default; }
@media (prefers-reduced-motion: reduce) { .vt-footer .vt-ftr__soc { transition: none; } .vt-footer .vt-ftr__soc:hover { transform: none; } }
/* Instagram section: original icon in the eyebrow and the Follow button (same hover animation as before) */
.vt-journal__eyebrow .vt-bicon { width: 18px; height: 18px; }
.vt-journal__btn .vt-bicon { width: 20px; height: 20px; transition: transform .35s ease; }
.vt-journal__btn:hover .vt-bicon { transform: rotate(-8deg); }

/* Crisp brand icons: drawn at whole-pixel sizes, never pre-rasterised */
.vt-bicon { shape-rendering: geometricPrecision; image-rendering: auto; backface-visibility: visible; }
/* Brand icons always render square at their exact size (older footer svg rules stretched them) */
.vt-footer .vt-ftr .vt-ftr__social .vt-ftr__soc .vt-bicon { width: 28px !important; height: 28px !important; max-width: none; }
.vt-home .vt-journal__eyebrow .vt-bicon { width: 18px !important; height: 18px !important; }
.vt-home .vt-journal__btn .vt-bicon { width: 20px !important; height: 20px !important; }
/* Slow, smooth hover wins over the older footer link transition */
.vt-footer .vt-ftr .vt-ftr__social .vt-ftr__soc {
  transition: transform .6s cubic-bezier(.22, .61, .36, 1), filter .6s cubic-bezier(.22, .61, .36, 1) !important;
}
.vt-footer .vt-ftr .vt-ftr__social .vt-ftr__soc:hover, .vt-footer .vt-ftr .vt-ftr__social .vt-ftr__soc:focus-visible {
  transform: translateY(-3px); filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .28));
}

/* ---------- Floating "Call us" button — bottom-left, same look and hover as the WhatsApp button ---------- */
.vt-call {
  position: fixed; left: 24px; bottom: 24px; z-index: 90;
  display: flex; align-items: center; height: 52px; padding: 0; overflow: hidden; text-decoration: none;
  border-radius: 999px; background: #1c75bc; color: #fff;
  box-shadow: 0 1px 2px rgba(15, 40, 70, .18), 0 8px 22px rgba(15, 40, 70, .20);
  transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease;
}
.vt-call__icon { flex: none; display: grid; place-items: center; width: 52px; height: 52px; }
.vt-call__icon svg { width: 24px; height: 24px; }
.vt-call__label {
  max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0;
  font-family: var(--vt-sans); font-size: 14px !important; font-weight: 600; letter-spacing: .2px;
  transition: max-width .35s ease, opacity .25s ease, padding .35s ease;
}
.vt-call:hover, .vt-call:focus-visible { color: #fff; background: #1765a3; transform: translateY(-2px); box-shadow: 0 2px 4px rgba(15, 40, 70, .18), 0 12px 28px rgba(15, 40, 70, .24); }
@media (hover: hover) and (min-width: 768px) {
  .vt-call:hover .vt-call__label, .vt-call:focus-visible .vt-call__label { max-width: 120px; opacity: 1; padding-right: 20px; }
}
.vt-call:focus-visible { outline: 3px solid rgba(28, 117, 188, .35); outline-offset: 3px; }
@media (max-width: 767px) { .vt-call { left: 16px; bottom: 16px; height: 50px; } .vt-call__icon { width: 50px; height: 50px; } }
body:has(.pdp-sticky.is-visible) .vt-call { bottom: 104px; }
body.pdp-viewer-open .vt-call, body.pp-minicart-open .vt-call { display: none; }
@media (max-width: 767px) { body:has(.pdp-sticky.is-visible) .vt-call { bottom: 92px; } }
@media (prefers-reduced-motion: reduce) { .vt-call, .vt-call__label { transition: none; } }
.vt-call { width: auto; }
@media (max-width: 767px) { .vt-call { width: auto; height: 50px; } }

/* ---------- Footer colour (client reference): #0c3f33 ---------- */
.vt-footer .vt-ftr, .vt-footer .vt-ftr .vt-ftr__bar { background: #0c3f33; }
.vt-footer .vt-ftr__field button { background: #0c3f33; }
.vt-footer .vt-ftr__field button:hover, .vt-footer .vt-ftr__field button:focus-visible { background: #145f4d; }

/* Footer bottom bar: keep its text clear of the floating Call (left) and WhatsApp (right) buttons */
@media (min-width: 768px) {
  .vt-footer .vt-ftr .vt-ftr__bar { padding-left: calc(24px + 52px + 20px); padding-right: calc(24px + 52px + 20px); }
}

/* Footer contact lines with location / phone / email icons */
.vt-footer .vt-ftr__address { gap: 10px; }
.vt-footer .vt-ftr__contact { display: flex; align-items: flex-start; gap: 10px; }
.vt-ftr__cicon { flex: none; width: 18px; height: 18px; margin-top: 2px; color: var(--ftr-accent, #8dc63f); }
.vt-footer a.vt-ftr__contact:hover .vt-ftr__cicon { color: #fff; }
/* Bottom bar text sits on the same centre line as the floating Call / WhatsApp buttons
   (buttons: 52px tall, 24px from the screen bottom → centre 50px up; bar is the last 100px of the page) */
@media (min-width: 768px) {
  .vt-footer .vt-ftr .vt-ftr__bar { min-height: 100px; padding-top: 0; padding-bottom: 0; align-items: center; }
}
/* Footer contact icons: 20px */
.vt-footer .vt-ftr__contact .vt-ftr__cicon { width: 20px !important; height: 20px !important; margin-top: 1px; }

/* ==========================================================================
   One icon size across the website: 30px
   ========================================================================== */
/* Header (account, wishlist, search, cart) */
.vt-hdr .vt-hdr__icon svg, .vt-header.vt-hdr .vt-hdr__icon .site-account-avatar { width: 30px !important; height: 30px !important; min-width: 30px; }
/* Footer: contact icons + social icons */
.vt-footer .vt-ftr__contact .vt-ftr__cicon { width: 30px !important; height: 30px !important; margin-top: -4px; }
.vt-footer .vt-ftr__contact { gap: 12px; align-items: flex-start; }
.vt-footer .vt-ftr .vt-ftr__social .vt-ftr__soc { width: 34px; height: 34px; }
.vt-footer .vt-ftr .vt-ftr__social .vt-ftr__soc .vt-bicon { width: 30px !important; height: 30px !important; }
/* Instagram section */
.vt-home .vt-journal__eyebrow .vt-bicon, .vt-home .vt-journal__btn .vt-bicon { width: 30px !important; height: 30px !important; }
.vt-home .vt-journal__eyebrow { gap: 12px; }
.vt-journal__more svg { width: 30px; height: 30px; }
.vt-insta__play svg { width: 30px; height: 30px; }
/* Shree Yantra: button arrows + Google icons */
.vt-yantra__btn svg { width: 30px; height: 30px; }
.vt-yantra__score img { width: 30px !important; height: 30px !important; }
.vt-review__g { width: 30px !important; height: 30px !important; }
/* Floating Call / WhatsApp */
.vt-call__icon svg, .vt-wa__icon svg { width: 30px !important; height: 30px !important; }
/* Wishlist hearts on product tiles and product page */
.vt-tile__wish .vt-icon, .product-design__wish .vt-icon { width: 30px !important; height: 30px !important; }
/* Drawer / search close buttons and the search field icon */
.site-drawer-close svg { width: 30px !important; height: 30px !important; }
.search-close-icon i, .search-close-icon .fa-sharp { font-size: 30px !important; line-height: 1; }
.s-icon .js-search-icon, .js-search-icon { width: 30px !important; height: 30px !important; }

/* ---------- Shop by Category: both rows always fit the screen on desktop ----------
   Tile photos keep the full column width; their height is capped so 2 rows + names + gap fit below
   the header (short laptop windows crop the photos slightly; large screens stay square). */
@media (min-width: 992px) {
  .vt-categories .vt-cat__img {
    aspect-ratio: auto;
    height: max(150px, min(calc((100vw - 2 * var(--vt-gutter) - 48px) / 4), calc((100svh - var(--vt-hdr-h, 76px) - 24px - 2 * 55px - 16px) / 2)));
  }
  .vt-categories .vt-cat__img img { height: 100%; object-fit: cover; }
}

/* ---------- Floating Call / WhatsApp: held back on a homepage refresh until the category tiles finish,
   then each one assembles from scattered shards (see vastu.js) ---------- */
html.vt-fab-hold .vt-call:not(.vt-shards *), html.vt-fab-hold .vt-wa:not(.vt-shards *) { opacity: 0 !important; pointer-events: none; transition: none !important; }
.vt-shards { position: fixed; z-index: 91; pointer-events: none; }
.vt-shards > * { position: absolute !important; inset: 0 !important; left: 0 !important; right: auto !important; bottom: auto !important; top: 0 !important; margin: 0 !important; transform-origin: 50% 50%; box-shadow: none !important; }
/* Smooth hand-over from the assembled shards to the real Call / WhatsApp buttons */
html.vt-fab-reveal .vt-call:not(.vt-shards *), html.vt-fab-reveal .vt-wa:not(.vt-shards *) { animation: vtFabIn .7s ease both; }
@keyframes vtFabIn { from { opacity: 0; box-shadow: none; } to { opacity: 1; } }
.vt-shards > * { backface-visibility: hidden; }
@media (max-width: 359px) { .vt-hdr .vt-hdr__logo img { height: 25px; } .vt-hdr .vt-hdr__icon { width: 32px; } .vt-hdr .vt-hdr__icon svg { width: 24px !important; height: 24px !important; } }
/* Small phones: keep the centred logo clear of the search / cart buttons */
@media (max-width: 420px) { .vt-hdr .vt-hdr__icon { width: 30px; } .vt-hdr .vt-hdr__logo img { height: 28px; } }
@media (max-width: 359px) { .vt-hdr .vt-hdr__logo img { height: 24px; } .vt-hdr .vt-lang__btn { padding: 0 5px; gap: 3px; } }

/* ---------- Category pages: "You may also like" category slider — same look as "Sacred Energy, Refined" ---------- */
.vt-plp__related .vt-products { background: #f0ede4; padding-bottom: 56px; }
.vt-plp__related .vt-products .vt-h3 { text-align: center; }
.vt-plp__related .vt-carousel .vt-card { background: #fff; transition: box-shadow .45s ease, transform .45s cubic-bezier(.22, .61, .36, 1); }
.vt-plp__related .vt-carousel .vt-card:hover { transform: translateY(-4px); box-shadow: 0 16px 30px -18px rgba(49, 27, 11, .35); }
.vt-plp__related .vt-carousel .vt-card__meta { font-family: var(--vt-sans); font-size: 16px; line-height: 18px; letter-spacing: .4px; color: #000; text-align: center; }
.vt-plp__related .vt-carousel .vt-card__meta > .d-block:last-child { font-weight: 600; letter-spacing: 0; margin-top: 8px; }
.vt-plp__related .vt-card__sub:empty { display: none; }
@media (min-width: 1200px) {
  .vt-plp__related .vt-products .vt-carousel__slide { flex: 0 0 302px; padding: 0 32px 0 0; }
  .vt-plp__related .vt-products .vt-card { height: 344px; }
  .vt-plp__related .vt-products .vt-card__img { padding: 36px 0 28px; }
}
/* "You may also like" cards: category name stands out, "Explore" quieter */
.vt-plp__related .vt-carousel .vt-card__meta > [data-vt-orig] { font-size: 18px !important; font-weight: 700; line-height: 24px; color: #311b0b; }
.vt-plp__related .vt-carousel .vt-card__meta > .d-block:last-child { font-size: 16px !important; font-weight: 500; color: #6d5a4c; }

/* ==========================================================================
   Contact Us page
   ========================================================================== */
.vt-contact { background: #fff; color: #2b2420; }
/* 1. Heading */
.vt-contact__hero { text-align: center; padding: clamp(40px, 5vw, 72px) var(--vt-gutter) clamp(32px, 4vw, 52px); background: #f0eee4; }
.vt-contact__crumbs { display: flex; justify-content: center; gap: 10px; margin-bottom: 18px; font-size: 16px; color: #7a6f66; }
.vt-contact__crumbs a { color: #7a6f66; text-decoration: none; transition: color .3s ease; }
.vt-contact__crumbs a:hover { color: #311b0b; }
.vt-home .vt-contact__kicker { margin: 0 0 10px; font: 600 16px/1.3 var(--vt-sans); letter-spacing: 2px; text-transform: uppercase; color: #806559; }
.vt-home .vt-contact__title { margin: 0; color: #1f2a24; }
.vt-home .vt-contact__intro { max-width: 640px; margin: 14px auto 0; color: #4a524c; }

/* 2. Contact cards */
.vt-contact__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 0 var(--vt-gutter) clamp(40px, 5vw, 64px); background: linear-gradient(#f0eee4 0 50%, #fff 50% 100%); }
.vt-contact__card {
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 32px 28px; border-radius: 10px;
  background: #fff; border: 1px solid #eadbcc; box-shadow: 0 10px 30px -18px rgba(49, 27, 11, .25);
  transition: transform .45s cubic-bezier(.22, .61, .36, 1), box-shadow .45s ease, border-color .45s ease;
}
.vt-contact__card:hover { transform: translateY(-4px); border-color: #d5c2a5; box-shadow: 0 22px 40px -22px rgba(49, 27, 11, .4); }
.vt-contact__icon { display: inline-grid; place-items: center; width: 60px; height: 60px; margin-bottom: 6px; border-radius: 50%; background: #0c3f33; color: #fff; transition: transform .45s ease, background-color .45s ease; }
.vt-contact__icon svg { width: 30px; height: 30px; }
.vt-contact__card:hover .vt-contact__icon { background: #145f4d; transform: rotate(-6deg); }
body .vt-contact__label { margin: 0; font-family: var(--vt-sans) !important; font-weight: 700 !important; font-size: 18px; line-height: 1.3; letter-spacing: .2px; text-transform: none; color: #311b0b; }
.vt-home .vt-contact__text { margin: 0; font-style: normal; color: #4a524c; line-height: 1.6; }
.vt-contact__text a { color: #311b0b; text-decoration: none; font-weight: 600; transition: color .3s ease; }
.vt-contact__text a:hover { color: #145f4d; }
.vt-contact__actions { display: flex; flex-wrap: wrap; gap: 6px 22px; margin-top: auto; }
.vt-contact__card > .vt-contact__action { margin-top: auto; }
.vt-home .vt-contact__action { display: inline-flex; align-items: center; gap: 6px; padding-top: 6px; font: 600 16px/1.3 var(--vt-sans); color: #0c3f33; text-decoration: none; }
.vt-contact__action span { transition: transform .3s ease; }
.vt-contact__action:hover span { transform: translateX(4px); }
.vt-home .vt-contact__action--wa { color: #1ebe5b; }

/* 3. Form + map */
.vt-contact__main { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 32px; align-items: stretch; padding: 0 var(--vt-gutter) clamp(48px, 6vw, 88px); }
.vt-contact__formcard { padding: clamp(24px, 3vw, 40px); border-radius: 10px; background: #fffdf9; border: 1px solid #eadbcc; }
.vt-home .vt-contact__formtitle { margin: 0; font-size: clamp(28px, 1.4vw + 18px, 36px) !important; line-height: 1.15 !important; color: #1f2a24; }
.vt-home .vt-contact__formintro { margin: 10px 0 0; color: #4a524c; }
.vt-contact__points { list-style: none; margin: 16px 0 24px; padding: 0; display: grid; gap: 8px; }
.vt-home .vt-contact__points li { position: relative; padding-left: 28px; color: #4a524c; }
.vt-contact__points li::before { content: ""; position: absolute; left: 0; top: .2em; width: 18px; height: 18px; border-radius: 50%; background: #8dc63f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.vt-contact__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.vt-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.vt-field--full { grid-column: 1 / -1; }
.vt-home .vt-field label { font: 600 16px/1.3 var(--vt-sans); color: #311b0b; }
.vt-field label span { color: #b3261e; }
.vt-field input, .vt-field select, .vt-field textarea {
  width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #d9cfc0; border-radius: 8px; background: #fff;
  font: 400 16px/1.4 var(--vt-sans); color: #2b2420; outline: 0; transition: border-color .25s ease, box-shadow .25s ease;
}
.vt-field textarea { min-height: 140px; resize: vertical; }
.vt-field select { appearance: none; padding-right: 40px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23311b0b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center / 18px no-repeat; }
.vt-field input::placeholder, .vt-field textarea::placeholder { color: #9a8f84; }
.vt-field input:focus, .vt-field select:focus, .vt-field textarea:focus { border-color: #0c3f33; box-shadow: 0 0 0 3px rgba(12, 63, 51, .15); }
.vt-field .is-invalid { border-color: #b3261e; }
.vt-home .vt-field__err { margin: 0; min-height: 0; font-size: 14px !important; line-height: 1.3; color: #b3261e; }
.vt-field__err:empty { display: none; }
.vt-home .vt-contact__formerr { margin: 14px 0 0; padding: 10px 14px; border-radius: 8px; background: #fbeceb; color: #8c1d18; }
.vt-contact__submit {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px; margin-top: 20px; min-height: 54px; padding: 0 30px; border: 0; border-radius: 10px; cursor: pointer;
  background: linear-gradient(103.94deg, #0c3f33 32%, #2b8b73 100%) 0 0 / 150% 100%; color: #fff; font: 600 16px/1 var(--vt-sans); letter-spacing: .6px; text-transform: uppercase;
  transition: background-position .6s ease, transform .35s ease, box-shadow .35s ease, opacity .3s ease;
}
.vt-contact__submit svg { width: 30px; height: 30px; transition: transform .35s ease; }
.vt-contact__submit:hover { background-position: 100% 0; transform: translateY(-2px); box-shadow: 0 14px 26px -12px rgba(12, 63, 51, .6); }
.vt-contact__submit:hover svg { transform: translateX(4px); }
.vt-contact__submit:disabled { opacity: .7; cursor: wait; transform: none; }
.vt-contact__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vt-contact__done { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 24px; border-radius: 10px; background: #eef6e6; border: 1px solid #cfe6b5; }
.vt-contact__done[hidden] { display: none; }
.vt-contact__doneicon { display: inline-grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: #8dc63f; color: #fff; }
.vt-home .vt-contact__done p { margin: 0; color: #1f2a24; font-weight: 600; }
.vt-contact__again { padding: 0; border: 0; background: none; font: 600 16px var(--vt-sans); color: #0c3f33; text-decoration: underline; cursor: pointer; }
.vt-contact__map { position: relative; min-height: 520px; border-radius: 10px; overflow: hidden; border: 1px solid #eadbcc; background: #e9e4da; }
.vt-contact__map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vt-home .vt-contact__mapbtn {
  position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px 10px 12px; border-radius: 999px;
  background: #fff; color: #0c3f33; font: 600 16px/1 var(--vt-sans); text-decoration: none; box-shadow: 0 8px 22px -10px rgba(0, 0, 0, .35);
  transition: transform .35s ease, box-shadow .35s ease;
}
.vt-contact__mapbtn svg { width: 30px; height: 30px; }
.vt-contact__mapbtn:hover { transform: translateY(-2px); box-shadow: 0 14px 26px -12px rgba(0, 0, 0, .45); }

@media (max-width: 1199px) {
  .vt-contact__main { grid-template-columns: 1fr; }
  .vt-contact__map { min-height: 420px; }
}
@media (max-width: 991px) {
  .vt-contact__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vt-contact__card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .vt-contact__cards { grid-template-columns: 1fr; gap: 16px; background: linear-gradient(#f0eee4 0 120px, #fff 120px 100%); }
  .vt-contact__card { padding: 24px 20px; }
  .vt-contact__card:last-child { grid-column: auto; }
  .vt-contact__grid { grid-template-columns: 1fr; }
  .vt-contact__submit { width: 100%; }
  .vt-contact__map { min-height: 340px; }
}
@media (prefers-reduced-motion: reduce) { .vt-contact__card, .vt-contact__submit, .vt-contact__mapbtn { transition: none; } }
body .vt-contact .vt-contact__card .vt-contact__label { font-family: var(--vt-sans) !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: .2px; }

/* ---------- Header dropdowns (Products / Services): 16px text ---------- */
.vt-header .vt-mega li a, .vt-header .vt-mega__col a { font-size: 16px; line-height: 22px; }
.vt-header .vt-mega__title { font-size: 16px; line-height: 22px; }
.vt-header .vt-mega__name { font-size: 16px; line-height: 22px; }
.vt-header .vt-mega__price { font-size: 16px; line-height: 22px; }
.vt-header .vt-mega__teaser p, .vt-header .vt-mega__teaser span, .vt-header .vt-mega__teaser a { font-size: 16px; }

/* ---------- Contact Us: compact, balanced layout ---------- */
.vt-contact__hero { padding: clamp(32px, 3.5vw, 48px) var(--vt-gutter) clamp(28px, 3vw, 40px); }
.vt-contact__crumbs { margin-bottom: 12px; }
.vt-home .vt-contact__kicker { margin-bottom: 6px; font-size: 14px; }
.vt-home .vt-contact__intro { margin-top: 10px; }
.vt-contact__cards, .vt-contact__main { padding-left: max(var(--vt-gutter), calc((100% - 1200px) / 2)); padding-right: max(var(--vt-gutter), calc((100% - 1200px) / 2)); }
.vt-contact__cards { gap: 20px; padding-bottom: clamp(32px, 3.5vw, 48px); }
.vt-contact__card { display: grid; grid-template-columns: 44px minmax(0, 1fr); grid-auto-rows: auto; align-content: start; column-gap: 16px; row-gap: 6px; padding: 22px; }
.vt-contact__card > * { grid-column: 2; }
.vt-contact__card > .vt-contact__icon { grid-column: 1; grid-row: 1 / span 4; align-self: start; }
.vt-contact__card > .vt-contact__label { grid-row: 1; align-self: center; min-height: 44px; display: flex; align-items: center; }
.vt-contact__card > .vt-contact__action, .vt-contact__card > .vt-contact__actions { margin-top: 4px; justify-self: start; }
.vt-contact__icon { width: 44px; height: 44px; margin: 0; }
.vt-contact__icon svg { width: 22px; height: 22px; }
.vt-contact__main { gap: 24px; padding-bottom: clamp(40px, 4.5vw, 64px); }
.vt-contact__formcard { padding: clamp(22px, 2.2vw, 30px); }
.vt-home .vt-contact__formtitle { font-size: clamp(24px, 1vw + 16px, 30px) !important; }
.vt-home .vt-contact__formintro { margin-top: 6px; }
.vt-contact__points { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 12px 0 18px; }
.vt-home .vt-contact__points li { padding-left: 24px; font-size: 14px; }
.vt-contact__points li::before { width: 16px; height: 16px; top: .15em; background-size: 10px; }
.vt-contact__grid { gap: 12px 14px; }
.vt-field { gap: 5px; }
body .vt-contact .vt-field label { font: 600 14px/1.3 var(--vt-sans) !important; text-transform: none !important; letter-spacing: .2px !important; }
.vt-field input, .vt-field select, .vt-field textarea { min-height: 44px; padding: 10px 12px; }
.vt-field textarea { min-height: 96px; height: 96px; }
.vt-contact__submit { margin-top: 16px; min-height: 48px; padding: 0 26px; }
.vt-contact__submit svg { width: 22px; height: 22px; }
.vt-contact__map { min-height: 420px; }
.vt-home .vt-contact__mapbtn { padding: 8px 16px 8px 10px; font-size: 15px; }
.vt-contact__mapbtn svg { width: 22px; height: 22px; }
@media (min-width: 1200px) { .vt-contact__main { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
@media (max-width: 1199px) { .vt-contact__map { min-height: 380px; } }
@media (max-width: 767px) {
  .vt-contact__card { padding: 18px 16px; }
  .vt-contact__map { min-height: 300px; }
  .vt-contact__points { display: grid; }
}
/* Contact form heading: 48px like the other section headings (scales down on small screens) */
body .vt-contact .vt-contact__formtitle { font-size: clamp(30px, 2.2vw + 17px, 48px) !important; line-height: 1.1 !important; }
/* Contact cards: 30px icons in a 56px circle */
.vt-contact__card { grid-template-columns: 56px minmax(0, 1fr); }
.vt-contact__icon { width: 56px; height: 56px; }
.vt-contact__icon svg { width: 30px; height: 30px; }
.vt-contact__card > .vt-contact__label { min-height: 56px; }
/* Footer contact lines: icons sit in one 30px column, centred on the first line of text */
.vt-footer .vt-ftr__contact { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 10px; align-items: start; line-height: 26px; }
.vt-footer .vt-ftr__contact .vt-ftr__cicon { margin-top: -2px !important; }
.vt-footer .vt-ftr__contact + .vt-ftr__contact { margin-top: 14px; }
/* Contact cards: centred layout, links aligned along the bottom of every card */
.vt-contact__card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 0; padding: 28px 26px 26px; }
.vt-contact__card > * { grid-column: auto; }
.vt-contact__card > .vt-contact__icon { margin: 0 0 14px; }
.vt-contact__card > .vt-contact__label { min-height: 0; display: block; margin: 0 0 8px; }
.vt-home .vt-contact__card .vt-contact__text { max-width: 320px; margin: 0 auto; }
.vt-contact__card > .vt-contact__action, .vt-contact__card > .vt-contact__actions { margin-top: auto; padding-top: 16px; justify-self: auto; justify-content: center; }
.vt-contact__card > .vt-contact__actions .vt-contact__action { padding-top: 0; }
@media (max-width: 767px) { .vt-contact__card { padding: 24px 18px 22px; } }
.vt-contact__card > .vt-contact__icon { align-self: center; }
/* Contact form: tighter label/field spacing; map always matches the form height */
body .vt-contact .vt-field { gap: 6px; margin: 0; }
body .vt-contact .vt-field label { margin: 0 !important; }
body .vt-contact .vt-contact__grid { row-gap: 14px; }
.vt-home .vt-contact__formintro { margin: 8px 0 22px; }
.vt-contact__main { align-items: stretch; }
@media (min-width: 1200px) { .vt-contact__map { min-height: 0; height: auto; } }

/* ---------- Gallery: header dropdown (one row of categories) + page tabs ---------- */
.vt-header .vt-mega__row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 44px; margin: 0; padding: 22px var(--vt-gutter) 24px; list-style: none; }
.vt-header .vt-mega--row .vt-mega__row li a {
  position: relative; display: inline-block; padding: 6px 0; color: var(--vt-ink);
  font: 600 16px/22px var(--vt-sans); letter-spacing: 1px; text-transform: uppercase; text-decoration: none; white-space: nowrap;
}
.vt-header .vt-mega--row .vt-mega__row li a::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor;
  transform: scaleX(0); transform-origin: left; transition: transform .35s ease;
}
.vt-header .vt-mega--row .vt-mega__row li a:hover, .vt-header .vt-mega--row .vt-mega__row li a[aria-current] { color: #0c3f33; text-decoration: none; }
.vt-header .vt-mega--row .vt-mega__row li a:hover::after, .vt-header .vt-mega--row .vt-mega__row li a[aria-current]::after { transform: scaleX(1); }

.vt-gallery__head { padding-bottom: clamp(20px, 2.5vw, 32px); }
.vt-gallery__tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 22px; }
.vt-home a.vt-gallery__tab {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; border: 1px solid #d9cfc0; border-radius: 999px;
  background: #fff; color: #311b0b; font: 600 16px/1 var(--vt-sans); text-decoration: none;
  transition: background-color .35s ease, color .35s ease, border-color .35s ease;
}
.vt-home a.vt-gallery__tab:hover { border-color: #0c3f33; color: #0c3f33; }
.vt-home a.vt-gallery__tab.is-active { background: #0c3f33; border-color: #0c3f33; color: #fff; }
@media (max-width: 575px) {
  .vt-gallery__tabs { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin: 18px calc(var(--vt-gutter) * -1) 0; padding: 0 var(--vt-gutter) 4px; scrollbar-width: none; }
  .vt-gallery__tabs::-webkit-scrollbar { display: none; }
  .vt-home a.vt-gallery__tab { flex: none; min-height: 40px; padding: 0 16px; }
}
/* Gallery cards: title + detail line */
.vt-gallery__grid { row-gap: 32px; }
.vt-gallery__open { border-radius: 10px; }
.vt-gallery__text { margin-top: 12px; }
.vt-home .vt-gallery__caption { margin: 0; font: 700 18px/1.35 var(--vt-sans); color: #311b0b; }
.vt-home .vt-gallery__detail { margin: 4px 0 0; font: 500 16px/1.45 var(--vt-sans); color: #6d5a4c; }
/* Footer credit: "| Develop by Nivtech" */
.vt-footer .vt-ftr__sep { margin: 0 6px; opacity: .5; }
.vt-footer a.vt-ftr__credit { color: inherit; text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: color .4s ease, background-size .4s ease; }
.vt-footer a.vt-ftr__credit:hover { color: var(--ftr-accent, #8dc63f); background-size: 100% 1px; }
/* Footer bottom bar: copyright + credit on the left, legal links on the right (wraps on smaller screens) */
@media (min-width: 768px) {
  .vt-footer .vt-ftr .vt-ftr__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 32px; }
  .vt-footer .vt-ftr .vt-ftr__bar .vt-ftr__copy { white-space: nowrap; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .vt-footer .vt-ftr .vt-ftr__bar { justify-content: center; text-align: center; padding-top: 18px; padding-bottom: 18px; }
}
/* Copyright + "Develop by Nivtech" always on one line (text scales down a little on phones) */
.vt-footer .vt-ftr .vt-ftr__bar .vt-ftr__copy { white-space: nowrap; }
@media (max-width: 767px) {
  .vt-footer .vt-ftr .vt-ftr__bar p.vt-ftr__copy { font-size: min(16px, 3.15vw) !important; letter-spacing: 0; }
  .vt-footer .vt-ftr__sep { margin: 0 4px; }
}
/* Footer bottom bar never sits under the Call / WhatsApp buttons, even when they open into "Call us" / "Chat with us" pills */
@media (min-width: 1200px) {
  .vt-footer .vt-ftr .vt-ftr__bar { padding-left: 220px; padding-right: 220px; justify-content: center; text-align: center; gap: 8px 32px; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .vt-footer .vt-ftr .vt-ftr__bar { min-height: 0; padding: 20px var(--vt-gutter) 100px; justify-content: center; text-align: center; }
}

/* ---------- Home: gallery photo strip above the consultation banner (photos only, endless glide) ---------- */
.vt-home .vt-photostrip { padding: clamp(40px, 5vw, 72px) 0; background: #f0eee4; }
.vt-home .vt-photostrip .vt-carousel { padding: 0 var(--vt-gutter); }
.vt-home .vt-photostrip .vt-carousel__track { padding: 6px 0 22px; }
.vt-home .vt-photostrip .vt-carousel__slide { flex: 0 0 20%; padding: 0 10px 0 2px; }
.vt-home .vt-photostrip .vt-card--photo { height: auto; padding: 12px; border-radius: 10px; background: #fff; justify-content: flex-start; }
.vt-home .vt-photostrip .vt-card--photo .vt-card__img { margin: 0; padding: 0; align-self: stretch; aspect-ratio: 1 / 1; border-radius: 6px; overflow: hidden; background: #f6f3ee; }
.vt-home .vt-photostrip .vt-card--photo .vt-card__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1199px) { .vt-home .vt-photostrip .vt-carousel__slide { flex-basis: 25%; } }
@media (max-width: 991px) { .vt-home .vt-photostrip .vt-carousel__slide { flex-basis: 33.333%; } }
@media (max-width: 767px) { .vt-home .vt-photostrip .vt-carousel__slide { flex-basis: 50%; } .vt-home .vt-photostrip .vt-card--photo { padding: 8px; } }
.vt-home .vt-photostrip { border-bottom: 1px solid rgba(49, 27, 11, .1); }
/* Gallery: "See more" button + photos always fill their square frame */
.vt-gallery__item[hidden] { display: none !important; }
.vt-gallery__open img { object-position: center 30%; }
.vt-gallery__more { display: flex; justify-content: center; padding: 0 var(--vt-gutter) var(--vt-s6); margin-top: -12px; }
.vt-gallery__morebtn {
  display: inline-flex; align-items: center; gap: 6px; min-height: 48px; padding: 0 30px; border: 1px solid #0c3f33; border-radius: 999px;
  background: #fff; color: #0c3f33; font: 600 16px/1 var(--vt-sans); cursor: pointer; transition: background-color .35s ease, color .35s ease;
}
.vt-gallery__morebtn:hover, .vt-gallery__morebtn:focus-visible { background: #0c3f33; color: #fff; }
.vt-gallery__morebtn span { font-weight: 500; opacity: .75; }
/* Footer bar: clear gap between the copyright/credit and the legal links (two separate groups) */
@media (min-width: 1200px) { .vt-footer .vt-ftr .vt-ftr__bar { column-gap: 64px; } }
@media (min-width: 768px) and (max-width: 1199px) { .vt-footer .vt-ftr .vt-ftr__bar { row-gap: 12px; } }

/* ---------- Services page ---------- */
.vt-services { background: #fff; }
.vt-services__jump { margin-top: 24px; }
.vt-services__group { padding: clamp(40px, 5vw, 64px) var(--vt-gutter) 0; scroll-margin-top: 90px; }
.vt-services__group:last-child { padding-bottom: clamp(48px, 6vw, 88px); }
.vt-services__head { max-width: 1200px; margin: 0 auto 24px; }
.vt-home .vt-services__title { margin: 0; color: #1f2a24; }
.vt-home .vt-services__intro { margin: 8px 0 0; color: #4a524c; }
.vt-services__grid { list-style: none; margin: 0 auto; padding: 0; max-width: 1200px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.vt-home a.vt-service {
  display: flex; flex-direction: column; height: 100%; border: 1px solid #eadbcc; border-radius: 10px; background: #fff; color: inherit; text-decoration: none; overflow: hidden;
  transition: transform .45s cubic-bezier(.22, .61, .36, 1), box-shadow .45s ease, border-color .45s ease;
}
.vt-home a.vt-service:hover { transform: translateY(-4px); border-color: #d5c2a5; box-shadow: 0 16px 30px -18px rgba(49, 27, 11, .35); }
.vt-service__img { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #f6f3ee; }
.vt-service__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.22, .61, .36, 1); }
.vt-service:hover .vt-service__img img { transform: scale(1.05); }
.vt-service__body { flex: 1; display: flex; flex-direction: column; gap: 8px; padding: 18px 18px 20px; }
.vt-home .vt-service__name { font: 700 18px/1.3 var(--vt-sans); color: #311b0b; }
.vt-home .vt-service__text { font: 400 16px/1.5 var(--vt-sans); color: #6d5a4c; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.vt-service__foot { margin-top: auto; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.vt-home .vt-service__price { font: 700 16px/1.3 var(--vt-sans); color: #0c3f33; }
.vt-home .vt-service__cta { font: 600 16px/1.3 var(--vt-sans); color: #0c3f33; }
.vt-service__cta span { display: inline-block; transition: transform .3s ease; }
.vt-service:hover .vt-service__cta span { transform: translateX(4px); }
@media (max-width: 1199px) { .vt-services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 991px) { .vt-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }
@media (max-width: 575px) { .vt-services__grid { grid-template-columns: 1fr; } }
.vt-service__foot { flex-wrap: nowrap; gap: 8px; }
.vt-home .vt-service__price, .vt-home .vt-service__cta { white-space: nowrap; }
@media (min-width: 992px) and (max-width: 1280px) { .vt-home .vt-service__price, .vt-home .vt-service__cta { font-size: 15px; } }
@media (min-width: 1200px) and (max-width: 1299px) { .vt-services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* "Our Clients" heading on the home photo strip */
.vt-home .vt-photostrip { padding-top: clamp(40px, 4vw, 56px); }
.vt-home .vt-photostrip .vt-h3 { margin: 0 0 28px; text-align: center; }
/* Services page: group headings 48px like the other section headings (scale down on small screens) */
body .vt-services .vt-services__title { font-size: clamp(24px, 2.6vw + 11px, 48px) !important; line-height: 1.1 !important; }

/* ---------- Hero: designed banners (headline & button are part of the picture) ---------- */
.vt-hero--below-header { height: calc(100svh - var(--vt-hdr-h, 76px)); min-height: 0; max-height: none; }
@supports not (height: 100svh) { .vt-hero--below-header { height: calc(100vh - var(--vt-hdr-h, 76px)); } }
.vt-hero__slide--designed { background: #f3eee6; }
.vt-hero__slide--designed .vt-hero__ambient {
  position: absolute; inset: -40px; background: var(--amb-d) center / cover no-repeat; filter: blur(28px) saturate(1.05); opacity: .85; transform: scale(1.06);
}
.vt-hero__designed { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.vt-hero__designed picture { display: contents; }
.vt-hero__designed img { width: 100%; height: 100%; object-fit: contain; display: block; user-select: none; -webkit-user-drag: none; }
@media (max-width: 767px) {
  .vt-hero__slide--designed .vt-hero__ambient { background-image: var(--amb-m, var(--amb-d)); }
}
/* Hero video slides: video fills the slide; the optional link covers it */
.vt-hero__slide--video { background: #0e0a09; }
.vt-hero__slide--video .vt-hero__designed { z-index: 2; }

/* Hero = the picture's own shape: desktop image ratio on desktop, mobile image ratio on phones.
   Pictures fill edge to edge (no blurred bands); a slide of a different shape is covered, not boxed. */
.vt-hero.vt-hero--below-header { height: auto; min-height: 0; max-height: none; aspect-ratio: var(--hero-ar-d, 16 / 9); }
@media (max-width: 767px) { .vt-hero.vt-hero--below-header { aspect-ratio: var(--hero-ar-m, var(--hero-ar-d, 16 / 9)); } }
.vt-hero--below-header .vt-hero__designed img { object-fit: cover; }
.vt-hero--below-header .vt-hero__slide--designed .vt-hero__ambient { display: none; }
/* Hero slides with website text & buttons: picture / video fills the slide, text on the shade */
.vt-hero__slide--text { background: #0e0a09; }
.vt-hero__slide--text img.vt-hero__media, .vt-hero__slide--text video.vt-hero__media { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
/* Picture slides whose shape differs from the hero: shown whole (never cut) over a soft fill of themselves */
.vt-hero--below-header .vt-hero__slide--designed .vt-hero__ambient { display: none; }
@media (min-width: 768px) {
  .vt-hero--below-header .vt-hero__slide--fit-d .vt-hero__ambient { display: block; }
  .vt-hero--below-header .vt-hero__slide--fit-d .vt-hero__designed img { object-fit: contain; }
}
@media (max-width: 767px) {
  .vt-hero--below-header .vt-hero__slide--fit-m .vt-hero__ambient { display: block; }
  .vt-hero--below-header .vt-hero__slide--fit-m .vt-hero__designed img { object-fit: contain; }
}
/* Mobile header logo: as large as the space between the menu and the right-hand icons allows */
@media (min-width: 421px) and (max-width: 575px) { .vt-hdr .vt-hdr__logo img { height: 38px; } }
@media (min-width: 390px) and (max-width: 420px) { .vt-hdr .vt-hdr__logo img { height: 40px; } }
@media (min-width: 375px) and (max-width: 389px) { .vt-hdr .vt-hdr__logo img { height: 36px; } }
@media (min-width: 360px) and (max-width: 374px) { .vt-hdr .vt-hdr__logo img { height: 32px; } }
/* Hero: no dark overlay or gradient over pictures / videos (white text keeps a soft shadow to stay readable) */
.vt-hero .vt-hero__shade, .vt-hero .vt-hero__shade::before { display: none !important; }
.vt-hero__slide--text .vt-hero__kicker, .vt-hero__slide--text .vt-hero__title { text-shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 2px 18px rgba(0, 0, 0, .35); }
/* Mobile header: tighter right-hand icons so the centred logo can match the logo size in the banners */
@media (max-width: 575px) {
  .vt-hdr .vt-hdr__icon { width: 26px; padding-left: 3px; padding-right: 3px; }
  .vt-hdr .vt-lang { padding-right: 2px; }
  .vt-hdr .vt-lang__btn { padding-left: 4px; padding-right: 4px; }
}
@media (min-width: 421px) and (max-width: 575px) { .vt-hdr .vt-hdr__logo img { height: 46px; } }
@media (min-width: 390px) and (max-width: 420px) { .vt-hdr .vt-hdr__logo img { height: 48px; } }
@media (min-width: 375px) and (max-width: 389px) { .vt-hdr .vt-hdr__logo img { height: 44px; } }
@media (min-width: 360px) and (max-width: 374px) { .vt-hdr .vt-hdr__logo img { height: 40px; } }
@media (min-width: 340px) and (max-width: 359px) { .vt-hdr .vt-hdr__logo img { height: 34px; } }
@media (min-width: 405px) and (max-width: 575px) { .vt-hdr .vt-hdr__logo img { height: 50px; } }
/* Mobile header: logo on the left beside the menu icon; right-hand icons keep their normal spacing */
@media (max-width: 991px) {
  .vt-hdr .vt-hdr__logo { left: 64px; right: auto; margin: auto 0; }
}
@media (max-width: 575px) {
  .vt-hdr .vt-hdr__icon { width: 30px; padding-left: 5px; padding-right: 5px; }
  .vt-hdr .vt-lang { padding-right: 6px; }
  .vt-hdr .vt-lang__btn { padding-left: 6px; padding-right: 6px; }
}
@media (max-width: 359px) { .vt-hdr .vt-hdr__logo img { height: 34px; } }
/* Mobile header, right side: even 12px gaps between search, cart and language, and the same 20px
   edge margin as the menu icon on the left */
@media (max-width: 767px) {
  .vt-hdr .vt-hdr__actions { gap: 12px; }
  .vt-hdr .vt-hdr__icon { width: 30px; padding: 0; }
  .vt-hdr .vt-lang { padding-right: 20px; }
  .vt-hdr .vt-lang__btn { padding-left: 6px; padding-right: 6px; }
}
@media (min-width: 405px) and (max-width: 575px) { .vt-hdr .vt-hdr__logo img { height: 48px; } }
@media (min-width: 390px) and (max-width: 404px) { .vt-hdr .vt-hdr__logo img { height: 44px; } }
@media (min-width: 375px) and (max-width: 389px) { .vt-hdr .vt-hdr__logo img { height: 39px; } }
@media (min-width: 360px) and (max-width: 374px) { .vt-hdr .vt-hdr__logo img { height: 35px; } }
@media (max-width: 359px) {
  .vt-hdr .vt-hdr__actions { gap: 8px; }
  .vt-hdr .vt-lang { padding-right: 14px; }
  .vt-hdr .vt-hdr__logo img { height: 28px; }
}
@media (max-width: 767px) { .vt-hdr .vt-lang { margin-left: 0; } }
/* Mobile menu: full-colour brand icons (same as footer) with a slow, smooth hover */
.mmx-social { display: flex; align-items: center; gap: 14px; }
.mmx-social a { display: inline-flex; line-height: 0; transition: transform .6s cubic-bezier(.22, .61, .36, 1), filter .6s ease; }
.mmx-social a:hover, .mmx-social a:focus-visible { transform: translateY(-2px) scale(1.06); filter: brightness(1.05); }
.mmx-social .vt-bicon { width: 30px; height: 30px; display: block; }
/* Phones: a hero with a text slide is tall enough for its heading and buttons */
@media (max-width: 767px) { .vt-hero.vt-hero--below-header.vt-hero--has-text { min-height: 520px; } }
.vt-hero.vt-hero--below-header { width: 100%; max-width: 100%; }

/* Transparent header: dark gradient at the very top that fades into the picture (like cofur.in);
   it fades away when the header turns white on scroll / hover / open menu */
.vt-hdr.vt-hdr--overlay::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; z-index: -1; pointer-events: none;
  height: calc(var(--vt-hdr-h) + 130px);
  background: linear-gradient(180deg, rgba(0, 0, 0, .62) 0%, rgba(0, 0, 0, .42) 35%, rgba(0, 0, 0, .18) 68%, rgba(0, 0, 0, 0) 100%);
  opacity: 1; transition: opacity .35s ease;
}
.vt-hdr.vt-hdr--overlay.is-solid::before, .vt-hdr.vt-hdr--overlay:hover::before, .vt-hdr.vt-hdr--overlay.is-mega-open::before { opacity: 0; }
@media (max-width: 767px) { .vt-hdr.vt-hdr--overlay::before { height: calc(var(--vt-hdr-h) + 80px); } }
.vt-hdr.vt-hdr--overlay:not(.is-solid):not(:hover):not(.is-mega-open) { box-shadow: none; }
/* Our Clients strip: every card the same height, width follows the photo, so no photo is ever cropped */
.vt-home .vt-photostrip .vt-carousel__slide { flex: 0 0 auto; padding: 0 10px 0 2px; }
.vt-home .vt-photostrip .vt-card--photo { width: auto; }
.vt-home .vt-photostrip .vt-card--photo .vt-card__img { height: 300px; width: auto; }
.vt-home .vt-photostrip .vt-card--photo .vt-card__img img { object-fit: contain; }
@media (max-width: 991px) { .vt-home .vt-photostrip .vt-card--photo .vt-card__img { height: 260px; } }
@media (max-width: 767px) { .vt-home .vt-photostrip .vt-card--photo .vt-card__img { height: 220px; } .vt-home .vt-photostrip .vt-carousel__slide { flex-basis: auto; } }

/* ---------- Home customer reviews: 3 visible, arrows / swipe for more, click opens photos ---------- */
.vt-yantra__reviews-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.vt-home .vt-yantra__reviews-head .vt-yantra__kicker { margin: 0; }
.vt-reviews__nav { display: flex; gap: 8px; }
.vt-reviews__arrow { display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid #d9cfc0; background: #fff; color: #311b0b; cursor: pointer; transition: background-color .3s ease, color .3s ease, opacity .3s ease; }
.vt-reviews__arrow:hover:not(:disabled) { background: #311b0b; color: #fff; border-color: #311b0b; }
.vt-reviews__arrow:disabled { opacity: .35; cursor: default; }
.vt-yantra__cards.vt-reviews__track { display: flex !important; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0; padding: 4px 2px 10px; }
.vt-reviews__track::-webkit-scrollbar { display: none; }
.vt-reviews__track .vt-review { flex: 0 0 calc((100% - 24px) / 3); scroll-snap-align: start; cursor: pointer; }
.vt-review:focus-visible { outline: 2px solid #311b0b; outline-offset: 2px; }
.vt-review__foot { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: auto; }
.vt-review__pics { display: inline-flex; align-items: center; gap: 4px; font: 600 13px/1 var(--vt-sans); color: #806559; }
@media (max-width: 991px) { .vt-reviews__track .vt-review { flex-basis: calc((100% - 12px) / 2); } }
@media (max-width: 575px) { .vt-yantra__cards.vt-reviews__track { margin: 0 -16px; padding: 4px 16px 10px; } .vt-reviews__track .vt-review { flex-basis: 82%; } }

.vt-rmodal { position: fixed; inset: 0; z-index: 4000; display: flex; align-items: center; justify-content: center; padding: 20px; }
.vt-rmodal[hidden] { display: none; }
html.vt-rmodal-open { overflow: hidden; }
.vt-rmodal__backdrop { position: absolute; inset: 0; background: rgba(20, 14, 10, .6); }
.vt-rmodal__box { position: relative; width: min(720px, 100%); max-height: calc(100vh - 40px); overflow-y: auto; padding: 28px 28px 24px; border-radius: 14px; background: #fffdf9; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .45); }
.vt-rmodal__close { position: absolute; top: 10px; right: 14px; border: 0; background: none; font-size: 30px; line-height: 1; color: #311b0b; cursor: pointer; }
.vt-rmodal__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; font: 700 18px/1.3 var(--vt-sans); color: #311b0b; }
.vt-rmodal__head .vt-review__avatar { width: 40px; height: 40px; font-size: 16px; }
.vt-rmodal__head .vt-review__avatar img { width: 40px; height: 40px; }
.vt-home .vt-rmodal__stars { margin: 0 0 8px; color: #e2a400; letter-spacing: 2px; font-size: 18px; }
.vt-home .vt-rmodal__text { margin: 0 0 8px; font: 400 16px/1.6 var(--vt-sans); color: #4a3f35; }
.vt-home .vt-rmodal__date { margin: 0 0 14px; font: 500 14px/1.4 var(--vt-sans); color: #8b7d6c; }
.vt-rmodal__photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.vt-rmodal__photo { display: block; border-radius: 10px; overflow: hidden; background: #f3eee6; }
.vt-rmodal__photo img { display: block; width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform .5s ease; }
.vt-rmodal__photo:hover img { transform: scale(1.04); }

/* Star ratings filled to the exact value (e.g. 4.5): gold stars clipped over grey ones */
.vt-stars { position: relative; display: inline-block; font-size: inherit; line-height: 1; letter-spacing: 2px; color: #d9d2c5; vertical-align: middle; }
.vt-stars::before { content: "★★★★★"; }
.vt-stars::after { content: "★★★★★"; position: absolute; left: 0; top: 0; width: var(--pct, 100%); overflow: hidden; white-space: nowrap; color: #e2a400; }
.vt-stars__num { margin-left: 6px; font: 600 13px/1 var(--vt-sans); color: #8b7d6c; vertical-align: middle; letter-spacing: 0; }
.vt-rmodal__stars .vt-stars__num { font-size: 15px; }
/* Footer: all phone numbers under one phone icon, each tappable */
.vt-footer .vt-ftr__phone-list { display: flex; flex-direction: column; gap: 2px; }
.vt-footer .vt-ftr__phone-list a { color: inherit; text-decoration: none; white-space: nowrap; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: color .4s ease, background-size .4s ease; width: max-content; }
.vt-footer .vt-ftr__phone-list a:hover { color: var(--ftr-accent, #8dc63f); background-size: 100% 1px; }
/* Footer contact block: calmer colours, numbers in two columns so the column isn't overly tall */
.vt-footer .vt-ftr__contact, .vt-footer .vt-ftr__contact span, .vt-footer .vt-ftr__phone-list a { color: rgba(255, 255, 255, .86); }
.vt-footer a.vt-ftr__contact:hover, .vt-footer .vt-ftr__phone-list a:hover { color: var(--ftr-accent, #8dc63f); }
.vt-footer .vt-ftr__address { max-width: 340px; }
.vt-footer .vt-ftr__phone-list { display: grid; grid-template-columns: repeat(2, max-content); column-gap: 22px; row-gap: 4px; }
@media (max-width: 1199px) and (min-width: 768px) { .vt-footer .vt-ftr__phone-list { grid-template-columns: max-content; } }
.vt-footer .vt-ftr__phone-list { display: flex !important; flex-direction: row !important; flex-wrap: wrap; column-gap: 20px; row-gap: 4px; max-width: 300px; }
.vt-footer .vt-ftr__phone-list a { font-variant-numeric: tabular-nums; min-width: 9.5ch; }
@media (min-width: 1200px) and (max-width: 1599px) { html body .vt-footer .vt-ftr .vt-ftr__phone-list { column-gap: 12px; } html body .vt-footer .vt-ftr .vt-ftr__address .vt-ftr__phone-list a { font-size: 15px !important; min-width: 0; } }
/* Footer contact icons: sized to the text and optically centred on the first line */
html body .vt-footer .vt-ftr__contact { grid-template-columns: 26px minmax(0, 1fr); column-gap: 12px; }
html body .vt-footer .vt-ftr__contact .vt-ftr__cicon { width: 26px !important; height: 26px !important; margin-top: -1px !important; }
.vt-footer .vt-ftr__phone { display: inline-flex; white-space: nowrap; }
.vt-footer .vt-ftr__phone-sep { color: rgba(255, 255, 255, .6); }
@media (min-width: 1200px) and (max-width: 1599px) { html body .vt-footer .vt-ftr .vt-ftr__phone-list { column-gap: 6px !important; } html body .vt-footer .vt-ftr .vt-ftr__address .vt-ftr__phone-sep { font-size: 15px !important; } }

/* "Client Logos" strip (below "Our Clients"): same endless glide and cards, logos shown whole on white. */
.vt-home .vt-photostrip--logos { background: #f7f5ee; }
.vt-home .vt-photostrip--logos .vt-card--logo { cursor: default; }
.vt-home .vt-photostrip--logos .vt-card--logo .vt-card__img { height: 170px; background: #fff; }
.vt-home .vt-photostrip--logos .vt-card--logo .vt-card__img img { object-fit: contain; }
@media (max-width: 991px) { .vt-home .vt-photostrip--logos .vt-card--logo .vt-card__img { height: 140px; } }
@media (max-width: 767px) { .vt-home .vt-photostrip--logos .vt-card--logo .vt-card__img { height: 110px; } }
/* Footer contact icons: centre each icon on the visible middle of the first text line (it sat ~2px high). */
html body .vt-footer .vt-ftr__contact .vt-ftr__cicon { margin-top: 1px !important; }
/* The handset icon's shape reads high next to the numbers: drop it a little more than the other icons. */
html body .vt-footer .vt-ftr__contact.vt-ftr__phones .vt-ftr__cicon { margin-top: 3px !important; }
/* "Discover Material Guide": same size as "Shop Shree Yantras" beside it (54px tall, 28px side padding). */
html body.vt-home .vt-yantra__btn--ghost, html body .vt-home .vt-yantra__btn--ghost { box-sizing: border-box; min-height: 54px; padding: 0 28px; }
html body.vt-home .vt-yantra__btn--primary, html body .vt-home .vt-yantra__btn--primary { box-sizing: border-box; min-height: 54px; }
/* Footer: the second column continues "Category" — no heading of its own on tablet/desktop (space kept so the lists line up). */
@media (min-width: 768px) { .vt-ftr__group--guidance .vt-ftr__heading { visibility: hidden; } }

/* Information / policy pages (/info/...): same type system as the rest of the site —
   serif uppercase page title, Manrope sub-headings and body, content in a white card. */
.vt-content-page .vt-info-content {
  margin-top: 8px; padding: clamp(28px, 4vw, 56px) clamp(22px, 4.5vw, 64px);
  background: #fff; border: 1px solid rgba(49, 27, 11, .08); border-radius: 12px;
  box-shadow: 0 10px 30px -18px rgba(49, 27, 11, .25);
}
/* One consistent scale on every info / policy page: all paragraphs 16px #3d3a35, all sub-headings 18px bold ink, same spacing. */
html body .vt-content-page .vt-info-content :is(h2, h3, h4) {
  font-family: var(--vt-sans) !important; font-size: 18px !important; font-weight: 700 !important; line-height: 1.4 !important;
  text-transform: none !important; letter-spacing: 0 !important; color: var(--vt-ink) !important; margin: 28px 0 8px !important;
}
html body .vt-content-page .vt-info-content :is(h2, h3, h4):first-child { margin-top: 0 !important; }
html body .vt-content-page .vt-info-content :is(p, li) {
  font-family: var(--vt-sans) !important; font-size: 16px !important; font-weight: 400 !important; line-height: 1.7 !important;
  color: #3d3a35 !important; margin: 0 0 12px !important;
}
html body .vt-content-page .vt-info-content > p:last-child { margin: 28px 0 0 !important; padding-top: 20px; border-top: 1px solid rgba(49, 27, 11, .1); }
html body .vt-content-page .vt-info-content a { color: var(--vt-bronze) !important; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
html body .vt-content-page .vt-info-content a:hover { color: var(--vt-ink) !important; }
@media (max-width: 767px) { .vt-content-page .vt-info-content { border-radius: 10px; } }
