/* =============================================================
   Vaachak — Design System (main.css)
   Premium handcrafted Indian commerce. Heritage Luxury palette.
   ============================================================= */

:root {
	/* Palette (blueprint 4.2) */
	--vk-brown:      #4B2E1E;
	--vk-gold:       #C98A2C;
	--vk-gold-soft:  #e0a94e;
	--vk-ivory:      #FAF4EA;
	--vk-terracotta: #A85C38;
	--vk-forest:     #314D3A;
	--vk-charcoal:   #1E1E1E;
	--vk-sand:       #E7D7C2;
	--vk-rosewood:   #6F2F2F;
	--vk-white:      #fffdf9;

	/* Roles */
	--vk-bg:        var(--vk-ivory);
	--vk-surface:   var(--vk-white);
	--vk-text:      var(--vk-charcoal);
	--vk-heading:   var(--vk-brown);
	--vk-muted:     #7a6a5a;
	--vk-border:    var(--vk-sand);
	--vk-accent:    var(--vk-gold);

	/* Type */
	--vk-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;
	--vk-sans:  "Manrope", "Lato", system-ui, -apple-system, sans-serif;

	/* Shape & motion */
	--vk-radius:   12px;
	--vk-radius-lg: 18px;
	--vk-shadow:   0 8px 30px -12px rgba(75, 46, 30, .22);
	--vk-shadow-sm: 0 2px 10px -4px rgba(75, 46, 30, .18);
	--vk-ease: cubic-bezier(.22, .61, .36, 1);
	--vk-container: 1320px;
	--vk-gutter: 24px;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--vk-sans);
	font-size: 17px;
	line-height: 1.6;
	color: var(--vk-text);
	background: var(--vk-bg);
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

h1, h2, h3, h4 { font-family: var(--vk-serif); color: var(--vk-heading); font-weight: 600; line-height: 1.12; letter-spacing: .2px; margin: 0 0 .4em; }

a { color: var(--vk-brown); text-decoration: none; transition: color .25s var(--vk-ease); }
a:hover { color: var(--vk-gold); }

img { max-width: 100%; height: auto; display: block; }

.container { width: 100%; max-width: var(--vk-container); margin-inline: auto; padding-inline: var(--vk-gutter); }

.vk-eyebrow, .vk-hero__eyebrow {
	display: inline-block; font-family: var(--vk-sans);
	font-size: .72rem; letter-spacing: .28em; text-transform: uppercase;
	color: var(--vk-terracotta); font-weight: 600; margin-bottom: .8rem;
}

.vk-muted, .vk-section__sub { color: var(--vk-muted); }

.vk-skip { position: absolute; left: -9999px; }
.vk-skip:focus { left: 12px; top: 12px; z-index: 9999; background: var(--vk-brown); color: #fff; padding: 10px 16px; border-radius: 8px; }

/* ---------- Buttons ---------- */
.btn, .button, .vk-quickadd-btn, .single_add_to_cart_button, .vk-buy-now {
	display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
	font-family: var(--vk-sans); font-weight: 600; font-size: .95rem;
	padding: .85rem 1.6rem; border-radius: var(--vk-radius); border: 1.5px solid transparent;
	cursor: pointer; transition: all .28s var(--vk-ease); text-align: center; line-height: 1;
}
.btn--primary, .button.alt { background: var(--vk-brown); color: var(--vk-ivory) !important; }
.btn--primary:hover, .button.alt:hover { background: var(--vk-gold); color: var(--vk-brown) !important; transform: translateY(-2px); box-shadow: var(--vk-shadow-sm); }
.btn--outline, .btn--ghost { background: transparent; border-color: var(--vk-brown); color: var(--vk-brown); }
.btn--outline:hover, .btn--ghost:hover { background: var(--vk-brown); color: var(--vk-ivory); }
.btn--ghost { border-color: rgba(250,244,234,.6); color: var(--vk-ivory); }
.btn--ghost:hover { background: var(--vk-ivory); color: var(--vk-brown); }
.vk-buy-now { background: #FCF8F5; color: #5D241D; margin-top: .6rem; width: 100%; }
.vk-buy-now:hover { background: #5D241D; color: #FCF8F5; }

/* ---------- Announcement bar ---------- */
.vk-announce { background: var(--vk-brown); color: var(--vk-ivory); font-size: .82rem; letter-spacing: .03em; }
.vk-announce .container { display: flex; gap: .6rem; align-items: center; justify-content: center; padding-block: 8px; flex-wrap: wrap; }
.vk-announce .vk-dot { color: var(--vk-gold); }

/* ---------- Header ---------- */
.vk-header { position: sticky; top: 0; z-index: 200; background: var(--vk-ivory); border-bottom: 1px solid var(--vk-border); transition: padding .3s var(--vk-ease), box-shadow .3s var(--vk-ease); }
.vk-header.is-stuck { box-shadow: var(--vk-shadow-sm); }
.vk-header__row { position: relative; display: flex; align-items: center; gap: 1.5rem; padding-block: 18px; transition: padding .3s var(--vk-ease); }
.vk-header.is-stuck .vk-header__row { padding-block: 10px; }
.vk-header__brand { flex: 0 0 auto; }
.vk-logo { font-family: var(--vk-serif); font-size: 1.8rem; font-weight: 700; color: var(--vk-brown); letter-spacing: .5px; }
.custom-logo { max-height: 52px; width: auto; }
.vk-nav { flex: 1 1 auto; display: flex; justify-content: center; }
.vk-header__tools { flex: 0 0 auto; display: flex; align-items: center; gap: .5rem; }

.vk-icon-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: none; background: transparent; color: var(--vk-brown); cursor: pointer; border-radius: 10px; transition: background .2s; }
.vk-icon-btn:hover { background: var(--vk-sand); }
.vk-burger { display: none; }

.vk-cart-count { position: absolute; top: 2px; right: 2px; min-width: 18px; height: 18px; padding: 0 4px; background: var(--vk-gold); color: var(--vk-brown); font-size: .68rem; font-weight: 700; font-family: var(--vk-sans); border-radius: 9px; display: grid; place-items: center; }
.vk-cart-count[data-count="0"] { display: none; }

/* ---------- Primary menu + mega ---------- */
.vk-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 1.6rem; align-items: center; }
.vk-menu > li { position: relative; }
.vk-menu > li > a { font-size: .92rem; font-weight: 600; letter-spacing: .02em; padding-block: 8px; }
.vk-menu .sub-menu { position: absolute; top: 100%; left: 0; min-width: 230px; background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius); box-shadow: var(--vk-shadow); list-style: none; margin: 10px 0 0; padding: 10px; opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .25s var(--vk-ease); z-index: 50; }
.vk-menu > li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.vk-menu .sub-menu a { display: block; padding: 8px 12px; border-radius: 8px; font-size: .88rem; font-weight: 500; }
.vk-menu .sub-menu a:hover { background: var(--vk-ivory); }

.vk-country { position: relative; }
.vk-country select { appearance: none; border: 1px solid var(--vk-border); background: var(--vk-surface); border-radius: 10px; padding: 8px 30px 8px 12px; font-family: var(--vk-sans); font-size: .82rem; color: var(--vk-brown); cursor: pointer; }

/* ---------- Search panel ---------- */
.vk-search-panel { position: relative; z-index: 320; background: var(--vk-ivory); border-bottom: 1px solid var(--vk-border); padding: 28px 0; }
.vk-search-panel .container { display: flex; align-items: center; gap: 1rem; }
.vk-search-panel form { flex: 1; display: flex; gap: .5rem; }
.vk-search-panel input[type="search"], .vk-search-panel .search-field { flex: 1; padding: 14px 18px; border: 1.5px solid var(--vk-border); border-radius: var(--vk-radius); font-size: 1rem; background: #fff; }

/* ---------- Hero ---------- */
.vk-hero { position: relative; min-height: 78vh; display: flex; align-items: center; background: var(--vk-brown) var(--vk-hero-img, none) center/cover no-repeat; color: var(--vk-ivory); }
.vk-hero__veil { position: absolute; inset: 0; background: linear-gradient(105deg, rgba(40,24,14,.82) 0%, rgba(40,24,14,.35) 60%, rgba(40,24,14,.1) 100%); }
.vk-hero__inner { position: relative; padding-block: 80px; max-width: var(--vk-container); }
.vk-hero__media { display: none; }
.vk-hero__eyebrow { color: var(--vk-gold-soft); }
.vk-hero__title { font-size: clamp(2.4rem, 5.4vw, 4.6rem); color: var(--vk-ivory); margin-bottom: .5rem; max-width: 660px; }
.vk-hero__text { font-size: 1.15rem; max-width: 540px; color: #f3e7d6; margin-bottom: 2rem; }
.vk-hero__cta { display: flex; gap: 1rem; flex-wrap: wrap; }

/* ---------- Sections ---------- */
.vk-section { padding-block: clamp(48px, 7vw, 96px); }
.vk-section__head { text-align: center; max-width: 640px; margin: 0 auto 48px; }
.vk-section__head--row { display: flex; align-items: end; justify-content: space-between; text-align: left; max-width: none; }
.vk-section__title { font-size: clamp(1.9rem, 3.4vw, 3rem); }
.vk-section__sub { font-size: 1.05rem; margin: 0; }
.vk-section__link { font-weight: 600; font-size: .95rem; white-space: nowrap; }

/* ---------- Category mosaic ---------- */
.vk-mosaic__grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 240px; gap: 18px; }
.vk-mosaic__tile { position: relative; overflow: hidden; border-radius: var(--vk-radius-lg); background: var(--vk-sand) var(--vk-tile-img, none) center/cover no-repeat; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; color: #fff; isolation: isolate; }
.vk-mosaic__tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(30,18,10,.78), rgba(30,18,10,.05) 70%); z-index: -1; transition: opacity .4s; }
.vk-mosaic__tile:hover::after { opacity: .92; }
.vk-mosaic__tile--lg { grid-row: span 2; }
.vk-mosaic__label { font-family: var(--vk-serif); font-size: 1.5rem; font-weight: 600; }
.vk-mosaic__cta { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; opacity: .85; transform: translateY(6px); transition: transform .35s var(--vk-ease); }
.vk-mosaic__tile:hover .vk-mosaic__cta { transform: translateY(0); }

/* ---------- Product grid + cards ---------- */
ul.products, .vk-products__grid ul.products { display: grid; grid-template-columns: repeat(5, 1fr); gap: 26px; list-style: none; margin: 0; padding: 0; }
.vk-card { background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); overflow: hidden; display: flex; flex-direction: column; transition: transform .35s var(--vk-ease), box-shadow .35s var(--vk-ease); }
.vk-card:hover { transform: translateY(-5px); box-shadow: var(--vk-shadow); }
.vk-card__media { position: relative; aspect-ratio: 4/5; overflow: hidden; background: var(--vk-ivory); }
.vk-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--vk-ease); }
.vk-card:hover .vk-card__media img { transform: scale(1.06); }
.vk-card__body { padding: 11px 13px 13px; display: flex; flex-direction: column; gap: 3px; flex: 1; }
.vk-card__cat { font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--vk-terracotta); font-weight: 600; }
.vk-card__off { display: inline-block; font-size: .66rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--vk-brown); background: linear-gradient(135deg, var(--vk-gold) 0%, #ffffff 100%); border: 1px solid rgba(201,138,44,.3); padding: 3px 11px; border-radius: 20px; line-height: 1.5; }
.vk-card__off--none { background: none; border: 0; padding: 0; }
.vk-card__title { font-size: 1rem; line-height: 1.3; margin: 0; }
.vk-card__title a { color: var(--vk-heading); display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vk-card__price { margin-top: 2px; padding-top: 2px; }

.vk-price { display: inline-flex; align-items: baseline; gap: 8px; font-family: var(--vk-sans); }
.vk-price__now { font-weight: 700; font-size: 1.15rem; color: var(--vk-brown); text-decoration: none; }
.vk-price__was { color: var(--vk-muted); font-size: .9rem; }
.vk-price__off { font-size: .72rem; font-weight: 700; color: var(--vk-forest); background: rgba(49,77,58,.1); padding: 2px 7px; border-radius: 6px; }
.vk-price--ask { font-style: italic; color: var(--vk-muted); }

/* Badges */
.vk-badges { position: absolute; top: 12px; left: 12px; z-index: 3; display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.vk-badges--static { position: static; flex-direction: row; flex-wrap: wrap; margin-bottom: 14px; }
.vk-badge { font-size: .66rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 4px 9px; border-radius: 6px; background: var(--vk-brown); color: var(--vk-ivory); }
.vk-badge--sale { background: var(--vk-terracotta); }
.vk-badge--bestseller { background: var(--vk-gold); color: var(--vk-brown); }
.vk-badge--new-arrival { background: var(--vk-forest); }
.vk-badge--limited-stock { background: var(--vk-rosewood); }
.vk-badge--handmade { background: rgba(75,46,30,.86); }

.vk-wishlist { position: absolute; top: 12px; right: 12px; z-index: 4; width: 40px; height: 40px; border: none; border-radius: 50%; background: rgba(255,253,249,.95); color: var(--vk-brown); display: grid; place-items: center; cursor: pointer; opacity: 1; box-shadow: 0 2px 8px rgba(30,18,10,.16); transition: transform .2s var(--vk-ease), background .2s var(--vk-ease), color .2s var(--vk-ease); }
.vk-wishlist:hover { background: #fff; transform: scale(1.08); }
.vk-wishlist:active { transform: scale(.86); }
.vk-wishlist svg { pointer-events: none; }
.vk-wishlist.is-active { color: var(--vk-terracotta); animation: vk-heart-pop .35s var(--vk-ease); }
.vk-wishlist.is-active svg { fill: currentColor; }
@keyframes vk-heart-pop { 0% { transform: scale(1); } 35% { transform: scale(1.35); } 60% { transform: scale(.9); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .vk-wishlist.is-active { animation: none; } }

.vk-card__quickadd { position: absolute; left: 12px; right: 12px; bottom: 12px; z-index: 3; opacity: 0; transform: translateY(10px); transition: all .35s var(--vk-ease); }
.vk-card:hover .vk-card__quickadd { opacity: 1; transform: translateY(0); }
.vk-card__quickadd .button { width: 100%; }

.vk-card__rating { margin: 1px 0 0; line-height: 1; }
.vk-card__rating .star-rating { font-size: .82em; margin: 0; }
.vk-card__rating .star-rating, .vk-single__rating .star-rating { color: var(--vk-gold); }

/* ---------- Craft story ---------- */
.vk-story { background: var(--vk-sand); }
.vk-story__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.vk-story__media { aspect-ratio: 4/3; border-radius: var(--vk-radius-lg); background: var(--vk-brown) var(--vk-story-img, none) center/cover no-repeat; display: grid; place-items: center; color: rgba(250,244,234,.6); font-family: var(--vk-serif); font-size: 1.4rem; }
.vk-story__body h2 { font-size: clamp(1.9rem, 3.2vw, 2.8rem); }
.vk-story__body p { color: #5a4a3c; }

/* ---------- Gift collections ---------- */
.vk-gifts__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.vk-gift-card { position: relative; aspect-ratio: 3/4; border-radius: var(--vk-radius-lg); background: linear-gradient(160deg, var(--vk-rosewood), var(--vk-brown)); color: var(--vk-ivory); padding: 28px; display: flex; flex-direction: column; justify-content: flex-end; gap: 8px; overflow: hidden; transition: transform .35s var(--vk-ease); }
.vk-gift-card:nth-child(2) { background: linear-gradient(160deg, var(--vk-terracotta), var(--vk-brown)); }
.vk-gift-card:nth-child(3) { background: linear-gradient(160deg, var(--vk-forest), var(--vk-brown)); }
.vk-gift-card:nth-child(4) { background: linear-gradient(160deg, var(--vk-gold), var(--vk-brown)); }
.vk-gift-card:hover { transform: translateY(-4px); }
.vk-gift-card__title { font-family: var(--vk-serif); font-size: 1.5rem; font-weight: 600; }
.vk-gift-card__cta { font-size: .82rem; letter-spacing: .05em; opacity: .9; }

/* ---------- Why choose ---------- */
.vk-why { background: var(--vk-brown); color: var(--vk-ivory); }
.vk-why__row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; text-align: center; }
.vk-why__icon { color: var(--vk-gold-soft); display: inline-flex; margin-bottom: 12px; }
.vk-why__item h3 { color: var(--vk-ivory); font-size: 1.15rem; margin-bottom: 4px; }
.vk-why__item p { font-size: .88rem; color: #d9c9b6; margin: 0; }

/* ---------- Reviews ---------- */
.vk-reviews__track { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.vk-review { background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); padding: 28px; margin: 0; box-shadow: var(--vk-shadow-sm); }
.vk-review__stars { color: var(--vk-gold); display: flex; gap: 2px; margin-bottom: 14px; }
.vk-review blockquote { font-family: var(--vk-serif); font-size: 1.18rem; line-height: 1.5; color: var(--vk-brown); margin: 0 0 16px; }
.vk-review figcaption { font-size: .85rem; font-weight: 600; color: var(--vk-muted); }

/* ---------- Blog ---------- */
.vk-blog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.vk-blog-card { background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); overflow: hidden; }
.vk-blog-card__media { display: block; aspect-ratio: 16/10; overflow: hidden; background: var(--vk-sand); }
.vk-blog-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--vk-ease); }
.vk-blog-card:hover .vk-blog-card__media img { transform: scale(1.05); }
.vk-blog-card__body { padding: 20px 22px 26px; }
.vk-blog-card__body h3 { font-size: 1.25rem; }
.vk-blog-card__body p { color: var(--vk-muted); font-size: .92rem; margin: 0; }

/* ---------- Newsletter ---------- */
.vk-newsletter { background: var(--vk-forest); color: var(--vk-ivory); }
.vk-newsletter__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.vk-newsletter h2 { color: var(--vk-ivory); }
.vk-newsletter p { color: #d6e0d8; margin: 0; max-width: 460px; }
.vk-newsletter__form { display: flex; gap: 10px; flex: 1; min-width: 280px; max-width: 480px; }
.vk-newsletter__form input { flex: 1; padding: 14px 18px; border: none; border-radius: var(--vk-radius); font-size: 1rem; }

/* ---------- FAQ / accordion ---------- */
.vk-faq__inner { max-width: 820px; margin-inline: auto; }
.vk-faq .vk-section__title { text-align: center; margin-bottom: 36px; }
.vk-accordion__item { border: 1px solid var(--vk-border); border-radius: var(--vk-radius); background: var(--vk-surface); margin-bottom: 12px; overflow: hidden; }
.vk-accordion__q { cursor: pointer; padding: 18px 22px; font-family: var(--vk-serif); font-size: 1.18rem; font-weight: 600; color: var(--vk-brown); list-style: none; display: flex; justify-content: space-between; align-items: center; }
.vk-accordion__q::-webkit-details-marker { display: none; }
.vk-accordion__q::after { content: "+"; font-family: var(--vk-sans); font-size: 1.4rem; color: var(--vk-gold); transition: transform .3s; }
details[open] .vk-accordion__q::after { transform: rotate(45deg); }
.vk-accordion__a { padding: 0 22px 20px; color: var(--vk-muted); }
.vk-accordion__a p { margin: 0; }

/* ---------- SEO block ---------- */
.vk-seoblock { background: var(--vk-sand); padding-block: 64px; }
.vk-seoblock .container { max-width: 920px; }
.vk-seoblock h2 { font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin-bottom: 18px; }
.vk-seoblock p { color: #5a4a3c; margin-bottom: 14px; }

/* ---------- Footer ---------- */
.vk-footer { background: var(--vk-brown); color: #e8d9c8; padding-top: 64px; }
.vk-footer__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px; padding-bottom: 48px; }
.vk-footer h4 { color: var(--vk-ivory); font-family: var(--vk-sans); font-size: .82rem; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 18px; }
.vk-logo--footer { color: var(--vk-ivory); display: inline-block; margin-bottom: 14px; }
.vk-footer__brand p { color: #c9b6a2; font-size: .92rem; max-width: 320px; }
.vk-footer__about { margin: 0 0 16px; line-height: 1.7; }
.vk-chip { display: inline-block; margin-top: 14px; border: 1px solid rgba(232,217,200,.3); border-radius: 30px; padding: 6px 14px; font-size: .76rem; letter-spacing: .06em; }
.vk-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.vk-footer__links a { color: #d9c9b6; font-size: .9rem; }
.vk-footer__links a:hover { color: var(--vk-gold); }
.vk-footer__bottom { border-top: 1px solid rgba(232,217,200,.16); padding-block: 20px; }
.vk-footer__bottom .container { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.vk-footer__bottom p { margin: 0; font-size: .82rem; color: #b9a892; }
.vk-footer__legal { list-style: none; display: flex; gap: 20px; margin: 0; padding: 0; }
.vk-footer__legal a { color: #b9a892; font-size: .82rem; }

/* ---------- Drawers / overlay ---------- */
.vk-overlay { position: fixed; inset: 0; background: rgba(30,18,10,.5); z-index: 300; opacity: 0; transition: opacity .3s; }
.vk-overlay.is-open { opacity: 1; }
.vk-drawer { position: fixed; top: 0; bottom: 0; width: min(420px, 88vw); background: var(--vk-ivory); z-index: 350; display: flex; flex-direction: column; transition: transform .4s var(--vk-ease); }
.vk-drawer--left { left: 0; transform: translateX(-100%); }
.vk-drawer--right { right: 0; transform: translateX(100%); }
.vk-drawer.is-open { transform: translateX(0); box-shadow: var(--vk-shadow); }
.vk-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 20px 22px; border-bottom: 1px solid var(--vk-border); }
.vk-drawer__title { font-family: var(--vk-serif); font-size: 1.3rem; font-weight: 600; color: var(--vk-brown); }
.vk-drawer__body { padding: 22px; overflow-y: auto; flex: 1; }
.vk-menu-mobile { list-style: none; margin: 18px 0 0; padding: 0; }
.vk-menu-mobile li { border-bottom: 1px solid var(--vk-border); }
.vk-menu-mobile a { display: block; padding: 14px 0; font-weight: 600; font-size: 1rem; }
.vk-menu-mobile .sub-menu { list-style: none; padding-left: 16px; margin: 0 0 8px; }
.vk-menu-mobile .sub-menu a { padding: 9px 0; font-weight: 500; font-size: .92rem; color: var(--vk-muted); }

/* Mini cart inside drawer */
.vk-drawer .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.vk-drawer .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 18px 0; font-weight: 700; color: var(--vk-brown); }
.vk-drawer .woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: 10px; }
.vk-drawer .woocommerce-mini-cart__buttons .button { width: 100%; }

/* ---------- Mobile bottom nav ---------- */
.vk-bottomnav { display: none; position: fixed; bottom: 0; left: 0; right: 0; z-index: 180; background: var(--vk-ivory); border-top: 1px solid var(--vk-border); padding: 6px 2px env(safe-area-inset-bottom); justify-content: space-between; gap: 0; }
.vk-bottomnav a, .vk-bottomnav button { flex: 1 1 0; min-width: 0; background: none; border: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 6px 2px; color: var(--vk-brown); font-size: .64rem; cursor: pointer; position: relative; font-family: var(--vk-sans); text-align: center; white-space: nowrap; text-decoration: none; }
.vk-bottomnav svg { width: 20px; height: 20px; }
.vk-bottomnav .vk-cart-count { top: -2px; right: 28%; }

/* ---------- Archive / shop ---------- */
.vk-archive { padding-block: 36px 80px; }
.vk-breadcrumb { font-size: .82rem; color: var(--vk-muted); display: flex; gap: 8px; align-items: center; margin-bottom: 24px; flex-wrap: wrap; }
.vk-breadcrumb__current { color: var(--vk-brown); font-weight: 600; }
.vk-archive__hero { max-width: 100%; margin-bottom: 28px; }
.vk-archive__title { font-size: clamp(0.85rem, 2.6vw, 1.6rem); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vk-archive__intro { color: var(--vk-muted); font-size: clamp(.72rem, 1.5vw, .92rem); max-width: 760px; margin-top: 6px; }
.vk-archive__layout { display: grid; grid-template-columns: 260px 1fr; gap: 40px; align-items: start; }
.vk-archive__main--full { width: 100%; }
.vk-archive__sidebar-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.vk-filter-close { display: none; }
.vk-widget { margin-bottom: 28px; }
.vk-widget__title { font-family: var(--vk-serif); font-size: 1.15rem; color: var(--vk-brown); margin-bottom: 12px; }
.vk-archive__toolbar { display: flex; align-items: center; gap: 16px; margin-bottom: 26px; flex-wrap: wrap; }
.vk-archive__toolbar .woocommerce-result-count { margin: 0; color: var(--vk-muted); font-size: .88rem; }
.vk-archive__toolbar .woocommerce-ordering { margin-left: auto; }
.vk-archive__toolbar select { padding: 10px 14px; border: 1px solid var(--vk-border); border-radius: 10px; background: #fff; font-family: var(--vk-sans); }
.vk-filter-open { display: none; }

/* ---------- Single product ---------- */
.vk-single { padding-block: 36px 80px; }
.vk-single__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 56px; align-items: start; }
.vk-single__gallery { position: sticky; top: 110px; }
.vk-single__gallery img { border-radius: var(--vk-radius-lg); }
.vk-single__title { font-size: clamp(1.4rem, 2.6vw, 1.9rem); font-weight: 700; margin-bottom: 4px; }
.vk-single__subtitle { color: var(--vk-muted); font-size: .95rem; margin: 0 0 8px; }
.vk-single__price { margin: 10px 0 2px; font-size: 1.3rem; }
.vk-single__price .vk-price__now { font-size: 1.7rem; }
.vk-single__short { color: var(--vk-muted); margin-bottom: 24px; }
.vk-single__summary form.cart { margin: 0 0 18px; display: flex; flex-direction: column; gap: 12px; }
.vk-single__summary .quantity { display: inline-flex; }
.vk-single__summary .quantity input { width: 70px; padding: 12px; border: 1.5px solid var(--vk-border); border-radius: 10px; text-align: center; }
.vk-single__summary .single_add_to_cart_button { width: 100%; }
.vk-trustrow { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 20px 0; border-top: 1px solid var(--vk-border); border-bottom: 1px solid var(--vk-border); margin: 20px 0; }
.vk-trustrow span { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; font-size: .76rem; color: var(--vk-muted); }
.vk-trustrow svg { width: 26px; height: 26px; color: var(--vk-forest); }
.vk-single__specs { list-style: none; margin: 0; padding: 0; }
.vk-single__specs li { display: flex; justify-content: space-between; padding: 10px 0; border-bottom: 1px dashed var(--vk-border); font-size: .92rem; }
.vk-single__specs strong { color: var(--vk-brown); }
.vk-single__tabs { margin-top: 56px; max-width: 900px; }
.related.products, .upsells.products { margin-top: 64px; }
.related.products > h2, .upsells.products > h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); text-align: center; margin-bottom: 36px; }

/* ---------- Generic pages ---------- */
.vk-page { padding-block: 48px 80px; }
.vk-page__head { margin-bottom: 32px; }
.vk-page__title { font-size: clamp(2rem, 4vw, 3.2rem); }
.vk-prose { max-width: 760px; font-size: 1.05rem; }
.vk-prose p { margin-bottom: 1.1em; }
.vk-prose h2 { margin-top: 1.6em; }
.vk-post__media { border-radius: var(--vk-radius-lg); overflow: hidden; margin-bottom: 32px; }
.vk-404 { text-align: center; max-width: 620px; margin-inline: auto; padding-block: 100px; }
.vk-404 .vk-hero__cta { justify-content: center; }
.vk-pagination { margin-top: 48px; }
.vk-search-list { list-style: none; padding: 0; }
.vk-search-item { padding: 18px 0; border-bottom: 1px solid var(--vk-border); }
.vk-search-item a { font-family: var(--vk-serif); font-size: 1.3rem; }
.vk-empty { color: var(--vk-muted); padding: 40px 0; }

/* Animation: fade-up reveal */
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .7s var(--vk-ease), transform .7s var(--vk-ease); }
[data-reveal].is-visible { opacity: 1; transform: none; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	* { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
	[data-reveal] { opacity: 1; transform: none; }
}

/* Toast — newsletter / form confirmations */
.vk-toast {
	position: fixed;
	left: 50%;
	bottom: 24px;
	transform: translateX(-50%);
	z-index: 400;
	max-width: 92vw;
	padding: 14px 22px;
	border-radius: var(--vk-radius);
	font-family: var(--vk-sans);
	font-size: .92rem;
	color: var(--vk-ivory);
	background: var(--vk-forest);
	box-shadow: var(--vk-shadow);
	animation: vk-toast-in .4s var(--vk-ease) both, vk-toast-out .4s var(--vk-ease) 5s forwards;
}
.vk-toast--invalid, .vk-toast--error { background: var(--vk-rosewood); }
@keyframes vk-toast-in { from { opacity: 0; transform: translate(-50%, 16px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes vk-toast-out { to { opacity: 0; transform: translate(-50%, 16px); visibility: hidden; } }
@media (prefers-reduced-motion: reduce) { .vk-toast { animation: none; } }

/* ============================================================
   FIX: WooCommerce default float/width on products
   WooCommerce ships `li.product { float:left; width:22% }` which
   fights our CSS grid and squishes the cards. Neutralize it so the
   grid (and the responsive breakpoints) fully control the layout.
   ============================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products {
	display: grid !important;
	grid-template-columns: repeat(5, 1fr) !important;
	align-items: start !important;
	gap: 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product,
ul.products li.product.first,
ul.products li.product.last {
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}
/* kill WooCommerce's clearfix pseudo-elements that add phantom grid cells */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
	content: none !important;
	display: none !important;
}

/* Compact country / currency switcher (flag + currency only) */
.vk-country { margin: 0; }
.vk-country select {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid var(--vk-border);
	background: var(--vk-surface);
	color: var(--vk-heading);
	font-family: var(--vk-sans);
	font-size: .82rem;
	font-weight: 600;
	padding: 7px 30px 7px 12px;
	border-radius: 30px;
	cursor: pointer;
	line-height: 1.2;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234B2E1E' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 11px center;
	transition: border-color .2s var(--vk-ease);
}
.vk-country select:hover { border-color: var(--vk-gold); }

/* ============================================================
   Product card CTA — persistent Add to Cart + Buy Now buttons
   (replaces the hover quick-add; mobile-friendly, always visible)
   ============================================================ */
.vk-card__cta {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-top: 9px;
}
.vk-card__cta .button,
.vk-card__atc,
.vk-card__buynow,
.vk-card__notify {
	width: 100%;
	display: block;
	margin: 0 !important;
	text-align: center;
	padding: 9px 14px;
	border-radius: 10px;
	font-family: var(--vk-sans);
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background .2s var(--vk-ease), color .2s var(--vk-ease);
}
/* Add to Cart — solid dark brown #5D241D + white text */
.vk-card__atc,
.woocommerce ul.products li.product .button.vk-card__atc {
	background: #5D241D;
	color: #fff;
	border: 1.5px solid #5D241D;
}
.vk-card__atc:hover { background: #4a1c16; border-color: #4a1c16; color: #fff; }
.vk-card__atc.loading { opacity: .7; }
.vk-card__atc.added { background: #4a1c16; border-color: #4a1c16; }
/* Buy Now — cream #FCF8F5 + #5D241D border + #5D241D text */
.vk-card__buynow {
	background: #FCF8F5;
	color: #5D241D;
	border: 1.5px solid #5D241D;
}
.vk-card__buynow:hover { background: #5D241D; color: #FCF8F5; }
.vk-card__notify { background: var(--vk-surface); color: var(--vk-brown); border: 1px solid var(--vk-border); }

/* hide WooCommerce's "View cart" link that can appear after AJAX add on the loop button */
.vk-card__cta .added_to_cart { display: none !important; }

/* ============================================================
   Apply Coupon panel (classic cart/checkout)
   ============================================================ */
.vk-coupons { margin: 0 0 28px; padding: 20px 22px; background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); }
.vk-coupons__title { font-family: var(--vk-serif); font-size: 1.3rem; color: var(--vk-brown); margin: 0 0 4px; }
.vk-coupons__sub { font-size: .82rem; color: var(--vk-muted); margin: 0 0 16px; }
.vk-coupons__list { display: grid; gap: 10px; }
.vk-coupon {
	display: flex; align-items: center; justify-content: space-between; gap: 14px;
	padding: 12px 16px; border: 1px dashed var(--vk-gold); border-radius: 12px;
	background: var(--vk-ivory); transition: opacity .2s var(--vk-ease);
}
.vk-coupon__left { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.vk-coupon__code { font-family: var(--vk-sans); font-weight: 800; letter-spacing: .08em; color: var(--vk-brown); font-size: .95rem; }
.vk-coupon__value { font-size: .8rem; font-weight: 700; color: var(--vk-terracotta); text-transform: uppercase; letter-spacing: .04em; }
.vk-coupon__desc { font-size: .76rem; color: var(--vk-muted); }
.vk-coupon__apply {
	flex: 0 0 auto; background: var(--vk-brown); color: var(--vk-ivory);
	padding: 9px 20px; border-radius: 30px; font-weight: 600; font-size: .82rem;
	font-family: var(--vk-sans); cursor: pointer; transition: background .2s var(--vk-ease);
}
.vk-coupon__apply:hover { background: #3a2417; color: var(--vk-ivory); }
.vk-coupon__tag { flex: 0 0 auto; font-size: .76rem; font-weight: 700; padding: 6px 12px; border-radius: 30px; }
.vk-coupon__tag--applied { background: var(--vk-forest); color: var(--vk-ivory); }
.vk-coupon__tag--no { background: var(--vk-sand); color: var(--vk-muted); }

/* Ineligible coupons appear dull/greyed */
.vk-coupon.is-dull { opacity: .5; filter: grayscale(.6); border-style: solid; border-color: var(--vk-border); }
.vk-coupon.is-applied { border-color: var(--vk-forest); border-style: solid; background: #f1f5ef; }

@media (max-width: 480px) {
	.vk-coupon { flex-wrap: wrap; }
	.vk-coupon__apply, .vk-coupon__tag { width: 100%; text-align: center; }
}

/* Wishlist count badge (header) + wishlist page */
.vk-wishlist-link { position: relative; }
.vk-wishlist-count { position: absolute; top: -3px; right: -3px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--vk-terracotta); color: #fff; font-size: .62rem; font-weight: 700; display: grid; place-items: center; font-family: var(--vk-sans); line-height: 1; }
.vk-wishlist-count[hidden] { display: none; }
.vk-wishlist-empty { text-align: center; padding: 64px 20px; }
.vk-wishlist-empty p { color: var(--vk-muted); margin-bottom: 22px; font-size: 1.02rem; }
.vk-wishlist-page { margin-top: 8px; }

/* ============================================================
   Contact page ([vaachak_contact])
   ============================================================ */
.vk-contact { padding: 8px 0 20px; }
.vk-contact__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.vk-contact__title { font-family: var(--vk-serif); font-size: 2rem; color: var(--vk-brown); margin: 0 0 10px; }
.vk-contact__lead { color: var(--vk-muted); margin: 0 0 26px; max-width: 460px; }
.vk-contact__list { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 16px; }
.vk-contact__list li { display: flex; gap: 14px; align-items: flex-start; font-size: .98rem; color: var(--vk-text); }
.vk-contact__list a { color: var(--vk-text); }
.vk-contact__list a:hover { color: var(--vk-terracotta); }
.vk-contact__ic { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--vk-sand); color: var(--vk-brown); }
.vk-contact__social { display: flex; gap: 12px; margin-bottom: 28px; }
.vk-contact__soc { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--vk-brown); color: var(--vk-ivory); transition: background .2s var(--vk-ease), transform .2s var(--vk-ease); }
.vk-contact__soc:hover { background: var(--vk-terracotta); color: var(--vk-ivory); transform: translateY(-3px); }
.vk-contact__map { border-radius: var(--vk-radius-lg); overflow: hidden; border: 1px solid var(--vk-border); }
.vk-contact__map iframe { display: block; width: 100%; min-height: 320px; border: 0; }

.vk-contact__form-wrap { background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); padding: 30px; }
.vk-contact__formtitle { font-family: var(--vk-serif); font-size: 1.5rem; color: var(--vk-brown); margin: 0 0 4px; }
.vk-contact__formsub { color: var(--vk-muted); font-size: .9rem; margin: 0 0 22px; }
.vk-wa-form label { display: block; margin-bottom: 16px; }
.vk-wa-form label > span { display: block; font-size: .82rem; font-weight: 600; color: var(--vk-heading); margin-bottom: 6px; }
.vk-wa-form input, .vk-wa-form textarea { width: 100%; padding: 13px 15px; border: 1.5px solid var(--vk-border); border-radius: 10px; font-family: var(--vk-sans); font-size: .95rem; background: #fff; color: var(--vk-text); }
.vk-wa-form input:focus, .vk-wa-form textarea:focus { outline: none; border-color: var(--vk-gold); }
.vk-wa-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.vk-wa-form__btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; width: 100%; background: #25D366; color: #fff; border: none; padding: 14px; border-radius: 12px; font-weight: 700; font-size: 1rem; cursor: pointer; transition: background .2s var(--vk-ease); }
.vk-wa-form__btn:hover { background: #1da851; color: #fff; }
.vk-wa-form__note { font-size: .76rem; color: var(--vk-muted); text-align: center; margin: 12px 0 0; }

@media (max-width: 768px) {
	.vk-contact__grid { grid-template-columns: 1fr !important; gap: 32px; }
}
@media (max-width: 480px) {
	.vk-wa-form__row { grid-template-columns: 1fr; }
	.vk-contact__form-wrap { padding: 22px 18px; }
}

/* Let the contact layout use the full page width (escape .vk-prose 760px cap) */
.vk-prose:has(.vk-contact) { max-width: none; }

/* ============================================================
   About page ([vaachak_about])
   ============================================================ */
.vk-prose:has(.vk-about) { max-width: none; }
.vk-about { display: block; }
.vk-about__hero { display: grid; grid-template-columns: 1.1fr 1fr; gap: 48px; align-items: center; margin-bottom: 56px; }
.vk-about__eyebrow { font-family: var(--vk-sans); font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--vk-terracotta); }
.vk-about__h1 { font-family: var(--vk-serif); font-size: clamp(2.2rem, 4vw, 3.2rem); color: var(--vk-brown); line-height: 1.1; margin: 12px 0 18px; }
.vk-about__hero-text p { color: var(--vk-text); font-size: 1.08rem; line-height: 1.75; margin-bottom: 24px; }
.vk-about__hero-img img { width: 100%; height: auto; border-radius: var(--vk-radius-lg); box-shadow: var(--vk-shadow); display: block; }

.vk-about__block { max-width: 820px; margin: 0 auto 40px; text-align: center; }
.vk-about__block h2 { font-family: var(--vk-serif); font-size: 1.8rem; color: var(--vk-brown); margin: 0 0 14px; }
.vk-about__block p { color: var(--vk-text); font-size: 1.06rem; line-height: 1.8; }

.vk-about__values { margin: 56px 0; }
.vk-about__center { text-align: center; }
.vk-about__values h2 { font-family: var(--vk-serif); font-size: 1.9rem; color: var(--vk-brown); margin: 0 0 6px; }
.vk-about__sub { color: var(--vk-muted); margin: 0 auto 28px; }
.vk-about__banner { margin: 0 auto 36px; max-width: 1100px; }
.vk-about__banner img { width: 100%; height: auto; border-radius: var(--vk-radius-lg); display: block; box-shadow: var(--vk-shadow-sm); }

.vk-about__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.vk-about__grid--3 { grid-template-columns: repeat(3, 1fr); max-width: 980px; margin: 0 auto; }
.vk-about__card { text-align: center; padding: 28px 20px; background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); }
.vk-about__icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--vk-sand); color: var(--vk-brown); margin-bottom: 14px; }
.vk-about__icon svg { width: 26px; height: 26px; }
.vk-about__card h3 { font-family: var(--vk-serif); font-size: 1.2rem; color: var(--vk-brown); margin: 0 0 8px; }
.vk-about__card p { color: var(--vk-muted); font-size: .92rem; line-height: 1.6; margin: 0; }

.vk-about__cta { text-align: center; margin: 60px 0 24px; padding: 24px 24px; background: var(--vk-brown); border-radius: var(--vk-radius-lg); }
.vk-about__cta h2 { font-family: var(--vk-serif); font-size: 1.8rem; color: var(--vk-ivory); margin: 0 0 22px; }

@media (max-width: 768px) {
	.vk-about__hero { grid-template-columns: 1fr; gap: 28px; text-align: center; }
	.vk-about__grid { grid-template-columns: repeat(2, 1fr) !important; }
	.vk-about__grid--3 { grid-template-columns: 1fr !important; }
}
@media (max-width: 480px) {
	.vk-about__grid { grid-template-columns: 1fr !important; }
}

/* ============================================================
   Single product — gallery (multiple images, bigger) + rating fix
   ============================================================ */
/* WooCommerce defaults the gallery to width:48% + float; make it fill our column */
.vk-single .woocommerce-product-gallery,
.vk-single div.images,
.vk-single__gallery .woocommerce-product-gallery {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}
.vk-single .woocommerce-product-gallery__wrapper { margin: 0; }
.vk-single .woocommerce-product-gallery__image img,
.vk-single__gallery img { width: 100%; height: auto; border-radius: var(--vk-radius-lg); display: block; }
.vk-single .woocommerce-product-gallery { position: relative; }
.vk-single .woocommerce-product-gallery__trigger { position: absolute; top: 14px; right: 14px; z-index: 4; }

/* Thumbnail strip below the main image */
.vk-single .flex-control-thumbs { display: flex; flex-wrap: wrap; gap: 10px; margin: 14px 0 0; padding: 0; list-style: none; }
.vk-single .flex-control-thumbs li { width: 60px !important; margin: 0 !important; float: none !important; }
.vk-single .flex-control-thumbs img { width: 60px !important; height: 60px !important; object-fit: cover; border-radius: 8px; cursor: pointer; opacity: .55; border: 2px solid transparent; transition: opacity .2s, border-color .2s; }
.vk-single .flex-control-thumbs img.flex-active,
.vk-single .flex-control-thumbs img:hover { opacity: 1; border-color: var(--vk-gold); }

/* If gallery support/slider is off, show gallery images as a neat 2-col grid */
.vk-single .woocommerce-product-gallery--without-images { display: none; }

/* Rating: WooCommerce floats .star-rating right — keep it under the title */
.vk-single__rating { margin: 8px 0 16px; }
.vk-single__rating .star-rating,
.vk-card__rating .star-rating { float: none; margin: 0; }

/* Slightly larger gallery column on desktop */
@media (min-width: 1025px) {
	.vk-single__grid { grid-template-columns: 1.25fr 1fr; }
}

/* ============================================================
   Single product — reference-style price, rating, size swatches
   ============================================================ */
/* Rating: stars + numeric (e.g. 5 (12)) */
.vk-single__rating { display: flex; align-items: center; gap: 8px; margin: 6px 0 12px; }
.vk-single__ratingnum { font-size: .9rem; color: var(--vk-muted); font-family: var(--vk-sans); }

/* Price layout: NOW big, then MRP struck, then % OFF green (works for simple + variation) */
.vk-single__price .vk-price,
.woocommerce-variation-price .vk-price { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 10px; }
.vk-single__price .vk-price__now,
.woocommerce-variation-price .vk-price__now { order: 1; font-size: 1.9rem; font-weight: 800; color: var(--vk-brown); }
.vk-single__price .vk-price__was,
.woocommerce-variation-price .vk-price__was { order: 2; font-size: 1rem; color: var(--vk-muted); }
.vk-single__price .vk-price__was::before,
.woocommerce-variation-price .vk-price__was::before { content: "MRP "; }
.vk-single__price .vk-price__off,
.woocommerce-variation-price .vk-price__off { order: 3; font-size: .95rem; font-weight: 800; color: #0f9d58; background: none; padding: 0; }
.vk-single__tax { font-size: .78rem; color: var(--vk-muted); margin: 4px 0 18px; }

/* Size / attribute swatches (replaces the dropdown) */
.vk-swatches { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0; }
.vk-swatch { min-width: 50px; padding: 10px 16px; border: 1.5px solid var(--vk-border); border-radius: 8px; background: #fff; color: var(--vk-text); font-weight: 600; font-family: var(--vk-sans); font-size: .9rem; cursor: pointer; transition: border-color .2s var(--vk-ease), color .2s var(--vk-ease), box-shadow .2s var(--vk-ease); }
.vk-swatch:hover { border-color: var(--vk-gold); }
.vk-swatch.is-active { border-color: var(--vk-brown); color: var(--vk-brown); box-shadow: inset 0 0 0 1px var(--vk-brown); }
.vk-swatch.is-disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
.variations .vk-swatches + select { display: none; }
.variations td.value, .variations td.label { padding: 6px 0; }

/* ============================================================
   Single product — variation price, label, side-by-side buttons
   ============================================================ */
/* We show the variation price at the top, so hide WooCommerce's separate one */
.vk-single__summary .woocommerce-variation-price { display: none; }
.vk-single__summary .woocommerce-variation-availability { margin: 4px 0 10px; }

/* "Size" label vertically centered against the swatch boxes */
.vk-single__summary .variations th.label { vertical-align: middle; padding-top: 14px; text-align: left; padding-right: 16px; font-weight: 700; color: var(--vk-heading); }
.vk-single__summary .variations td.value { vertical-align: middle; }
.vk-single__summary .variations,
.vk-single__summary .variations tbody,
.vk-single__summary .variations tr { display: block; }
.vk-single__summary .variations th, .vk-single__summary .variations td { display: block; width: 100%; }
.vk-single__summary .reset_variations { display: inline-block; margin-top: 6px; font-size: .82rem; }

/* Add to Cart + Buy Now side by side (4px gap) — simple + variable */
.vk-single__summary form.cart:not(.variations_form),
.vk-single__summary .woocommerce-variation-add-to-cart { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.vk-single__summary form.cart:not(.variations_form) .quantity,
.vk-single__summary .woocommerce-variation-add-to-cart .quantity { flex: 0 0 auto; align-self: flex-start; margin: 0 0 4px; }
.vk-single__summary .single_add_to_cart_button,
.vk-single__summary .vk-buy-now { width: 100%; min-width: 0; margin: 0 !important; }

/* a touch more room between the main image and the thumbnail strip */
.vk-single .flex-control-thumbs { margin-top: 14px !important; }
.vk-single .woocommerce-product-gallery__wrapper { margin-bottom: 0; }

/* ============================================================
   Button colours — Add to Cart = solid brown, Buy Now = outline
   (applies on product cards AND single product, everywhere)
   ============================================================ */
.vk-card__atc,
.woocommerce ul.products li.product .button.vk-card__atc,
.single_add_to_cart_button,
.vk-single__summary .single_add_to_cart_button {
	background: #5D241D !important;
	border: 1.5px solid #5D241D !important;
	color: #fff !important;
	font-family: var(--vk-sans) !important;
	font-weight: 600 !important;
}
.vk-card__atc:hover,
.woocommerce ul.products li.product .button.vk-card__atc:hover,
.single_add_to_cart_button:hover,
.vk-single__summary .single_add_to_cart_button:hover { background: #4a1c16 !important; border-color: #4a1c16 !important; color: #fff !important; }

.vk-card__buynow,
.woocommerce ul.products li.product .button.vk-card__buynow,
.woocommerce ul.products li.product a.button.vk-card__buynow,
.vk-buy-now,
.vk-single__summary .vk-buy-now {
	background: #FCF8F5 !important;
	border: 1.5px solid #5D241D !important;
	color: #5D241D !important;
	font-family: var(--vk-sans) !important;
	font-weight: 600 !important;
}
.vk-card__buynow:hover,
.woocommerce ul.products li.product .button.vk-card__buynow:hover,
.woocommerce ul.products li.product a.button.vk-card__buynow:hover,
.vk-buy-now:hover,
.vk-single__summary .vk-buy-now:hover { background: #5D241D !important; color: #FCF8F5 !important; }

/* Rounded corners (matches the "Made in Bharat" chip) on all ATC / Buy Now buttons */
.vk-card__atc,
.woocommerce ul.products li.product .button.vk-card__atc,
.vk-card__buynow,
.woocommerce ul.products li.product .button.vk-card__buynow,
.single_add_to_cart_button,
.vk-single__summary .single_add_to_cart_button,
.vk-buy-now,
.vk-single__summary .vk-buy-now { border-radius: 30px !important; }

/* Card stacking order: Buy Now on TOP, Add to Cart BELOW */
.vk-card__cta,
.woocommerce ul.products li.product .vk-card__cta { gap: 6px !important; }
.vk-card__cta .vk-card__buynow,
.woocommerce ul.products li.product .vk-card__cta .vk-card__buynow { order: 1 !important; }
.vk-card__cta .vk-card__atc,
.vk-card__cta .button.vk-card__atc,
.woocommerce ul.products li.product .vk-card__cta .button.vk-card__atc { order: 2 !important; }
.vk-card__cta .vk-card__notify,
.woocommerce ul.products li.product .vk-card__cta .vk-card__notify { order: 3 !important; }

/* ============================================================
   Single product — tighten spacing, hide Clear, 15px button gap
   ============================================================ */
.vk-single__tax { margin: 2px 0 8px !important; }
.vk-single__summary form.cart { margin-top: 6px; }
.vk-single__summary .variations { margin: 0 0 6px; }
.vk-single__summary .variations th.label { padding-top: 0; }
.vk-single__summary .single_variation,
.vk-single__summary .single_variation_wrap { margin: 0; }
.vk-single__summary .woocommerce-variation-availability { margin: 2px 0 8px; }

/* Remove the "Clear" link */
.vk-single__summary .reset_variations,
.vk-single__summary .variations + .reset_variations { display: none !important; }

/* 15px gap between Add to Cart and Buy Now on the product page */
.vk-single__summary form.cart:not(.variations_form),
.vk-single__summary .woocommerce-variation-add-to-cart { gap: 15px; }

/* ============================================================
   Quantity stepper pill ( − 1 + ) + tighter single layout
   ============================================================ */
/* Pill */
.vk-single__summary .quantity { display: inline-flex; align-items: center; border: 1.5px solid var(--vk-border); border-radius: 30px; overflow: hidden; background: #fff; }
.vk-single__summary .quantity .vk-qty-btn { width: 42px; height: 44px; border: none; background: none; font-size: 1.3rem; line-height: 1; color: var(--vk-brown); cursor: pointer; display: grid; place-items: center; padding: 0; }
.vk-single__summary .quantity .vk-qty-btn:hover { background: var(--vk-sand); }
.vk-single__summary .quantity input.qty { width: 46px; height: 44px; border: none; background: none; text-align: center; font-weight: 700; font-size: 1rem; padding: 0; -moz-appearance: textfield; appearance: textfield; }
.vk-single__summary .quantity input.qty::-webkit-outer-spin-button,
.vk-single__summary .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Layout: quantity compact on its own row, then Add to Cart + Buy Now side by side (15px) */
.vk-single__summary form.cart:not(.variations_form),
.vk-single__summary .woocommerce-variation-add-to-cart { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
.vk-single__summary form.cart:not(.variations_form) .quantity,
.vk-single__summary .woocommerce-variation-add-to-cart .quantity { order: 0; align-self: flex-start; margin: 0 0 4px; }
/* Buy Now on TOP, Add to Cart BELOW (DOM has Add to Cart first, so flip with order) */
.vk-single__summary .vk-buy-now { order: 1; width: 100%; margin: 0 !important; }
.vk-single__summary .single_add_to_cart_button { order: 2; width: 100%; margin: 0 !important; }

/* Remove the "100 in stock" availability line */
.vk-single__summary .stock.in-stock,
.vk-single__summary .woocommerce-variation-availability { display: none !important; }

/* Tighten the gap between Size and the quantity */
.vk-single__summary .variations { margin: 0 0 12px; }
.vk-single__summary .single_variation_wrap { margin-top: 0; }
.vk-single__summary .single_variation { margin: 0; }

/* ============================================================
   Rich cart drawer (Vaaree-style)
   ============================================================ */
.vk-cart-drawer { display: flex; flex-direction: column; }
.vk-cart-drawer__close { position: absolute; top: 14px; right: 14px; z-index: 5; }
.vk-cart-drawer .vk-drawer__body { padding: 0; overflow: hidden; display: flex; flex-direction: column; height: 100%; }
.vk-cart-drawer .widget_shopping_cart_content { display: flex; flex-direction: column; min-height: 0; flex: 1; }

.vk-cart { display: flex; flex-direction: column; min-height: 0; flex: 1; position: relative; }
.vk-cart--loading { opacity: .55; pointer-events: none; }
.vk-cart__title { font-family: var(--vk-serif); font-size: 1.25rem; color: var(--vk-brown); padding: 18px 20px 12px; }

.vk-cart__empty { text-align: center; padding: 60px 24px; color: var(--vk-muted); }
.vk-cart__empty svg { width: 40px; height: 40px; opacity: .4; margin-bottom: 12px; }
.vk-cart__empty .btn { margin-top: 14px; }

.vk-cart__savebanner { margin: 0 16px 12px; padding: 9px 14px; background: #e7f5ec; color: #157347; border-radius: 10px; font-size: .85rem; font-weight: 700; text-align: center; }
.vk-cart__savebanner .amount { color: #157347; }

/* scrollable middle */
.vk-cart__scroll { flex: 1 1 auto; overflow-y: auto; min-height: 0; }
.vk-cart__items { padding: 0 16px; }

.vk-cartitem { position: relative; display: grid; grid-template-columns: 64px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--vk-border); }
.vk-cartitem__img img { width: 64px; height: 64px; object-fit: cover; border-radius: 10px; display: block; }
.vk-cartitem__name { font-weight: 600; font-size: .9rem; color: var(--vk-heading); text-decoration: none; line-height: 1.3; display: block; padding-right: 22px; }
.vk-cartitem__name:hover { color: var(--vk-terracotta); }
.vk-cartitem__meta { font-size: .78rem; color: var(--vk-muted); margin: 2px 0 6px; }
.vk-cartitem__meta p { margin: 0; }
.vk-cartitem__price { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin-bottom: 8px; }
.vk-cartitem__price .now { font-weight: 800; color: var(--vk-brown); }
.vk-cartitem__price .was { font-size: .8rem; color: var(--vk-muted); text-decoration: line-through; }
.vk-cartitem__price .off { font-size: .76rem; font-weight: 800; color: #0f9d58; }
.vk-cart-qty { display: inline-flex; align-items: center; border: 1.5px solid var(--vk-border); border-radius: 30px; overflow: hidden; }
.vk-cart-qty .vk-qty-btn { width: 30px; height: 30px; border: none; background: none; font-size: 1.05rem; line-height: 1; color: var(--vk-brown); cursor: pointer; display: grid; place-items: center; padding: 0; }
.vk-cart-qty .vk-qty-btn:hover { background: var(--vk-sand); }
.vk-cart-qnum { min-width: 30px; text-align: center; font-weight: 700; font-size: .9rem; }
.vk-cartitem__remove { position: absolute; top: 12px; right: 0; border: none; background: none; font-size: 1.2rem; line-height: 1; color: var(--vk-muted); cursor: pointer; }
.vk-cartitem__remove:hover { color: var(--vk-rosewood); }

/* coupon */
.vk-cart__coupon { padding: 14px 16px; border-top: 8px solid var(--vk-bg); }
.vk-cart__coupon-label { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--vk-heading); font-size: .9rem; margin-bottom: 10px; }
.vk-cart__coupon-label svg { width: 18px; height: 18px; }
.vk-cart__coupon-row { display: flex; gap: 8px; }
.vk-coupon-input { flex: 1; padding: 10px 12px; border: 1.5px solid var(--vk-border); border-radius: 10px; font-size: .88rem; }
.vk-coupon-apply { padding: 10px 18px; border: none; border-radius: 10px; background: var(--vk-brown); color: #fff; font-weight: 700; cursor: pointer; }
.vk-cart__coupon-active { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; font-size: .82rem; color: #157347; }
.vk-coupon-remove { border: none; background: none; color: var(--vk-rosewood); cursor: pointer; font-size: .8rem; text-decoration: underline; }

/* bill */
.vk-cart__bill { padding: 14px 16px; border-top: 8px solid var(--vk-bg); }
.vk-cart__bill-title { font-weight: 700; color: var(--vk-heading); font-size: .9rem; margin-bottom: 10px; }
.vk-cart__bill .row { display: flex; justify-content: space-between; font-size: .9rem; color: var(--vk-text); padding: 4px 0; }
.vk-cart__bill .row--save span:last-child { color: #157347; font-weight: 700; }
.vk-cart__bill .row--total { border-top: 1px dashed var(--vk-border); margin-top: 6px; padding-top: 10px; font-weight: 800; color: var(--vk-brown); font-size: 1rem; }
.vk-cart__bill .vk-free { color: #157347; }

/* trust */
.vk-cart__trust { display: flex; justify-content: space-around; gap: 8px; padding: 12px 16px; border-top: 8px solid var(--vk-bg); }
.vk-cart__trust span { display: flex; flex-direction: column; align-items: center; gap: 4px; font-size: .68rem; color: var(--vk-muted); text-align: center; }
.vk-cart__trust svg { width: 18px; height: 18px; color: var(--vk-terracotta); }

/* sticky checkout */
.vk-cart__foot { flex: 0 0 auto; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); border-top: 1px solid var(--vk-border); background: var(--vk-surface); }
.vk-cart__foot-save { text-align: center; font-size: .8rem; color: #157347; font-weight: 700; margin-bottom: 8px; }
.vk-cart__checkout { display: block; text-align: center; padding: 15px; background: #8b372d; color: #fff !important; font-weight: 800; border-radius: 12px; text-decoration: none; }
.vk-cart__checkout:hover { background: #732c24; }
.vk-cart__viewcart { display: block; text-align: center; margin-top: 8px; font-size: .85rem; color: var(--vk-brown); text-decoration: underline; }

/* ============================================================
   Cart drawer — coupon list (Vaaree-style)
   ============================================================ */
.vk-cart__coupon-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.vk-cart__coupon-title { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--vk-heading); font-size: .9rem; }
.vk-cart__coupon-title svg { width: 18px; height: 18px; color: var(--vk-terracotta); }
.vk-coupons-toggle { border: none; background: none; color: var(--vk-terracotta); font-weight: 700; font-size: .82rem; cursor: pointer; }

.vk-coupon-best { display: flex; justify-content: space-between; align-items: center; gap: 10px; background: #eaf7ef; border: 1px solid #bfe6cd; border-radius: 12px; padding: 10px 12px; }
.vk-coupon-best__txt strong { display: block; font-size: .9rem; color: var(--vk-heading); }
.vk-coupon-best__txt span { font-size: .75rem; color: var(--vk-muted); }
.vk-coupon-apply-code { border: none; background: #157347; color: #fff; font-weight: 700; padding: 8px 16px; border-radius: 8px; cursor: pointer; font-size: .85rem; white-space: nowrap; }
.vk-coupon-apply-code[disabled] { background: #cdd6d0; cursor: not-allowed; }

.vk-cart__allcoupons { margin-top: 12px; }
.vk-coupon-list { margin-top: 12px; display: flex; flex-direction: column; gap: 10px; }
.vk-coupon-card { display: flex; justify-content: space-between; align-items: center; gap: 10px; border: 1px solid var(--vk-border); border-left: 4px solid var(--vk-gold); border-radius: 10px; padding: 10px 12px; }
.vk-coupon-card.is-locked { opacity: .9; border-left-color: var(--vk-border); }
.vk-coupon-card.is-applied { border-left-color: #157347; background: #f3faf5; }
.vk-coupon-card__code { font-weight: 800; color: var(--vk-brown); letter-spacing: .03em; }
.vk-coupon-card__desc { font-size: .8rem; color: var(--vk-text); }
.vk-coupon-card__need { font-size: .76rem; color: var(--vk-rosewood); margin-top: 2px; }
.vk-coupon-card__pay { font-size: .76rem; color: #157347; margin-top: 2px; }

/* ============================================================
   Shop — horizontal scrolling category strip (Vaaree-style)
   ============================================================ */
.vk-catstrip { display: flex; gap: 30px; overflow-x: auto; padding: 6px 2px 16px; margin-bottom: 22px; border-bottom: 1px solid var(--vk-border); -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.vk-catstrip::-webkit-scrollbar { height: 6px; }
.vk-catstrip::-webkit-scrollbar-thumb { background: var(--vk-border); border-radius: 10px; }
.vk-catstrip__item { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 10px; width: 96px; text-decoration: none; }
.vk-catstrip__img { width: 88px; height: 88px; border-radius: 26px; overflow: hidden; border: 1px solid var(--vk-border); display: grid; place-items: center; background: var(--vk-sand); transition: border-color .2s var(--vk-ease), transform .2s var(--vk-ease), box-shadow .2s var(--vk-ease); }
.vk-catstrip__img img { width: 100%; height: 100%; object-fit: cover; }
.vk-catstrip__img svg { width: 30px; height: 30px; color: var(--vk-brown); }
.vk-catstrip__name { font-size: .82rem; text-align: center; line-height: 1.25; color: var(--vk-text); }
.vk-catstrip__item:hover .vk-catstrip__img { border-color: var(--vk-gold); transform: translateY(-2px); }
.vk-catstrip__item.is-active .vk-catstrip__img { border-color: var(--vk-brown); box-shadow: inset 0 0 0 2px var(--vk-brown); }
.vk-catstrip__item.is-active .vk-catstrip__name { color: var(--vk-brown); font-weight: 700; }
@media (max-width: 600px) {
	.vk-catstrip { gap: 20px; }
	.vk-catstrip__item { width: 80px; }
	.vk-catstrip__img { width: 72px; height: 72px; border-radius: 22px; }
}

/* ============================================================
   Shop — full-width grid toolbar + right-side Filter drawer
   ============================================================ */
.vk-archive__toolbar .vk-filter-open { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 30px; font-size: .9rem; }
.vk-archive__toolbar .vk-filter-open svg { width: 16px; height: 16px; }

.vk-filter-drawer { display: flex; flex-direction: column; }
.vk-filter__head { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--vk-border); }
.vk-filter__title { font-family: var(--vk-serif); font-size: 1.3rem; color: var(--vk-brown); }
.vk-filter-drawer .vk-drawer__body { padding: 18px 22px; }
.vk-filter__group { padding: 0 0 20px; margin-bottom: 20px; border-bottom: 1px solid var(--vk-border); }
.vk-filter__label { font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; color: var(--vk-muted); margin: 0 0 12px; font-weight: 700; }
.vk-filter__cats { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.vk-filter__cats a { display: flex; justify-content: space-between; gap: 10px; padding: 9px 12px; border-radius: 10px; text-decoration: none; color: var(--vk-text); font-size: .92rem; }
.vk-filter__cats a span { color: var(--vk-muted); font-size: .82rem; }
.vk-filter__cats a:hover { background: var(--vk-sand); }
.vk-filter__cats a.is-active { background: var(--vk-brown); color: #fff; }
.vk-filter__cats a.is-active span { color: rgba(255,255,255,.7); }
.vk-filter__price { display: flex; align-items: center; gap: 10px; }
.vk-filter__price input { width: 100%; padding: 10px 12px; border: 1.5px solid var(--vk-border); border-radius: 10px; }
.vk-filter__apply { margin-top: 12px; width: 100%; padding: 12px; border: none; border-radius: 10px; background: var(--vk-brown); color: #fff; font-weight: 700; cursor: pointer; }
.vk-filter__clear { display: inline-block; color: var(--vk-rosewood); text-decoration: underline; font-size: .9rem; }

/* ============================================================
   Product card — wishlist heart in category row + teal off badge
   ============================================================ */
.vk-card__catrow { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.vk-card__catrow .vk-card__cat { margin: 0; }
.vk-wishlist--inline { position: static; top: auto; right: auto; width: 34px; height: 34px; flex: 0 0 auto; background: #fff; border: 1px solid var(--vk-border); box-shadow: none; }
.vk-wishlist--inline:hover { background: var(--vk-sand); transform: scale(1.06); }
.vk-wishlist--inline svg { width: 18px; height: 18px; }

/* Card price: now + MRP on one line, % OFF teal badge below (Vaaree-style) */
.vk-card__price .vk-price { display: block; }
.vk-card__price .vk-price__now { font-weight: 800; font-size: 1.15rem; color: var(--vk-brown); }
.vk-card__price .vk-price__was { font-size: .85rem; color: var(--vk-muted); margin-left: 8px; text-decoration: line-through; }
.vk-card__price .vk-price__off { display: block; width: fit-content; margin-top: 6px; background: #e0f2f1; color: #0f766e; font-weight: 800; font-size: .74rem; padding: 3px 9px; border-radius: 6px; letter-spacing: .02em; }

/* ============================================================
   Homepage category showcase — 1:1 tiles
   Desktop: single scrollable row (rows dissolve via display:contents)
   Mobile: two independently-scrollable rows
   ============================================================ */
.vk-mosaic .vk-catgrid { display: flex; gap: 18px; overflow-x: auto; padding-bottom: 4px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none; cursor: grab; user-select: none; -webkit-user-select: none; }
.vk-mosaic .vk-catgrid a, .vk-mosaic .vk-catgrid img { -webkit-user-drag: none; user-drag: none; }
.vk-mosaic .vk-catgrid::-webkit-scrollbar { display: none; height: 0; }
.vk-mosaic .vk-catgrid.is-dragging { cursor: grabbing; }
.vk-mosaic .vk-catgrid__row { display: contents; }
.vk-catgrid__tile { flex: 0 0 270px; aspect-ratio: 1 / 1; border-radius: 18px; overflow: hidden; position: relative; display: flex; flex-direction: column; justify-content: flex-end; padding: 16px; text-decoration: none; color: #fff; scroll-snap-align: start; background-color: var(--vk-brown); background-image: linear-gradient(to top, rgba(20,12,6,.72) 0%, rgba(20,12,6,.15) 45%, transparent 70%), var(--vk-tile-img, none); background-size: cover; background-position: center; transition: transform .3s var(--vk-ease); }
.vk-catgrid__tile:hover { transform: translateY(-3px); }
.vk-catgrid__tile img { pointer-events: none; }
.vk-catgrid__label { font-family: var(--vk-serif); font-size: 1.2rem; font-weight: 600; line-height: 1.2; }
.vk-catgrid__cta { font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; opacity: .85; margin-top: 4px; }
@media (max-width: 900px) {
	.vk-catgrid__tile { flex-basis: 220px; }
}
@media (max-width: 600px) {
	.vk-mosaic .vk-catgrid { display: block; overflow: visible; cursor: default; }
	.vk-mosaic .vk-catgrid__row { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 8px; margin-bottom: 10px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.vk-mosaic .vk-catgrid__row::-webkit-scrollbar { display: none; }
	.vk-mosaic .vk-catgrid__row:last-child { margin-bottom: 0; }
	.vk-catgrid__tile { flex: 0 0 30%; border-radius: 14px; padding: 10px; }
	.vk-catgrid__label { font-size: .82rem; }
	.vk-catgrid__cta { font-size: .56rem; letter-spacing: .08em; }
}

/* ============================================================
   Homepage video section
   ============================================================ */
.vk-video__frame { position: relative; width: 100%; max-width: 960px; margin: 0 auto; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; box-shadow: var(--vk-shadow); background: #000; }
.vk-video__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ============================================================
   Footer — Connect column (social icons inline + contact)
   ============================================================ */
.vk-footer__social { display: flex; gap: 12px; margin-bottom: 16px; }
.vk-footer__social a { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.08); color: var(--vk-ivory); transition: background .2s var(--vk-ease), transform .2s var(--vk-ease); }
.vk-footer__social a:hover { background: var(--vk-gold); color: var(--vk-brown); transform: translateY(-2px); }
.vk-footer__social svg { width: 18px; height: 18px; }
.vk-footer__contact { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.vk-footer__contact li { display: flex; align-items: flex-start; gap: 10px; font-size: .9rem; line-height: 1.5; color: var(--vk-ivory); opacity: .85; }
.vk-footer__contact a { color: var(--vk-ivory); text-decoration: none; }
.vk-footer__contact a:hover { color: var(--vk-gold); }
.vk-footer__cicon { flex: 0 0 auto; margin-top: 2px; opacity: .8; }
.vk-footer__cicon svg { width: 16px; height: 16px; }

/* Gift card with uploaded image */
.vk-gift-card--img { background-size: cover !important; background-position: center !important; background-repeat: no-repeat; }

/* ============================================================
   Infinite scroll (shop / category archives)
   ============================================================ */
.vk-infinite-sentinel { width: 100%; height: 1px; }
.vk-infinite-loader { display: flex; justify-content: center; padding: 28px 0; }
.vk-infinite-loader[hidden] { display: none; }
.vk-infinite-spinner { width: 30px; height: 30px; border-radius: 50%; border: 3px solid var(--vk-border); border-top-color: var(--vk-terracotta); animation: vk-spin .7s linear infinite; }
@keyframes vk-spin { to { transform: rotate(360deg); } }

/* ============================================================
   Custom logo (Site Identity) — header + footer sizing
   ============================================================ */
.vk-header__brand .custom-logo-link { display: inline-flex; align-items: center; line-height: 0; }
.vk-header__brand .custom-logo { height: 46px; width: auto; max-width: 200px; display: block; }
.vk-logo--footer.vk-logo--img { display: inline-block; margin-bottom: 14px; }
.vk-logo--footer .custom-logo-link { display: inline-block; line-height: 0; }
.vk-logo--footer .custom-logo { height: 60px; width: auto; max-width: 220px; display: block; }
@media (max-width: 768px) {
	.vk-header__brand .custom-logo { height: 38px; }
}

/* ===== About — Story layout (cover image + content + video) ===== */
.vk-about--story { display: block; }
.vk-about__cover { width: 100vw; margin-left: calc(50% - 50vw); margin-bottom: 48px; overflow: hidden; aspect-ratio: 16 / 9; background: var(--vk-sand); }
.vk-about__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vk-about__story.container { max-width: 880px; }
.vk-about--story .vk-about__block { max-width: 100%; margin: 0 auto 36px; text-align: left; }
.vk-about--story .vk-about__block h2 { font-size: clamp(1.6rem, 2.6vw, 2rem); margin: 0 0 16px; text-align: left; }
.vk-about__block--lead { margin-bottom: 44px; }
.vk-about__block--lead .vk-about__h1 { text-align: left; margin: 0 0 22px; }
.vk-about--story .vk-about__block p { margin: 0 0 16px; }
.vk-about__principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 22px; }
.vk-about__principle { background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); padding: 24px 22px; }
.vk-about__principle h3 { font-family: var(--vk-serif); font-size: 1.18rem; color: var(--vk-brown); margin: 0 0 10px; }
.vk-about__principle p { font-size: .96rem; line-height: 1.7; color: var(--vk-muted); margin: 0 !important; }
.vk-about__list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 12px; }
.vk-about__list li { position: relative; padding-left: 30px; color: var(--vk-text); font-size: 1.06rem; line-height: 1.7; }
.vk-about__list li::before { content: ""; position: absolute; left: 6px; top: .62em; width: 9px; height: 9px; border-radius: 50%; background: var(--vk-gold); }
.vk-about__videowrap { margin-top: 8px; }
@media (max-width: 768px) {
	.vk-about__cover { margin-bottom: 30px; }
	.vk-about__principles { grid-template-columns: 1fr; }
}

/* ===== Comments — clean "Comment as" form ===== */
.vk-comments { max-width: 760px; margin: 48px 0 0; }
.vk-comments__count { font-family: var(--vk-serif); font-size: 1.4rem; color: var(--vk-brown); margin: 0 0 18px; }
.vk-comments__list { list-style: none; margin: 0 0 32px; padding: 0; }
.vk-comments__list .comment-body { padding: 16px 0; border-bottom: 1px solid var(--vk-border); }
.vk-comments__list .comment-author { display: flex; align-items: center; gap: 10px; color: var(--vk-brown); font-weight: 600; }
.vk-comments__list .comment-author .avatar { border-radius: 50%; }
.vk-comments__list .comment-author .says { display: none; }
.vk-comments__list .comment-metadata { font-size: .78rem; color: var(--vk-muted); margin: 4px 0 8px; }
.vk-comments__list .comment-metadata a { color: var(--vk-muted); }
.vk-comments__list .reply { font-size: .85rem; }
.vk-comments__title { font-family: var(--vk-serif); font-size: 1.3rem; color: var(--vk-brown); margin: 0 0 14px; }

.vk-comment-form { background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); padding: 18px 20px; }
.vk-comment__as { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; }
.vk-comment__avatar { width: 44px; height: 44px; border-radius: 50%; flex: 0 0 auto; }
.vk-comment__aslabel { font-family: var(--vk-sans); font-weight: 600; color: var(--vk-heading); white-space: nowrap; }
.vk-comment__asname { font-family: var(--vk-sans); font-weight: 600; color: var(--vk-brown); }
.vk-comment__name { flex: 1; min-width: 0; border: none; border-bottom: 1.5px solid var(--vk-border); background: transparent; padding: 7px 2px; font-family: var(--vk-sans); font-size: .98rem; color: var(--vk-text); }
.vk-comment__name:focus { outline: none; border-bottom-color: var(--vk-gold); }
.vk-comment__field { margin: 0 0 14px; }
.vk-comment__text { width: 100%; border: 1px solid var(--vk-border); border-radius: var(--vk-radius); background: #fff; padding: 12px 14px; font-family: var(--vk-sans); font-size: 1rem; color: var(--vk-text); line-height: 1.6; resize: vertical; min-height: 96px; }
.vk-comment__text:focus { outline: none; border-color: var(--vk-gold); }
.vk-comment__submit { cursor: pointer; }
.vk-comment-form .comment-form-comment { margin: 0; }
.vk-comments__closed { color: var(--vk-muted); }

/* ===== About — centred story variant (new content) ===== */
.vk-about--center .vk-about__story.container { max-width: 860px; }
.vk-about--center .vk-about__block,
.vk-about--center .vk-about__block h2,
.vk-about--center .vk-about__block--lead .vk-about__h1 { text-align: center; }
.vk-about--center .vk-about__block p { margin-left: auto; margin-right: auto; }
.vk-about__eyebrow { display: block; text-transform: uppercase; letter-spacing: .18em; font-size: .8rem; font-weight: 600; color: var(--vk-gold); font-family: var(--vk-sans); margin: 0 0 10px; }
.vk-about__cta { display: inline-block; margin-top: 22px; }
.vk-about__lines { color: var(--vk-text); }
.vk-about__thanks { font-family: var(--vk-serif); font-size: 1.2rem; color: var(--vk-brown); font-style: italic; margin-top: 18px; }
/* Our Philosophy — centred dotted list */
.vk-about--center .vk-about__list { display: inline-flex; flex-direction: column; gap: 10px; margin: 16px auto; padding: 0; align-items: center; text-align: center; }
.vk-about--center .vk-about__list li { padding-left: 0; }
.vk-about--center .vk-about__list li::before { position: static; display: inline-block; margin-right: 10px; vertical-align: middle; top: auto; left: auto; }
/* Why Shop — checkmark list */
.vk-about__checks { list-style: none; margin: 8px auto 0; padding: 0; display: inline-flex; flex-direction: column; gap: 12px; text-align: left; }
.vk-about__checks li { position: relative; padding-left: 34px; font-size: 1.06rem; color: var(--vk-text); line-height: 1.5; }
.vk-about__checks li::before { content: "\2713"; position: absolute; left: 0; top: 1px; width: 22px; height: 22px; line-height: 22px; text-align: center; border-radius: 50%; background: var(--vk-gold); color: #fff; font-size: .78rem; font-weight: 700; }
/* What We Stand For — 4 cards, centred */
.vk-about__principles--4 { grid-template-columns: repeat(2, 1fr); }
.vk-about--center .vk-about__principle { text-align: center; }
@media (max-width: 768px) {
	.vk-about__principles--4 { grid-template-columns: 1fr; }
}

/* ===== Experiences page (wireframe layout) ===== */
.vk-prose:has(.vk-exp) { max-width: none; }
.vk-exp { margin: 0; }
.vk-exp__body.container { max-width: 1120px; }
.vk-exp__eyebrow { display: block; text-transform: uppercase; letter-spacing: .18em; font-size: .78rem; font-weight: 600; color: var(--vk-gold); font-family: var(--vk-sans); margin: 0 0 10px; }
.vk-exp__h2 { font-family: var(--vk-serif); font-size: clamp(1.6rem, 3vw, 2.2rem); color: var(--vk-brown); margin: 0 0 18px; }

/* Hero */
.vk-exp__hero { position: relative; margin-bottom: 64px; }
.vk-exp__heromedia { position: relative; width: 100%; aspect-ratio: 16 / 7; overflow: hidden; background: var(--vk-sand); }
.vk-exp__herovideo { position: absolute; top: 50%; left: 50%; width: 177.78vh; height: 56.25vw; min-width: 100%; min-height: 100%; transform: translate(-50%, -50%); border: 0; pointer-events: none; }
.vk-exp__heroimg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; background-size: cover; background-position: center; }
.vk-exp__heroscrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(30,20,12,.25), rgba(30,20,12,.6)); }
.vk-exp__herocap { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px; }
.vk-exp__herocap .vk-exp__eyebrow { color: var(--vk-gold); }
.vk-exp__herotitle { font-family: var(--vk-serif); color: #fff; font-size: clamp(1.8rem, 4.4vw, 3.4rem); line-height: 1.15; max-width: 16ch; margin: 0; text-shadow: 0 2px 20px rgba(0,0,0,.4); }

/* Sections */
.vk-exp__section { margin: 0 0 64px; }
.vk-exp__shead { text-align: center; margin-bottom: 28px; }
.vk-exp__split { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.vk-exp__col--text p { margin: 0 0 14px; }
.vk-exp__quote { font-family: var(--vk-serif); font-size: 1.35rem; line-height: 1.5; font-style: italic; color: var(--vk-brown); border-left: 3px solid var(--vk-gold); padding-left: 20px; margin: 0; }

/* Figures + images */
.vk-exp__fig { margin: 0; }
.vk-exp__imgwrap { aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--vk-radius-lg); background: var(--vk-sand); border: 1px solid var(--vk-border); }
.vk-exp__imgwrap img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--vk-ease); }
.vk-exp__fig:hover .vk-exp__imgwrap img { transform: scale(1.04); }
.vk-exp__imgwrap--ph { display: flex; align-items: center; justify-content: center; color: var(--vk-muted); font-family: var(--vk-sans); font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; }
.vk-exp__fig figcaption { margin-top: 10px; font-size: .9rem; color: var(--vk-muted); text-align: center; }

/* Gallery (3 col) */
.vk-exp__gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

/* Storytelling stack */
.vk-exp__stack { display: grid; gap: 20px; }
.vk-exp__split--story .vk-exp__col--media .vk-exp__imgwrap { aspect-ratio: 16 / 9; }

/* Reels (2 col) */
.vk-exp__reels { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.vk-exp__reel .vk-video__frame { border-radius: var(--vk-radius-lg); overflow: hidden; }

/* CTA */
.vk-exp__cta { text-align: center; margin: 8px 0 16px; }

@media (max-width: 900px) {
	.vk-exp__split, .vk-exp__split--story { grid-template-columns: 1fr; gap: 28px; }
	.vk-exp__split--story .vk-exp__col--media { order: 2; }
	.vk-exp__gallery { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
	/* Show the full banner image at its natural ratio (no crop) */
	.vk-exp__heromedia:has(img.vk-exp__heroimg) { aspect-ratio: auto; }
	.vk-exp__heromedia:has(img.vk-exp__heroimg) img.vk-exp__heroimg { position: static; width: 100%; height: auto; object-fit: contain; display: block; }
	/* Video / placeholder keep a sensible box */
	.vk-exp__heromedia:has(.vk-exp__herovideo) { aspect-ratio: 16 / 9; }
	.vk-exp__heromedia:has(.vk-exp__imgwrap--ph) { aspect-ratio: 4 / 5; }
	.vk-exp__herovideo { width: 100%; height: 100%; min-width: 0; min-height: 0; top: 0; left: 0; transform: none; }
	.vk-exp__gallery, .vk-exp__reels { grid-template-columns: 1fr; }
	.vk-exp__section { margin-bottom: 48px; }
}

/* ===== Craft by State page ===== */
.vk-prose:has(.vk-state) { max-width: none; }
.vk-state__eyebrow { display: block; text-transform: uppercase; letter-spacing: .18em; font-size: .8rem; font-weight: 600; color: var(--vk-gold); font-family: var(--vk-sans); margin: 0 0 10px; }

/* Hero banner */
.vk-state__hero { width: 100vw; margin-left: calc(50% - 50vw); }
.vk-state__banner { display: block; width: 100%; height: auto; }
.vk-state__banner--ph { aspect-ratio: 16 / 6; background: var(--vk-sand); display: flex; align-items: center; padding: 0 8%; }
.vk-state__banner--ph h1 { font-family: var(--vk-serif); font-size: clamp(2rem, 4vw, 3.2rem); color: var(--vk-brown); margin: 0 0 12px; max-width: 14ch; }
.vk-state__banner--ph p { max-width: 42ch; color: var(--vk-text); margin: 0 0 18px; }

/* Stats bar */
.vk-state__stats { background: var(--vk-sand); border-top: 1px solid var(--vk-border); border-bottom: 1px solid var(--vk-border); width: 100vw; margin-left: calc(50% - 50vw); }
.vk-state__stats-row { display: flex; flex-wrap: wrap; justify-content: space-around; gap: 18px; padding: 22px 20px; }
.vk-state__stat { text-align: center; min-width: 130px; }
.vk-state__stat strong { display: block; font-family: var(--vk-serif); font-size: 1.5rem; color: var(--vk-brown); line-height: 1.1; }
.vk-state__stat span { font-size: .9rem; color: var(--vk-muted); }

/* Explore by state */
.vk-state__explore { display: grid; grid-template-columns: 264px 1fr; gap: 36px; align-items: start; padding-top: 48px; padding-bottom: 56px; }
.vk-state__navtitle { font-family: var(--vk-sans); text-transform: uppercase; letter-spacing: .12em; font-size: .82rem; color: var(--vk-muted); margin: 0 0 14px; }
.vk-state__navlist { display: flex; flex-direction: column; gap: 8px; }
.vk-state__navbtn { display: flex; flex-direction: column; gap: 2px; text-align: left; padding: 12px 16px; border: 1px solid var(--vk-border); border-radius: var(--vk-radius); background: var(--vk-surface); cursor: pointer; transition: all .2s var(--vk-ease); font-family: var(--vk-sans); }
.vk-state__navbtn:hover { border-color: var(--vk-gold); }
.vk-state__navbtn.is-active { background: var(--vk-forest); border-color: var(--vk-forest); }
.vk-state__navname { font-weight: 600; color: var(--vk-heading); font-size: 1rem; }
.vk-state__navsub { font-size: .8rem; color: var(--vk-muted); }
.vk-state__navbtn.is-active .vk-state__navname,
.vk-state__navbtn.is-active .vk-state__navsub { color: #fff; }
.vk-state__navbtn.is-active .vk-state__navsub { color: rgba(255,255,255,.78); }

/* Panels */
.vk-state__panel[hidden] { display: none; }
.vk-state__grid { display: grid; grid-template-columns: 1.15fr 1fr .95fr; gap: 28px; align-items: start; }
.vk-state__name { font-family: var(--vk-serif); font-size: clamp(1.8rem, 3vw, 2.4rem); color: var(--vk-forest); margin: 0 0 6px; }
.vk-state__tagline { color: var(--vk-terracotta); font-weight: 600; margin: 0 0 16px; }
.vk-state__col-text p { margin: 0 0 14px; font-size: .96rem; line-height: 1.75; }
.vk-state__images { display: flex; flex-direction: column; gap: 16px; }
.vk-state__image { margin: 0; aspect-ratio: 1 / 1; border-radius: var(--vk-radius-lg); overflow: hidden; border: 1px solid var(--vk-border); background: var(--vk-sand); }
.vk-state__image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vk-state__image-ph { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: var(--vk-muted); text-transform: uppercase; letter-spacing: .08em; font-size: .85rem; }
.vk-state__about { background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); padding: 22px; }
.vk-state__about h3 { font-family: var(--vk-serif); font-size: 1.2rem; color: var(--vk-brown); margin: 0 0 8px; }
.vk-state__about dl { margin: 0; }
.vk-state__about dt { font-weight: 600; color: var(--vk-heading); font-size: .82rem; margin-top: 12px; }
.vk-state__about dd { margin: 2px 0 0; color: var(--vk-muted); font-size: .9rem; line-height: 1.5; }
.vk-state__about-cta { margin-top: 18px; width: 100%; text-align: center; }

/* Products row */
.vk-state__products-wrap { margin-top: 44px; border-top: 1px solid var(--vk-border); padding-top: 32px; }
.vk-state__products-title { text-align: center; font-family: var(--vk-serif); font-size: 1.5rem; color: var(--vk-brown); margin: 0 0 24px; }
.vk-state__products { display: flex !important; gap: 20px; overflow-x: auto; padding: 4px 2px 14px; list-style: none; margin: 0; scroll-snap-type: x mandatory; }
.vk-state__products > li.product { flex: 0 0 240px; width: 240px; max-width: 240px; margin: 0 !important; scroll-snap-align: start; }
.vk-state__empty { text-align: center; color: var(--vk-muted); }
.vk-state__products-cta { text-align: center; margin-top: 24px; }

@media (max-width: 980px) {
	.vk-state__grid { grid-template-columns: 1fr 1fr; }
	.vk-state__about { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
	/* Banner: force 1920x1080 (16:9) proportion */
	img.vk-state__banner { aspect-ratio: 16 / 9; object-fit: cover; height: auto; }
	.vk-state__banner--ph { aspect-ratio: auto; padding: 36px 22px; }
	.vk-state__explore { grid-template-columns: minmax(0, 1fr); gap: 18px; padding-top: 32px; }
	.vk-state__nav { min-width: 0; max-width: 100%; }
	.vk-state__navlist { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 10px; padding-bottom: 8px; }
	.vk-state__navbtn { flex: 0 0 auto; min-width: 150px; }
	.vk-state__panels { min-width: 0; }
	.vk-state__grid { grid-template-columns: 1fr; gap: 20px; }
	.vk-state__col-media { order: -1; min-width: 0; }
	/* State images: full screen width, edge-to-edge, swipe between the two */
	.vk-state__images { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; gap: 0; scroll-snap-type: x mandatory; width: 100vw; margin-left: calc(50% - 50vw); padding-bottom: 0; }
	.vk-state__image { flex: 0 0 100vw; width: 100vw; scroll-snap-align: center; border-radius: 0; border-left: 0; border-right: 0; }
	.vk-state__products > li.product { flex-basis: 200px; width: 200px; }
}

/* ===== Mega menu (Shop by Craft / Shop by Category) ===== */
.vk-menu .vk-mega-toggle { display: none; }

/* Desktop: anchor mega to the header row, full container width */
.vk-menu > li.vk-has-mega { position: static; }
.vk-menu .vk-mega {
	position: absolute; top: 100%; left: 0; right: auto; width: 66%; z-index: 250;
	background: #fff; border-top: 1px solid var(--vk-border); border-bottom-right-radius: 14px;
	box-shadow: 0 22px 44px rgba(30, 20, 12, .15);
	opacity: 0; visibility: hidden; transform: translateY(6px);
	transition: opacity .18s var(--vk-ease), transform .18s var(--vk-ease), visibility .18s;
	pointer-events: none;
}
.vk-menu .vk-has-mega.is-open .vk-mega,
.vk-menu .vk-has-mega:hover .vk-mega {
	opacity: 1; visibility: visible; transform: translateY(0); pointer-events: auto;
}
.vk-mega__inner { max-width: var(--vk-container); margin: 0 auto; padding: 20px var(--vk-gutter) 24px; }
.vk-mega ul { list-style: none; margin: 0; padding: 0; }
.vk-mega li { margin: 0 0 5px; line-height: 1.25; }
.vk-mega a { color: var(--vk-text); text-decoration: none; font-family: var(--vk-sans); font-size: .8rem; font-weight: 500; transition: color .15s var(--vk-ease); }
.vk-mega a:hover { color: var(--vk-terracotta); }
.vk-mega__title { font-family: var(--vk-sans); font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin: 0 0 9px; line-height: 1.2; color: var(--vk-gold); }
.vk-mega__title a { color: var(--vk-gold); font-weight: 700; }

/* Shop by Craft: stretched full width, items spread side by side */
.vk-menu .vk-mega--craft { left: 0; right: 0; width: auto; }
.vk-mega--craft .vk-mega__flow { column-count: 5; column-gap: 38px; column-rule: 1px solid var(--vk-border); }
.vk-mega--craft .vk-mega__flow li { break-inside: avoid; }

/* Shop by Category: all groups side by side in one stretched row */
.vk-menu .vk-mega--category { left: 0; right: 0; width: auto; }
.vk-mega--category .vk-mega__groups { display: flex; gap: 0; align-items: flex-start; }
.vk-mega__group { flex: 1 1 0; min-width: 0; padding: 0 22px; border-left: 1px solid var(--vk-border); }
.vk-mega__group:first-child { border-left: 0; padding-left: 0; }

/* Mobile / drawer: accordion */
.vk-menu-mobile .vk-has-mega { position: relative; }
.vk-menu-mobile .vk-mega-toggle {
	display: block; position: absolute; top: 6px; right: 0; width: 40px; height: 40px;
	background: transparent; border: 0; cursor: pointer;
}
.vk-menu-mobile .vk-mega-toggle::before,
.vk-menu-mobile .vk-mega-toggle::after {
	content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 2px;
	background: var(--vk-heading); transition: transform .2s var(--vk-ease);
}
.vk-menu-mobile .vk-mega-toggle::before { transform: translate(-50%, -50%) rotate(45deg) translateX(-3px); }
.vk-menu-mobile .vk-mega-toggle::after { transform: translate(-50%, -50%) rotate(-45deg) translateX(3px); }
.vk-menu-mobile .vk-has-mega.is-open .vk-mega-toggle::before { transform: translate(-50%, -50%) rotate(-45deg) translateX(-3px); }
.vk-menu-mobile .vk-has-mega.is-open .vk-mega-toggle::after { transform: translate(-50%, -50%) rotate(45deg) translateX(3px); }
.vk-menu-mobile .vk-mega { display: none; }
.vk-menu-mobile .vk-has-mega.is-open .vk-mega { display: block; }
.vk-menu-mobile .vk-mega__inner { max-width: none; margin: 0; padding: 4px 0 12px 14px; }
.vk-menu-mobile .vk-mega--craft .vk-mega__flow { column-count: 2; column-gap: 16px; }
.vk-menu-mobile .vk-mega--category .vk-mega__groups { display: block; column-count: 1; }
.vk-menu-mobile .vk-mega__group { display: block; flex: none; margin-bottom: 12px; padding: 0; border-left: 0; background: transparent; }
.vk-menu-mobile .vk-mega li { margin: 0 0 6px; border: 0; }
.vk-menu-mobile .vk-mega a { padding: 0; font-size: .88rem; color: var(--vk-muted); }
.vk-menu-mobile .vk-mega__title { margin: 4px 0 9px; }

@media (max-width: 1100px) {
	.vk-mega--craft .vk-mega__flow { column-count: 4; }
	.vk-mega--category .vk-mega__groups { flex-wrap: wrap; gap: 18px 0; }
	.vk-mega--category .vk-mega__group { flex: 1 1 25%; }
}
