/* =============================================================
   Shivling Stand — 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; overflow: hidden; }
.vk-announce__viewport { overflow: hidden; }
.vk-announce__track { width: 100%; display: flex; align-items: center; justify-content: center; }
.vk-announce__group { display: flex; gap: .6rem; align-items: center; justify-content: center; padding-block: 8px; white-space: nowrap; }
.vk-announce__group[aria-hidden="true"] { display: none; }
.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: 2px 0 1px; height: 16px; line-height: 1; display: flex; align-items: center; overflow: hidden; }
.vk-card__rating .star-rating { font-size: 13px; height: 1.2em; line-height: 1.2; 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-wrap { position: relative; }
.vk-reviews__track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; -ms-overflow-style: none; padding-bottom: 4px; }
.vk-reviews__track::-webkit-scrollbar { display: none; height: 0; }
.vk-review { flex: 0 0 calc((100% - 48px) / 3); scroll-snap-align: start; 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-reviews__nav { position: absolute; top: 50%; right: -10px; transform: translateY(-50%); z-index: 6; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--vk-border); background: #fff; color: var(--vk-brown); display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 8px 22px rgba(75,46,30,.20); transition: background .25s var(--vk-ease), color .25s var(--vk-ease), transform .25s var(--vk-ease); }
.vk-reviews__nav:hover { background: var(--vk-brown); color: #fff; transform: translateY(-50%) scale(1.07); }
.vk-reviews__nav:active { transform: translateY(-50%) scale(.96); }
.vk-reviews__nav svg { display: block; }
.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 / Journal ---------- */
.vk-blog__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.vk-blog-card { display: flex; flex-direction: column; background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); overflow: hidden; transition: transform .4s var(--vk-ease), box-shadow .4s var(--vk-ease), border-color .4s var(--vk-ease); }
.vk-blog-card:hover { transform: translateY(-4px); box-shadow: var(--vk-shadow); border-color: var(--vk-gold); }
.vk-blog-card__media { position: relative; display: block; aspect-ratio: 3 / 2; overflow: hidden; background: linear-gradient(135deg, var(--vk-sand), var(--vk-ivory)); }
.vk-blog-card__media img { position: absolute; inset: 0; 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.06); }
.vk-blog-card__ph { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--vk-serif); font-size: 1.6rem; letter-spacing: .14em; text-transform: uppercase; color: var(--vk-gold); opacity: .45; }
.vk-blog-card__body { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 26px; }
.vk-blog-card__meta { display: flex; align-items: center; gap: 8px; font-size: .72rem; letter-spacing: .04em; text-transform: uppercase; color: var(--vk-muted); margin-bottom: 12px; }
.vk-blog-card__cat { color: var(--vk-terracotta); font-weight: 700; }
.vk-blog-card__dot { opacity: .5; }
.vk-blog-card__title { font-family: var(--vk-serif); font-size: 1.38rem; line-height: 1.24; margin: 0 0 10px; }
.vk-blog-card__title a { color: var(--vk-heading); transition: color .3s var(--vk-ease); }
.vk-blog-card__title a:hover { color: var(--vk-gold); }
.vk-blog-card__excerpt { color: var(--vk-muted); font-size: .94rem; line-height: 1.6; margin: 0 0 18px; }
.vk-blog-card__link { margin-top: auto; align-self: flex-start; font-weight: 600; font-size: .9rem; color: var(--vk-brown); transition: color .3s var(--vk-ease); }
.vk-blog-card__link:hover { color: var(--vk-gold); }

/* Journal listing header */
.vk-journal__head { text-align: center; max-width: 680px; margin: 0 auto 54px; }
.vk-journal__title { font-family: var(--vk-serif); font-size: clamp(2.2rem, 5vw, 3.2rem); line-height: 1.05; margin: 10px 0 14px; color: var(--vk-heading); }
.vk-journal__sub { color: var(--vk-muted); font-size: 1.05rem; line-height: 1.6; }
.vk-journal__empty { text-align: center; padding: 60px 0; color: var(--vk-muted); }
.vk-journal__empty p { margin-bottom: 22px; }

/* Single post (editorial) */
.vk-postwrap { max-width: 1080px; }
.vk-post__head { max-width: 760px; margin: 0 auto 32px; text-align: center; }
.vk-post__back { display: inline-block; font-size: .85rem; font-weight: 600; color: var(--vk-muted); margin-bottom: 22px; transition: color .3s var(--vk-ease); }
.vk-post__back:hover { color: var(--vk-gold); }
.vk-post__meta { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; font-size: .76rem; letter-spacing: .04em; text-transform: uppercase; color: var(--vk-muted); margin-bottom: 16px; }
.vk-post__cat { color: var(--vk-terracotta); font-weight: 700; }
.vk-post__dot { opacity: .5; }
.vk-post__title { font-family: var(--vk-serif); font-size: clamp(2rem, 5vw, 3rem); line-height: 1.08; color: var(--vk-heading); margin: 0 0 18px; }
.vk-post__lede { font-size: 1.18rem; line-height: 1.6; color: var(--vk-text); font-style: italic; margin: 0; }
.vk-post__media { border-radius: var(--vk-radius-lg); overflow: hidden; margin: 0 auto 40px; max-width: 980px; }
.vk-post__media img { width: 100%; height: auto; display: block; }
.vk-post__body { margin-inline: auto; }
.vk-post__foot { max-width: 760px; margin: 44px auto 0; padding-top: 28px; border-top: 1px solid var(--vk-border); display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 18px; }
.vk-post__tags a { display: inline-block; font-size: .8rem; color: var(--vk-muted); background: var(--vk-sand); padding: 5px 12px; border-radius: 20px; margin: 0 6px 6px 0; transition: background .3s var(--vk-ease); }
.vk-post__tags a:hover { background: var(--vk-muted-sand, var(--vk-sand)); color: var(--vk-brown); }
.vk-post__comments { max-width: 760px; margin: 40px auto 0; }

/* Buttons used by blog/journal */
.vk-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 13px 28px; border-radius: 30px; font-weight: 600; font-size: .95rem; line-height: 1; transition: all .3s var(--vk-ease); cursor: pointer; }
.vk-btn--outline { background: var(--vk-ivory); color: var(--vk-brown); border: 1.5px solid var(--vk-brown); }
.vk-btn--outline:hover { background: var(--vk-brown); color: var(--vk-ivory); }

/* Pagination */
.vk-pagination { margin-top: 54px; text-align: center; }
.vk-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; padding: 0 12px; margin: 0 4px; border: 1px solid var(--vk-border); border-radius: 10px; color: var(--vk-heading); font-weight: 600; transition: all .3s var(--vk-ease); }
.vk-pagination .page-numbers.current { background: var(--vk-brown); color: #fff; border-color: var(--vk-brown); }
.vk-pagination .page-numbers:hover:not(.current) { border-color: var(--vk-gold); color: var(--vk-gold); }

/* ---------- 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-404 { text-align: center; max-width: 620px; margin-inline: auto; padding-block: 100px; }
.vk-404 .vk-hero__cta { justify-content: center; }
.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); }

/* Out of stock: muted "Out of Stock" replaces Buy Now; lighter Add to Cart. Same card size. */
.vk-card__oos,
.woocommerce ul.products li.product .button.vk-card__buynow.vk-card__oos { background: #f3ece6; color: #9a8178; border-color: #d8c8bd; }
.vk-card__oos:hover,
.woocommerce ul.products li.product .button.vk-card__buynow.vk-card__oos:hover { background: #ece2da; color: #8c7268; border-color: #d8c8bd; }
.vk-card__atc--oos,
.woocommerce ul.products li.product .button.vk-card__atc.vk-card__atc--oos,
.woocommerce ul.products li.product span.button.vk-card__atc.vk-card__atc--oos {
	background: #9e9e9e;
	color: #3a3a3a;
	border-color: #9e9e9e;
	cursor: not-allowed;
	pointer-events: none;
}

/* 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 + WooCommerce (cart / checkout / account) layouts use the full page width (escape the .vk-prose 760px cap) */
.vk-prose:has(.vk-contact),
.vk-prose:has(.woocommerce) { 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 6px; }
.vk-single__sku { font-size: .78rem; color: var(--vk-muted); margin: 0 0 18px; letter-spacing: .03em; }
.vk-single__sku span { color: var(--vk-text); font-weight: 600; }

/* 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-cart__coupon-active + .vk-cart__coupon-row,
.vk-coupon-best + .vk-cart__coupon-row { margin-top: 10px; }
.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; }
.vk-catgrid-wrap { position: relative; }
.vk-catgrid__nav { position: absolute; top: 50%; right: 4px; transform: translateY(-50%); z-index: 6; width: 46px; height: 46px; border-radius: 50%; border: 1px solid var(--vk-border); background: #fff; color: var(--vk-brown); display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 8px 22px rgba(75,46,30,.20); transition: background .25s var(--vk-ease), color .25s var(--vk-ease), transform .25s var(--vk-ease); }
.vk-catgrid__nav:hover { background: var(--vk-brown); color: #fff; transform: translateY(-50%) scale(1.07); }
.vk-catgrid__nav:active { transform: translateY(-50%) scale(.96); }
.vk-catgrid__nav svg { display: block; }
@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; }
	.vk-catgrid__nav { width: 38px; height: 38px; right: 2px; }
}

/* ============================================================
   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; }
/* Desktop: stretch the video to the full content width (in line with the product cards). */
@media (min-width: 1025px) {
	.vk-video .vk-video__frame { max-width: none; }
}

/* ============================================================
   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; }

/* Footer newsletter — minimal & sober */
.vk-footer__news { margin-top: 22px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); }
.vk-footer__news-title { font-family: var(--vk-serif); font-weight: 600; font-size: 1.05rem; line-height: 1.35; color: var(--vk-ivory); margin: 0 0 12px; }
.vk-footer__news-form { display: flex; align-items: stretch; max-width: 340px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.18); border-radius: 30px; overflow: hidden; }
.vk-footer__news-form input[type="email"] { flex: 1 1 auto; min-width: 0; background: transparent; border: 0; outline: none; padding: 11px 16px; font-size: .88rem; color: var(--vk-ivory); font-family: var(--vk-sans); }
.vk-footer__news-form input[type="email"]::placeholder { color: rgba(232,217,200,.6); }
.vk-footer__news-form button { flex: 0 0 auto; border: 0; cursor: pointer; padding: 0 18px; background: var(--vk-gold); color: var(--vk-brown); font-family: var(--vk-sans); font-weight: 600; font-size: .82rem; letter-spacing: .02em; transition: background .2s var(--vk-ease); }
.vk-footer__news-form button:hover { background: #d99a3c; }

/* 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; min-height: 78vh; background: var(--vk-sand); position: relative; }
.vk-about__cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.vk-about__cover--placeholder { display: flex; align-items: center; justify-content: center; text-align: left; background: linear-gradient(135deg, var(--vk-brown) 0%, var(--vk-rosewood) 55%, var(--vk-terracotta) 100%); }
.vk-about__cover-inner { padding: 24px var(--vk-gutter); max-width: var(--vk-container); width: 100%; box-sizing: border-box; }
.vk-about__cover-eyebrow { display: block; text-transform: uppercase; letter-spacing: .2em; font-size: clamp(.7rem, 1.4vw, .85rem); font-weight: 600; color: var(--vk-gold); font-family: var(--vk-sans); margin-bottom: 14px; }
.vk-about__cover-title { font-family: var(--vk-serif); color: var(--vk-ivory); font-size: clamp(2.2rem, 6vw, 4.5rem); margin: 0; line-height: 1.05; }
.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; width: 100vw; margin-left: calc(50% - 50vw); }
.vk-exp__heromedia { position: relative; width: 100%; min-height: 78vh; 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; max-width: var(--vk-container); margin-inline: auto; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; text-align: left; padding-inline: var(--vk-gutter); box-sizing: border-box; }
.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__reflect { max-width: 820px; margin-inline: auto; text-align: center; }
.vk-exp__reflect p { margin: 0 auto 1.25em; line-height: 1.85; font-size: 1.06rem; color: var(--vk-text); }
.vk-exp__reflect p:last-child { margin-bottom: 0; }
.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) {
	/* 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%; }
}

/* ============================================================
 * GLOBAL SECTION SPACING — fixed 20px top & 20px bottom
 * Applies on every section, across all devices (overrides
 * responsive values via !important).
 * ============================================================ */
.vk-section,
.vk-hero__inner,
.vk-seoblock,
.vk-archive,
.vk-single,
.vk-page,
.vk-contact,
.vk-state__explore,
.vk-faq,
.vk-products,
.vk-categories,
.vk-featured,
.vk-gifts,
.vk-why,
.vk-reviews,
.vk-blog {
	padding-top: 20px !important;
	padding-bottom: 20px !important;
}

/* Footer: 20px top, 20px before the legal bar */
.vk-footer { padding-top: 20px !important; }
.vk-footer__grid { padding-bottom: 20px !important; }

/* Section heads & inner section gaps on builder pages -> 20px */
.vk-section__head,
.vk-page__head,
.vk-exp__hero,
.vk-exp__section,
.vk-about__hero,
.vk-about__block,
.vk-about__banner { margin-bottom: 20px !important; }
.vk-about__values { margin-top: 20px !important; margin-bottom: 20px !important; }

/* Halve the gap between the homepage hero and the first section (Shop by Craft) */
.vk-home .vk-mosaic { padding-top: 10px !important; }

/* ============================================================
 * CART & CHECKOUT — premium branded UI (desktop + mobile)
 * ============================================================ */

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border: 1px solid var(--vk-border); border-left: 4px solid var(--vk-gold);
	background: var(--vk-surface); color: var(--vk-text); border-radius: var(--vk-radius);
	padding: 14px 18px; box-shadow: var(--vk-shadow-sm); list-style: none;
	display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 22px;
}
.woocommerce-error { border-left-color: #b3261e; }
.woocommerce-message .button, .woocommerce-info .button { margin-left: auto; }

/* ---------------- CART PAGE ---------------- */
.vk-cart-page { margin: 0 0 8px; }
.vk-cart-page__head {
	display: grid; grid-template-columns: 2.4fr .8fr 1.1fr .8fr 40px; gap: 16px; align-items: center;
	padding: 0 18px 12px; border-bottom: 2px solid var(--vk-border);
	font-family: var(--vk-sans); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--vk-muted);
}
.vk-cart-page__hcol--price, .vk-cart-page__hcol--qty, .vk-cart-page__hcol--subtotal { text-align: center; }

.vk-cartrow {
	display: grid; grid-template-columns: 2.4fr .8fr 1.1fr .8fr 40px; gap: 16px; align-items: center;
	padding: 18px; border-bottom: 1px solid var(--vk-border);
}
.vk-cartrow__product { display: flex; align-items: center; gap: 16px; min-width: 0; }
.vk-cartrow__thumb { flex: 0 0 auto; }
.vk-cartrow__thumb img { width: 76px; height: 76px; object-fit: cover; border-radius: var(--vk-radius); display: block; border: 1px solid var(--vk-border); }
.vk-cartrow__info { min-width: 0; }
.vk-cartrow__name { font-family: var(--vk-serif); font-size: 1.05rem; line-height: 1.3; }
.vk-cartrow__name a { color: var(--vk-heading); text-decoration: none; }
.vk-cartrow__name a:hover { color: var(--vk-gold); }
.vk-cartrow__price-m { display: none; color: var(--vk-muted); font-size: .92rem; margin-top: 4px; }
.vk-cartrow__price { text-align: center; color: var(--vk-text); font-weight: 600; }
.vk-cartrow__subtotal { text-align: center; font-weight: 700; color: var(--vk-heading); }
.vk-cartrow__qty { display: flex; justify-content: center; }
.vk-cartrow__qty .quantity { display: inline-flex; align-items: center; border: 1.5px solid var(--vk-border); border-radius: 30px; overflow: hidden; background: #fff; }
.vk-cartrow__qty .quantity input.qty { width: 50px; height: 42px; border: none; background: none; text-align: center; font-weight: 700; font-size: 1rem; padding: 0; -moz-appearance: textfield; appearance: textfield; }
.vk-cartrow__qty .quantity input.qty::-webkit-outer-spin-button, .vk-cartrow__qty .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.vk-cartrow__qty .vk-qty-btn { width: 38px; height: 42px; border: none; background: none; font-size: 1.2rem; color: var(--vk-brown); cursor: pointer; display: grid; place-items: center; padding: 0; }
.vk-cartrow__qty .vk-qty-btn:hover { background: var(--vk-sand); }
.vk-cartrow__remove { text-align: center; }
.vk-cartrow__remove .remove { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--vk-sand); color: var(--vk-brown) !important; font-size: 1.15rem; line-height: 1; text-decoration: none; transition: background .2s, color .2s; }
.vk-cartrow__remove .remove:hover { background: #b3261e; color: #fff !important; }

.vk-cart-page__actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 18px; }
.vk-cart-page__coupon { display: flex; border: 1.5px solid var(--vk-border); border-radius: 30px; overflow: hidden; background: #fff; }
.vk-cart-page__coupon input#coupon_code { border: none; background: none; padding: 11px 18px; min-width: 150px; font-family: var(--vk-sans); }
.vk-cart-page__coupon input#coupon_code:focus { outline: none; }
.vk-cart-page__coupon .vk-btn-coupon { border: none; background: var(--vk-sand); color: var(--vk-brown); padding: 0 22px; font-weight: 700; cursor: pointer; }
.vk-cart-page__coupon .vk-btn-coupon:hover { background: var(--vk-gold); }
.vk-cart-page__update { margin-left: auto; background: #fff; color: var(--vk-brown); border: 1.5px solid var(--vk-brown); border-radius: 30px; padding: 11px 26px; font-weight: 700; cursor: pointer; transition: background .2s, color .2s; }
.vk-cart-page__update:hover { background: var(--vk-brown); color: #fff; }

.vk-cart-page__collaterals { display: flex; justify-content: flex-end; margin-top: 26px; }
.cart_totals { width: 100%; max-width: 430px; background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); padding: 24px 26px; box-shadow: var(--vk-shadow-sm); }
.cart_totals h2 { font-family: var(--vk-serif); font-size: 1.4rem; color: var(--vk-heading); margin: 0 0 14px; }
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals table th, .cart_totals table td { padding: 12px 0; border-bottom: 1px solid var(--vk-border); text-align: left; font-size: .95rem; vertical-align: top; }
.cart_totals table th { font-weight: 600; color: var(--vk-muted); }
.cart_totals table td { text-align: right; color: var(--vk-heading); font-weight: 600; }
.cart_totals .order-total th, .cart_totals .order-total td { border-bottom: none; padding-top: 16px; font-size: 1.15rem; }
.cart_totals .order-total td { color: var(--vk-brown); font-weight: 800; }
.wc-proceed-to-checkout { padding-top: 18px; }

/* Branded checkout buttons (removes the default purple) */
.wc-proceed-to-checkout a.checkout-button,
.woocommerce #place_order,
.woocommerce-checkout #place_order {
	display: block; width: 100%; text-align: center;
	background: var(--vk-brown) !important; color: #fff !important; border: none !important; border-radius: 30px !important;
	padding: 16px 24px !important; font-family: var(--vk-sans); font-weight: 700; font-size: 1rem;
	box-shadow: 0 8px 22px rgba(75,46,30,.22); transition: background .2s, transform .2s; cursor: pointer; text-decoration: none; line-height: 1.2;
}
.wc-proceed-to-checkout a.checkout-button:hover, .woocommerce #place_order:hover { background: #3a2417 !important; transform: translateY(-1px); }

/* ---------------- CHECKOUT PAGE ---------------- */
.woocommerce-checkout .woocommerce { display: block; width: 100%; max-width: 100%; float: none; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.25fr 1fr; gap: 36px; align-items: start; width: 100%; max-width: 100%; }
.woocommerce-checkout #customer_details { min-width: 0; }
.woocommerce-checkout .vk-order-col { min-width: 0; display: flex; flex-direction: column; gap: 60px; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; max-width: 100%; }
.woocommerce-checkout h3 { font-family: var(--vk-serif); font-size: 1.3rem; color: var(--vk-heading); margin: 0 0 16px; padding-bottom: 10px; border-bottom: 1px solid var(--vk-border); }
.woocommerce-checkout .woocommerce-billing-fields, .woocommerce-checkout .woocommerce-additional-fields, .woocommerce-checkout .woocommerce-shipping-fields { background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); padding: 24px; margin-bottom: 20px; box-shadow: var(--vk-shadow-sm); }
.woocommerce form .form-row { padding: 0 0 14px; margin: 0; }
.woocommerce form .form-row label { display: block; font-size: .85rem; font-weight: 600; color: var(--vk-heading); margin-bottom: 6px; }
.woocommerce form .form-row .required { color: var(--vk-terracotta); border: none; text-decoration: none; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .woocommerce-checkout .select2-container .select2-selection {
	width: 100%; border: 1.5px solid var(--vk-border); border-radius: 12px; padding: 12px 14px; font-family: var(--vk-sans); font-size: .95rem; background: #fff; color: var(--vk-text); min-height: 48px; box-sizing: border-box;
}
.woocommerce-checkout .select2-container .select2-selection__rendered { line-height: 24px; padding: 0; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 12px; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus, .woocommerce form .form-row select:focus { outline: none; border-color: var(--vk-gold); box-shadow: 0 0 0 3px rgba(201,138,44,.15); }

.woocommerce-checkout #order_review_heading { font-family: var(--vk-serif); font-size: 1.3rem; color: var(--vk-heading); margin: 0; }
.woocommerce-checkout #order_review { position: sticky; top: 90px; background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); padding: 24px; box-shadow: var(--vk-shadow-sm); }
.woocommerce-checkout #order_review table.shop_table { width: 100%; border-collapse: collapse; margin: 0 0 12px; }
.woocommerce-checkout #order_review table.shop_table th, .woocommerce-checkout #order_review table.shop_table td { padding: 12px 14px; border-bottom: 1px solid var(--vk-border); font-size: .92rem; text-align: left; }
.woocommerce-checkout #order_review table.shop_table td { text-align: right; color: var(--vk-heading); }
.woocommerce-checkout #order_review .cart_item .product-name { color: var(--vk-text); }
.woocommerce-checkout #order_review .order-total th, .woocommerce-checkout #order_review .order-total td { font-size: 1.12rem; color: var(--vk-brown); font-weight: 800; border-bottom: none; padding-top: 14px; }
.woocommerce-checkout #payment { background: transparent; margin-top: 14px; }
.woocommerce-checkout #payment ul.payment_methods { border: 1px solid var(--vk-border); border-radius: 12px; padding: 14px 16px; background: #fff; list-style: none; margin: 0 0 14px; }
.woocommerce-checkout #payment div.payment_box { background: var(--vk-bg); border-radius: 10px; font-size: .88rem; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--vk-bg); }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text { font-size: .8rem; color: var(--vk-muted); }

/* Empty cart */
.cart-empty.woocommerce-info { justify-content: center; }
.return-to-shop { text-align: center; margin-top: 16px; }

@media (max-width: 900px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; gap: 22px; }
	.woocommerce-checkout .vk-order-col { gap: 26px; }
	.woocommerce-checkout #order_review { position: static; }
}
@media (max-width: 720px) {
	.vk-cart-page__head { display: none; }
	.vk-cartrow { grid-template-columns: 1fr; gap: 12px; padding: 16px; border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); margin-bottom: 14px; position: relative; }
	.vk-cartrow__price { display: none; }
	.vk-cartrow__price-m { display: block; }
	.vk-cartrow__qty, .vk-cartrow__subtotal { display: flex; align-items: center; justify-content: space-between; }
	.vk-cartrow__qty { justify-content: space-between; }
	.vk-cartrow__qty::before, .vk-cartrow__subtotal::before { content: attr(data-title); font-size: .8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--vk-muted); }
	.vk-cartrow__subtotal { text-align: right; }
	.vk-cartrow__remove { position: absolute; top: 12px; right: 12px; }
	.vk-cart-page__actions { flex-direction: column; align-items: stretch; }
	.vk-cart-page__coupon { width: 100%; }
	.vk-cart-page__coupon input#coupon_code { flex: 1; min-width: 0; }
	.vk-cart-page__update { margin-left: 0; width: 100%; }
	.vk-cart-page__collaterals { justify-content: stretch; }
	.cart_totals { max-width: 100%; }
}

/* Desktop cart: items left, totals box right — float layout (full width, robust) */
@media (min-width: 1000px) {
	.woocommerce-cart .woocommerce { display: block; width: 100%; max-width: 100%; }
	.woocommerce-cart .woocommerce::after { content: ""; display: table; clear: both; }
	.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
	.woocommerce-cart .woocommerce > .vk-coupons-panel { float: none; width: 100%; clear: both; }
	.woocommerce-cart .woocommerce-cart-form { float: left; width: calc(100% - 404px); margin: 0; box-sizing: border-box; }
	.woocommerce-cart .cart-collaterals { float: right; width: 368px; margin: 0; box-sizing: border-box; }
	.woocommerce-cart .vk-cart-page__collaterals { display: block; margin: 0; }
	.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; max-width: 100% !important; float: none !important; position: sticky; top: 90px; }
}

/* Cart AJAX auto-update: hide the manual Update button, show a soft loading state */
.woocommerce-cart-form.vk-cart-ajax .vk-cart-page__update { display: none; }
.woocommerce-cart .vk-cart-loading { opacity: .5; pointer-events: none; transition: opacity .2s ease; }

/* Cart page live update: hide manual "Update cart", dim while refreshing */
.vk-cart-page__update { display: none !important; }
/* Cart: never dull / never block clicks while updating */
.woocommerce-cart .woocommerce.vk-cart-updating { opacity: 1 !important; }
.woocommerce-cart .blockUI.blockOverlay,
.woocommerce-cart .blockUI.blockMsg { display: none !important; opacity: 0 !important; pointer-events: none !important; }
.vk-cart-page__actions { min-height: 0; }

/* Cart: out-of-more-stock note + disabled plus */
.vk-stock-note { margin-top: 6px; font-size: .8rem; font-weight: 600; color: var(--vk-terracotta); display: flex; align-items: center; gap: 5px; line-height: 1.3; }
.vk-stock-note::before { content: ""; flex: 0 0 auto; width: 14px; height: 14px; border-radius: 50%; background: var(--vk-terracotta); color: #fff; font-size: .62rem; font-weight: 800; display: grid; place-items: center; }
.vk-stock-note::before { content: "!"; }
.vk-cartrow__qty .vk-qty-btn.is-disabled, .vk-cartrow__qty .vk-qty-btn:disabled { opacity: .3; cursor: not-allowed; pointer-events: none; }

/* ---------- Full-image banners on desktop (no cropping) ---------- */
@media (min-width: 769px) {
	/* Landing hero: image shows at natural height, content overlays center */
	.vk-hero:has(.vk-hero__media) { display: block; min-height: 0; background-image: none; }
	.vk-hero:has(.vk-hero__media) .vk-hero__media { display: block; width: 100%; height: auto; }
	.vk-hero:has(.vk-hero__media) .vk-hero__inner { position: absolute; top: 50%; left: 0; right: 0; transform: translateY(-50%); padding-block: 0; }
	/* Experiences banner (image variant) */
	.vk-exp__heromedia:has(img.vk-exp__heroimg) { min-height: 0; }
	.vk-exp__heromedia:has(img.vk-exp__heroimg) img.vk-exp__heroimg { position: static; width: 100%; height: auto; object-fit: unset; display: block; }
	/* About banner (image variant) */
	.vk-about__cover:not(.vk-about__cover--placeholder) { min-height: 0; }
	.vk-about__cover:not(.vk-about__cover--placeholder) img { position: static; width: 100%; height: auto; object-fit: unset; }
}

/* ---------- Instagram Reels row ---------- */
.vk-reels { position: relative; }
.vk-reels__head { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 18px; }
.vk-reels__headtext { max-width: 640px; margin-inline: auto; }
.vk-reels__tools { display: flex; align-items: center; justify-content: center; gap: 12px; }
.vk-reels__follow { display: inline-flex; align-items: center; gap: 8px; padding: 11px 20px; border-radius: 30px; font-weight: 600; font-size: .92rem; color: #fff; background: linear-gradient(120deg, var(--vk-rosewood), var(--vk-terracotta) 55%, var(--vk-gold)); box-shadow: 0 6px 18px rgba(111,47,47,.22); transition: transform .3s var(--vk-ease), box-shadow .3s var(--vk-ease); }
.vk-reels__follow:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(111,47,47,.3); color: #fff; }
.vk-reels__ig { display: inline-flex; }
.vk-reels__nav { display: flex; gap: 8px; }
.vk-reels__arrow { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--vk-border); background: var(--vk-surface); color: var(--vk-brown); font-size: 1.35rem; line-height: 1; cursor: pointer; transition: all .3s var(--vk-ease); }
.vk-reels__arrow:hover { background: var(--vk-brown); color: #fff; border-color: var(--vk-brown); }

.vk-reels__track { display: flex; gap: 18px; margin-top: 30px; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 4px 2px 10px; }
.vk-reels__track::-webkit-scrollbar { display: none; }
.vk-reels__card { flex: 0 0 auto; width: 288px; scroll-snap-align: start; border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); overflow: hidden; background: var(--vk-surface); box-shadow: var(--vk-shadow-sm); transition: transform .35s var(--vk-ease), box-shadow .35s var(--vk-ease), border-color .35s var(--vk-ease); }
.vk-reels__card:hover { transform: translateY(-5px); box-shadow: var(--vk-shadow); border-color: var(--vk-gold); }
.vk-reels__media { position: relative; height: 570px; background: linear-gradient(135deg, var(--vk-sand), var(--vk-ivory)); overflow: hidden; }
.vk-reels__frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; opacity: 0; transition: opacity .5s var(--vk-ease); }
.vk-reels__media.is-ready .vk-reels__frame { opacity: 1; }
.vk-reels__media.is-ready .vk-reels__skel { opacity: 0; }
.vk-reels__skel { position: absolute; inset: 0; background: linear-gradient(100deg, var(--vk-sand) 20%, var(--vk-ivory) 40%, var(--vk-sand) 60%); background-size: 220% 100%; animation: vkShimmer 1.6s linear infinite; transition: opacity .4s var(--vk-ease); }
@keyframes vkShimmer { 0% { background-position: 120% 0; } 100% { background-position: -120% 0; } }

/* ---------- Google reviews ---------- */
.vk-greviews__head { max-width: 700px; }
.vk-greviews__summary { display: inline-flex; align-items: center; gap: 10px; margin-top: 18px; padding: 9px 18px; border-radius: 30px; background: var(--vk-surface); border: 1px solid var(--vk-border); box-shadow: var(--vk-shadow-sm); }
.vk-greviews__score { font-family: var(--vk-serif); font-size: 1.3rem; font-weight: 700; color: var(--vk-heading); line-height: 1; }
.vk-greviews__meta { font-size: .82rem; color: var(--vk-muted); }
.vk-gr__stars { display: inline-flex; gap: 2px; }
.vk-gr__star { fill: #e2d7c6; }
.vk-gr__star.is-on { fill: #F5A623; }

.vk-greviews__viewport { overflow: hidden; margin-top: 8px; }
.vk-greviews__grid { display: flex; gap: 24px; align-items: stretch; transition: transform .6s var(--vk-ease); will-change: transform; }
.vk-greviews__card { flex: 0 0 calc((100% - 48px) / 3); }
.vk-greviews__dots { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: 24px; }
.vk-greviews__dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: var(--vk-border); cursor: pointer; transition: all .35s var(--vk-ease); }
.vk-greviews__dot.is-on { width: 24px; border-radius: 6px; background: var(--vk-gold); }
.vk-greviews__card { display: flex; flex-direction: column; gap: 12px; background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius-lg); padding: 24px 24px 26px; box-shadow: var(--vk-shadow-sm); transition: transform .35s var(--vk-ease), box-shadow .35s var(--vk-ease), border-color .35s var(--vk-ease); }
.vk-greviews__card:hover { transform: translateY(-4px); box-shadow: var(--vk-shadow); border-color: var(--vk-gold); }
.vk-greviews__top { display: flex; align-items: center; gap: 12px; }
.vk-greviews__avatar { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-family: var(--vk-serif); font-size: 1.15rem; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--vk-brown), var(--vk-terracotta)); }
.vk-greviews__who { display: flex; flex-direction: column; line-height: 1.3; flex: 1; min-width: 0; }
.vk-greviews__name { font-weight: 700; color: var(--vk-heading); font-size: .96rem; }
.vk-greviews__date { font-size: .78rem; color: var(--vk-muted); }
.vk-greviews__text { margin: 0; color: var(--vk-text); font-size: .95rem; line-height: 1.65; }
.vk-greviews__cta { text-align: center; margin-top: 34px; }
.vk-greviews__btn { display: inline-flex; align-items: center; gap: 9px; padding: 13px 26px; border-radius: 30px; font-weight: 600; font-size: .94rem; color: var(--vk-brown); background: var(--vk-surface); border: 1.5px solid var(--vk-brown); transition: all .3s var(--vk-ease); }
.vk-greviews__btn:hover { background: var(--vk-brown); color: #fff; }
.vk-greviews__btn:hover .vk-gr__g { filter: brightness(0) invert(1); }
.vk-greviews__avatar--img { object-fit: cover; background: var(--vk-sand); }
.vk-exp__author { font-style: italic !important; font-weight: 700 !important; letter-spacing: .03em; text-transform: none !important; font-size: 1.28rem !important; }

/* ---------- Search results ---------- */
.vk-search__head { text-align: left; max-width: none; }
.vk-search__count { color: var(--vk-muted); font-size: .92rem; margin-top: 6px; }
.vk-search__products { margin-top: 26px; }
.vk-search__other { margin-top: 54px; }
.vk-search__otherhead { font-family: var(--vk-serif); font-size: 1.5rem; color: var(--vk-heading); margin: 0 0 18px; padding-bottom: 12px; border-bottom: 1px solid var(--vk-border); }
.vk-search-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.vk-search-item { background: var(--vk-surface); border: 1px solid var(--vk-border); border-radius: var(--vk-radius); padding: 16px 18px; transition: border-color .3s var(--vk-ease); }
.vk-search-item:hover { border-color: var(--vk-gold); }
.vk-search-item > a { font-weight: 600; color: var(--vk-heading); }
.vk-search-item > a:hover { color: var(--vk-gold); }
.vk-search-item p { margin: 6px 0 0; color: var(--vk-muted); font-size: .9rem; }
.vk-search__empty { padding: 40px 0 60px; display: grid; gap: 18px; justify-items: start; }
.vk-drawer__title--logo { display: flex; align-items: center; }
.vk-drawer__logo { display: inline-flex; align-items: center; }
.vk-drawer__logo img { max-height: 42px; width: auto; display: block; }
.vk-drawer__logo--text { font-family: var(--vk-serif); font-size: 1.35rem; letter-spacing: .04em; color: var(--vk-brown); }
.vk-filter__label--stock { margin-top: 22px; }
.vk-filter__stock { list-style: none; padding: 0; margin: 0 0 18px; display: grid; gap: 10px; }
.vk-filter__stock label { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: .94rem; color: var(--vk-text); }
.vk-filter__stock input { accent-color: var(--vk-brown); width: 17px; height: 17px; cursor: pointer; }
.vk-filter__stock label:hover span { color: var(--vk-gold); }
.vk-coupons__form { display: flex; gap: 10px; margin: 12px 0 14px; }
.vk-coupons__input { flex: 1; min-width: 0; padding: 12px 14px; border: 1.5px solid var(--vk-border); border-radius: 10px; font-size: .95rem; letter-spacing: .06em; text-transform: uppercase; background: #fff; }
.vk-coupons__input:focus { outline: none; border-color: var(--vk-gold); }
.vk-coupons__submit { padding: 12px 22px; border: 0; border-radius: 10px; background: var(--vk-brown); color: #fff; font-weight: 600; cursor: pointer; transition: background .3s var(--vk-ease); }
.vk-coupons__submit:hover { background: var(--vk-gold); }

/* ============================================================
 * CHECKOUT v1.6.2 — clean hosted-checkout style
 * ============================================================ */
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) {
	background: #fff;
	color: #202020;
}
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-announce,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) > .vk-header,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) > .vk-footer,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) > .vk-bottomnav,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) > .vk-search-panel,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) > .vk-overlay,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) > .vk-drawer,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-skip {
	display: none !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-page.container {
	width: 100%; max-width: none; margin: 0; padding: 0;
}
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-page__article,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-prose {
	width: 100%; max-width: none !important; margin: 0 !important; padding: 0 !important;
}
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-prose > p:empty { display: none; }
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-checkout-frame {
	min-height: 100vh; background: #fff; font-family: var(--vk-sans);
}
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-checkout-header {
	background: #fff; border-bottom: 1px solid #e5e5e5;
}
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-checkout-header__inner {
	max-width: 1180px; min-height: 82px; margin: 0 auto; padding: 18px 28px;
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
}
.vk-checkout-brand { display: inline-flex; align-items: center; min-width: 0; color: #3d2419 !important; text-decoration: none !important; }
.vk-checkout-brand__image { max-height: 46px; width: auto; object-fit: contain; }
.vk-checkout-brand__text { font-family: var(--vk-serif); font-size: 2rem; line-height: 1; font-weight: 600; letter-spacing: .01em; }
.vk-checkout-secure { display: inline-flex; align-items: center; gap: 7px; color: #585858; font-size: .84rem; font-weight: 600; }
.vk-checkout-secure svg { width: 17px; height: 17px; color: #4b2e1e; }

body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-checkout-frame > .woocommerce-error,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-checkout-frame > .woocommerce-info,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-checkout-frame > .woocommerce-message,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-checkout-frame > .woocommerce-form-login-toggle,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-checkout-frame > form.woocommerce-form-login {
	max-width: 1180px; margin-left: auto; margin-right: auto;
}
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-checkout-frame > .woocommerce-error,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-checkout-frame > .woocommerce-info,
body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-checkout-frame > .woocommerce-message {
	margin-top: 18px; margin-bottom: 0;
}

body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) form.checkout.vk-checkout-form {
	display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important;
}
.vk-checkout-layout {
	max-width: 1180px; margin: 0 auto; padding: 0 28px;
	display: grid; grid-template-columns: minmax(0, 1.14fr) minmax(380px, .86fr); gap: 0; align-items: stretch;
}
.vk-checkout-main { min-width: 0; padding: 34px 54px 56px 0; }
.vk-checkout-summary {
	min-width: 0; padding: 42px 0 56px 44px; border-left: 1px solid #e2e2e2; background: #f7f7f7;
	box-shadow: 80px 0 0 #f7f7f7;
}
.vk-checkout-back { display: inline-flex; align-items: center; gap: 5px; margin: 0 0 28px; font-size: .88rem; color: #5b3929 !important; text-decoration: none !important; }
.vk-checkout-back:hover { text-decoration: underline !important; }
.vk-checkout-customer.col2-set { display: block !important; width: 100%; margin: 0; }
.vk-checkout-customer.col2-set::before,
.vk-checkout-customer.col2-set::after { display: none !important; }
.vk-checkout-customer .col-1,
.vk-checkout-customer .col-2 { width: 100% !important; float: none !important; margin: 0 !important; }

.woocommerce-checkout .vk-checkout-billing,
.woocommerce-checkout .vk-checkout-section,
.woocommerce-checkout .vk-checkout-payment-section,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
	background: transparent !important; border: 0 !important; border-radius: 0 !important;
	box-shadow: none !important; padding: 0 !important;
}
.vk-checkout-section,
.vk-checkout-payment-section { margin: 0 0 34px; }
.vk-checkout-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin: 0 0 12px; }
.woocommerce-checkout .vk-checkout-section-head h2,
.woocommerce-checkout .vk-checkout-summary h2 {
	font-family: var(--vk-sans); color: #222; font-size: 1.28rem; font-weight: 650; letter-spacing: -.015em; line-height: 1.3; margin: 0; padding: 0; border: 0;
}
.vk-checkout-section-head a { font-size: .88rem; text-decoration: underline; }
.vk-checkout-section-head p { margin: 3px 0 0; color: #6d6d6d; font-size: .82rem; }
.vk-checkout-section-note { margin: -3px 0 14px; color: #707070; font-size: .83rem; line-height: 1.5; }

.woocommerce-checkout .vk-checkout-fields { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 12px; }
.woocommerce-checkout .vk-checkout-fields .form-row { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; grid-column: span 6; }
.woocommerce-checkout .vk-checkout-fields--contact #billing_email_field,
.woocommerce-checkout .vk-checkout-fields--contact #billing_phone_field { grid-column: span 3; }
.woocommerce-checkout .vk-checkout-fields--delivery #billing_first_name_field,
.woocommerce-checkout .vk-checkout-fields--delivery #billing_last_name_field { grid-column: span 3; }
.woocommerce-checkout .vk-checkout-fields--delivery #billing_city_field,
.woocommerce-checkout .vk-checkout-fields--delivery #billing_state_field,
.woocommerce-checkout .vk-checkout-fields--delivery #billing_postcode_field { grid-column: span 2; }
.woocommerce-checkout .vk-checkout-fields label,
.woocommerce-checkout .woocommerce-shipping-fields label,
.woocommerce-checkout .woocommerce-additional-fields label {
	font-family: var(--vk-sans); font-size: .76rem !important; font-weight: 600 !important; color: #555 !important; margin: 0 0 5px !important;
}
.woocommerce-checkout .vk-checkout-fields input.input-text,
.woocommerce-checkout .vk-checkout-fields select,
.woocommerce-checkout .vk-checkout-fields .select2-selection,
.woocommerce-checkout .woocommerce-shipping-fields input.input-text,
.woocommerce-checkout .woocommerce-shipping-fields select,
.woocommerce-checkout .woocommerce-additional-fields textarea {
	min-height: 50px !important; width: 100% !important; background: #fff !important; color: #222 !important;
	border: 1px solid #b8b8b8 !important; border-radius: 8px !important; box-shadow: none !important;
	padding: 11px 12px !important; font-family: var(--vk-sans) !important; font-size: .94rem !important;
}
.woocommerce-checkout .vk-checkout-fields input.input-text:focus,
.woocommerce-checkout .vk-checkout-fields select:focus,
.woocommerce-checkout .vk-checkout-fields .select2-container--open .select2-selection,
.woocommerce-checkout .woocommerce-shipping-fields input.input-text:focus,
.woocommerce-checkout .woocommerce-additional-fields textarea:focus {
	outline: none !important; border-color: #4b2e1e !important; box-shadow: 0 0 0 1px #4b2e1e !important;
}
.woocommerce-checkout .select2-container .select2-selection__rendered { line-height: 26px !important; padding: 0 !important; }
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow { top: 12px !important; }

.woocommerce-checkout .woocommerce-shipping-fields { margin: 2px 0 28px !important; }
.woocommerce-checkout .woocommerce-shipping-fields h3 { font-family: var(--vk-sans); font-size: .95rem; font-weight: 600; border: 0; padding: 0; margin: 0 0 12px; }
.woocommerce-checkout .woocommerce-shipping-fields h3 label { display: inline-flex !important; align-items: center; gap: 8px; font-size: .9rem !important; }
.woocommerce-checkout .shipping_address { border-top: 1px solid #e2e2e2; padding-top: 18px; }
.woocommerce-checkout .woocommerce-additional-fields { margin-top: 18px; }
.woocommerce-checkout .woocommerce-additional-fields h3 { font-family: var(--vk-sans); font-size: 1rem; border: 0; padding: 0; margin-bottom: 12px; }
.woocommerce-checkout .woocommerce-additional-fields textarea { min-height: 90px !important; resize: vertical; }

.vk-checkout-payment-section { margin-top: 10px; }
.woocommerce-checkout .vk-checkout-payment-section #payment { background: transparent !important; margin: 0 !important; }
.woocommerce-checkout .vk-checkout-payment-section #payment ul.payment_methods {
	margin: 0 !important; padding: 0 !important; overflow: hidden; list-style: none;
	background: #fff !important; border: 1px solid #b8b8b8 !important; border-radius: 9px !important;
}
.woocommerce-checkout .vk-checkout-payment-section #payment ul.payment_methods > li {
	margin: 0 !important; padding: 15px 16px !important; border-bottom: 1px solid #dedede;
}
.woocommerce-checkout .vk-checkout-payment-section #payment ul.payment_methods > li:last-child { border-bottom: 0; }
.woocommerce-checkout .vk-checkout-payment-section #payment label { font-weight: 600; color: #222; }
.woocommerce-checkout .vk-checkout-payment-section #payment div.payment_box {
	margin: 12px -16px -15px !important; padding: 14px 16px !important; background: #f6f6f6 !important; border-radius: 0 !important; color: #555; font-size: .84rem;
}
.woocommerce-checkout .vk-checkout-payment-section #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout .vk-checkout-payment-section #payment .form-row.place-order {
	margin: 18px 0 0 !important; padding: 0 !important;
}
.woocommerce-checkout .vk-checkout-payment-section #payment .woocommerce-privacy-policy-text,
.woocommerce-checkout .vk-checkout-payment-section #payment .woocommerce-terms-and-conditions-wrapper { font-size: .78rem; line-height: 1.55; color: #666; }
.woocommerce-checkout #place_order {
	min-height: 54px; margin-top: 12px !important; border-radius: 8px !important; background: #4b2e1e !important;
	font-size: 1rem !important; font-weight: 700 !important; box-shadow: none !important;
}
.woocommerce-checkout #place_order:hover { background: #382117 !important; transform: none !important; }

.woocommerce-checkout .vk-order-col { display: block !important; min-width: 0; }
.woocommerce-checkout .vk-checkout-summary #order_review_heading { margin: 0 0 22px !important; font-family: var(--vk-sans) !important; font-size: 1.25rem !important; border: 0 !important; padding: 0 !important; }
.woocommerce-checkout .vk-checkout-summary #order_review {
	position: sticky !important; top: 24px !important; background: transparent !important; border: 0 !important;
	border-radius: 0 !important; padding: 0 !important; box-shadow: none !important;
}
.woocommerce-checkout .vk-checkout-review { width: 100%; border: 0 !important; border-collapse: collapse !important; background: transparent !important; margin: 0 !important; }
.woocommerce-checkout .vk-checkout-review tbody tr.cart_item td { border: 0 !important; border-bottom: 1px solid #dedede !important; padding: 0 0 22px !important; vertical-align: middle; }
.woocommerce-checkout .vk-checkout-review tbody tr.cart_item + tr.cart_item td { padding-top: 18px !important; }
.woocommerce-checkout .vk-checkout-review td.product-name { width: 74%; text-align: left !important; }
.woocommerce-checkout .vk-checkout-review td.product-total { width: 26%; text-align: right !important; font-size: .92rem; font-weight: 650; color: #222; white-space: nowrap; }
.vk-checkout-item { display: flex; align-items: center; gap: 13px; min-width: 0; }
.vk-checkout-item__media { position: relative; width: 66px; height: 66px; flex: 0 0 66px; }
.vk-checkout-item__image { width: 66px !important; height: 66px !important; object-fit: cover; border: 1px solid #d8d8d8; border-radius: 8px; background: #fff; }
.vk-checkout-item__qty {
	position: absolute; top: -8px; right: -8px; min-width: 22px; height: 22px; padding: 0 6px;
	display: inline-flex; align-items: center; justify-content: center; border-radius: 999px;
	background: #666; color: #fff; border: 2px solid #f7f7f7; font-size: .72rem; font-weight: 700; line-height: 1;
}
.vk-checkout-item__copy { min-width: 0; line-height: 1.35; }
.vk-checkout-item__copy strong { display: block; color: #262626; font-size: .88rem; font-weight: 600; overflow-wrap: anywhere; }
.vk-checkout-item__copy .variation { margin: 4px 0 0; color: #737373; font-size: .73rem; }
.vk-checkout-item__copy .variation dt,
.vk-checkout-item__copy .variation dd { display: inline; float: none; margin: 0; }
.vk-checkout-item__copy .variation dd::after { content: " "; }

.woocommerce-checkout .vk-checkout-review tfoot th,
.woocommerce-checkout .vk-checkout-review tfoot td {
	border: 0 !important; padding: 8px 0 !important; font-family: var(--vk-sans); font-size: .87rem; font-weight: 500; color: #4b4b4b; vertical-align: top;
}
.woocommerce-checkout .vk-checkout-review tfoot th { text-align: left !important; }
.woocommerce-checkout .vk-checkout-review tfoot td { text-align: right !important; color: #222; }
.woocommerce-checkout .vk-checkout-review tfoot .cart-subtotal th,
.woocommerce-checkout .vk-checkout-review tfoot .cart-subtotal td { padding-top: 20px !important; }
.woocommerce-checkout .vk-checkout-review tfoot .order-total th,
.woocommerce-checkout .vk-checkout-review tfoot .order-total td {
	padding-top: 16px !important; border-top: 1px solid #dedede !important; color: #161616 !important; font-size: 1.05rem !important; font-weight: 650 !important;
}
.woocommerce-checkout .vk-checkout-review tfoot .order-total td strong { font-size: 1.32rem; font-weight: 700; }
.woocommerce-checkout .vk-checkout-review .woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.woocommerce-checkout .vk-checkout-review .woocommerce-shipping-methods li { margin: 0 0 5px; }

.woocommerce-checkout .vk-checkout-discount-row td { padding: 20px 0 10px !important; border: 0 !important; }
.vk-checkout-discount { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: start; }
.vk-checkout-discount input {
	width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #b8b8b8; border-radius: 8px;
	background: #fff; color: #222; font: inherit; font-size: .9rem;
}
.vk-checkout-discount input:focus { outline: none; border-color: #4b2e1e; box-shadow: 0 0 0 1px #4b2e1e; }
.vk-checkout-discount__btn {
	min-height: 46px; padding: 0 17px; border: 1px solid #b8b8b8; border-radius: 8px; background: #e8e8e8;
	color: #333; font-weight: 650; cursor: pointer;
}
.vk-checkout-discount__btn:hover { background: #ddd; }
.vk-checkout-discount__btn:disabled { opacity: .65; cursor: wait; }
.vk-checkout-discount__status { grid-column: 1 / -1; min-height: 0; margin-top: -3px; font-size: .77rem; line-height: 1.4; }
.vk-checkout-discount__status.is-error { color: #b3261e; }
.vk-checkout-discount__status.is-success { color: #1f6f43; }

.vk-checkout-trust { margin-top: 22px; padding-top: 18px; border-top: 1px solid #dedede; display: grid; gap: 8px; }
.vk-checkout-trust > div { display: flex; align-items: center; gap: 8px; color: #646464; font-size: .78rem; }
.vk-checkout-trust span { width: 18px; height: 18px; border-radius: 50%; display: inline-grid; place-items: center; background: #edf4ef; color: #2f6e42; font-size: .68rem; font-weight: 800; }
.vk-checkout-policies {
	max-width: 1180px; margin: 0 auto; padding: 18px 28px 30px; border-top: 1px solid #e2e2e2;
	display: flex; flex-wrap: wrap; gap: 10px 22px;
}
.vk-checkout-policies a { color: #555 !important; font-size: .73rem; text-decoration: underline; }

.woocommerce-checkout .woocommerce-account-fields { margin: -8px 0 30px; }
.woocommerce-checkout .woocommerce-account-fields .form-row { padding: 0 !important; }
.woocommerce-checkout .woocommerce-account-fields label { font-size: .84rem !important; color: #444 !important; }

@media (max-width: 900px) {
	body.woocommerce-checkout:not(.woocommerce-order-received):not(.woocommerce-order-pay) .vk-checkout-header__inner { min-height: 70px; padding: 14px 20px; }
	.vk-checkout-brand__text { font-size: 1.65rem; }
	.vk-checkout-layout { display: flex; flex-direction: column; max-width: 720px; padding: 0 20px; }
	.vk-checkout-main { order: 2; padding: 28px 0 42px; }
	.vk-checkout-summary { order: 1; padding: 25px 0 28px; border-left: 0; border-bottom: 1px solid #dedede; background: #f7f7f7; box-shadow: 30px 0 0 #f7f7f7, -30px 0 0 #f7f7f7; }
	.woocommerce-checkout .vk-checkout-summary #order_review { position: static !important; }
	.vk-checkout-back { margin-bottom: 22px; }
	.vk-checkout-policies { max-width: 720px; padding: 18px 20px 90px; }
}
@media (max-width: 620px) {
	.vk-checkout-secure span { display: none; }
	.vk-checkout-secure svg { width: 19px; height: 19px; }
	.vk-checkout-layout { padding: 0 16px; }
	.vk-checkout-summary { box-shadow: 20px 0 0 #f7f7f7, -20px 0 0 #f7f7f7; }
	.woocommerce-checkout .vk-checkout-fields--contact #billing_email_field,
	.woocommerce-checkout .vk-checkout-fields--contact #billing_phone_field,
	.woocommerce-checkout .vk-checkout-fields--delivery #billing_first_name_field,
	.woocommerce-checkout .vk-checkout-fields--delivery #billing_last_name_field,
	.woocommerce-checkout .vk-checkout-fields--delivery #billing_city_field,
	.woocommerce-checkout .vk-checkout-fields--delivery #billing_state_field,
	.woocommerce-checkout .vk-checkout-fields--delivery #billing_postcode_field { grid-column: span 6; }
	.vk-checkout-item__media { width: 58px; height: 58px; flex-basis: 58px; }
	.vk-checkout-item__image { width: 58px !important; height: 58px !important; }
	.vk-checkout-item__copy strong { font-size: .82rem; }
	.woocommerce-checkout .vk-checkout-review td.product-name { width: 72%; }
	.woocommerce-checkout .vk-checkout-review td.product-total { width: 28%; font-size: .84rem; }
	.vk-checkout-policies { padding-left: 16px; padding-right: 16px; }
}

/* ============================================================
 * v1.6.4 — premium product page + checkout refinements
 * ============================================================ */

/* ---------- Product page: modern premium commerce hierarchy ---------- */
.vk-product-premium { background: #fff; }
.vk-product-shell { max-width: 1320px; }
.vk-product-premium .vk-breadcrumb { margin-bottom: 20px; color: #7b716b; font-size: .8rem; }
.vk-product-main { grid-template-columns: minmax(0, 1.08fr) minmax(390px, .92fr) !important; gap: clamp(42px, 5vw, 78px) !important; }
.vk-product-gallery { position: sticky; top: 104px; align-self: start; }
.vk-product-gallery > .onsale { display: none !important; }
.vk-product-premium .woocommerce-product-gallery { overflow: visible; }
.vk-product-premium .woocommerce-product-gallery__wrapper { background: #f8f7f4; border: 1px solid #eee9e4; border-radius: 3px; overflow: hidden; }
.vk-product-premium .woocommerce-product-gallery__image img,
.vk-product-premium .woocommerce-product-gallery__image a img { border-radius: 0 !important; background: #f8f7f4; }
.vk-product-premium .flex-control-thumbs { gap: 10px !important; margin-top: 12px !important; }
.vk-product-premium .flex-control-thumbs li { width: 74px !important; }
.vk-product-premium .flex-control-thumbs img { width: 74px !important; height: 74px !important; border-radius: 3px !important; border: 1px solid #e1ddd8 !important; opacity: 1 !important; background: #fff; }
.vk-product-premium .flex-control-thumbs img.flex-active { border-color: #5D241D !important; box-shadow: inset 0 0 0 1px #5D241D; }

.vk-product-info { padding-top: 2px; }
.vk-product-badges { display: flex; gap: 8px; min-height: 28px; margin: 0 0 13px; }
.vk-product-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 9px; border-radius: 2px; font-family: var(--vk-sans); font-size: .7rem; font-weight: 700; letter-spacing: .045em; text-transform: uppercase; }
.vk-product-badge--sale { background: #5D241D; color: #fff; }
.vk-product-badge--new { background: #ece7df; color: #382117; }
.vk-product-premium .vk-single__title { max-width: 700px; margin: 0 0 12px; font-family: var(--vk-sans); font-size: clamp(1.45rem, 2.1vw, 2.05rem); line-height: 1.28; font-weight: 600; letter-spacing: -.025em; color: #201b18; }
.vk-product-premium .vk-single__rating { margin: 0 0 14px; }
.vk-product-premium .vk-single__ratingnum { color: #5D241D; text-decoration: underline; text-underline-offset: 3px; }
.vk-product-premium .vk-single__price { margin: 4px 0 0; }
.vk-product-premium .vk-single__price .vk-price__now { font-size: clamp(1.65rem, 2.4vw, 2.1rem); color: #201b18; font-weight: 650; }
.vk-product-premium .vk-single__price .vk-price__was { font-size: 1rem; }
.vk-product-premium .vk-single__tax { margin: 4px 0 20px !important; font-size: .78rem; color: #6c6763; }

.vk-product-promises { margin: 0 0 18px; padding: 15px 0; border-top: 1px solid #e6e1dc; border-bottom: 1px solid #e6e1dc; display: grid; gap: 8px; color: #5e5955; font-family: var(--vk-sans); font-size: .86rem; line-height: 1.5; }
.vk-product-promises strong { color: #27211d; font-weight: 650; }
.vk-product-actionlinks { display: flex; gap: 24px; margin: 0 0 22px; }
.vk-product-actionlinks a,
.vk-product-share { appearance: none; border: 0; border-bottom: 1px solid currentColor; border-radius: 0; padding: 0 0 2px; background: transparent; color: #4b2e1e; cursor: pointer; font: 600 .82rem var(--vk-sans); text-decoration: none; }
.vk-product-actionlinks a:hover,
.vk-product-share:hover { color: #a26734; }

.vk-product-premium .vk-product-purchase form.cart { margin: 0 0 20px !important; gap: 11px !important; }
.vk-product-premium .vk-product-purchase .quantity { border-radius: 3px !important; border-color: #bdb6b0 !important; }
.vk-product-premium .vk-product-purchase .quantity .vk-qty-btn,
.vk-product-premium .vk-product-purchase .quantity input.qty { height: 46px; }
.vk-product-premium .vk-product-purchase .single_add_to_cart_button,
.vk-product-premium .vk-product-purchase .vk-buy-now { min-height: 50px; border-radius: 3px !important; text-transform: none; letter-spacing: 0; font-size: .95rem !important; }
.vk-product-premium .vk-product-purchase .vk-buy-now { order: 2 !important; background: #5D241D !important; color: #fff !important; }
.vk-product-premium .vk-product-purchase .vk-buy-now:hover { background: #421a15 !important; }
.vk-product-premium .vk-product-purchase .single_add_to_cart_button { order: 1 !important; background: #fff !important; color: #5D241D !important; }
.vk-product-premium .vk-product-purchase .single_add_to_cart_button:hover { background: #f8f2ed !important; color: #5D241D !important; }

.vk-product-meta-card { margin: 20px 0 0; padding: 16px 0; border-top: 1px solid #e6e1dc; border-bottom: 1px solid #e6e1dc; display: grid; gap: 10px; }
.vk-product-meta-row { display: grid; grid-template-columns: 92px 1fr; gap: 12px; align-items: baseline; font-family: var(--vk-sans); font-size: .8rem; color: #68615c; }
.vk-product-meta-row > span { color: #79716b; }
.vk-product-meta-row strong { color: #28221e; font-weight: 600; }
.vk-product-meta-row a { color: #4b2e1e; text-decoration: underline; text-underline-offset: 2px; }
.vk-product-meta-row .is-instock { color: #2a713e; }
.vk-product-meta-row .is-outstock { color: #a4342d; }

.vk-safe-checkout { margin: 22px 0 0; }
.vk-safe-checkout h3 { margin: 0 0 12px; font-family: var(--vk-sans); font-size: .86rem; font-weight: 650; color: #2b2521; }
.vk-safe-checkout__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.vk-safe-checkout__grid > span { min-height: 74px; padding: 11px 8px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; text-align: center; background: #faf8f5; border: 1px solid #ece5df; color: #554d47; font: 600 .69rem/1.3 var(--vk-sans); }
.vk-safe-checkout__grid svg { width: 23px !important; height: 23px !important; color: #5D241D; }

.vk-product-details { max-width: 900px; margin: 72px auto 0; }
.vk-product-details__heading { margin: 0 0 18px; text-align: center; font-family: var(--vk-sans); font-size: 1.35rem; font-weight: 650; color: #261f1b; }
.vk-product-premium .vk-single__tabs { max-width: none; margin-top: 0; border-top: 1px solid #e5dfda; }
.vk-product-premium .vk-accordion__item { border-bottom: 1px solid #e5dfda; border-radius: 0; background: transparent; }
.vk-product-premium .vk-accordion__q { padding: 18px 4px; font-family: var(--vk-sans); font-size: .92rem; font-weight: 650; }
.vk-product-premium .vk-accordion__a { padding: 0 4px 22px; color: #5e5752; }
.vk-product-pairs { margin-top: 70px; padding-top: 34px; border-top: 1px solid #e5dfda; }
.vk-product-pairs > h2 { margin: 0 0 24px; font-family: var(--vk-sans); font-size: 1.35rem; font-weight: 650; color: #261f1b; }
.vk-product-pairs .related.products > h2 { display: none !important; }

/* ---------- Checkout: India + combined contact + clean payment ---------- */
.woocommerce-checkout .vk-checkout-fields--contact #billing_contact_field { grid-column: 1 / -1 !important; }
.woocommerce-checkout #billing_contact_field label { font-size: 0 !important; height: 0; margin: 0 !important; overflow: hidden; }
.woocommerce-checkout #billing_contact_field input { min-height: 52px !important; }
.woocommerce-checkout #billing_phone_field label::after { content: " *"; color: #b3261e; }
.woocommerce-checkout #billing_phone_field .optional { display: none !important; }

/* With only one gateway there is nothing to choose, so remove the stray
   radio/checkbox-looking control while keeping the gateway label/message. */
.woocommerce-checkout .vk-checkout-payment-section #payment ul.payment_methods > li:only-child > input.input-radio,
.woocommerce-checkout .vk-checkout-payment-section #payment ul.payment_methods > li:only-child > input[type="radio"] { display: none !important; }
.woocommerce-checkout .vk-checkout-payment-section #payment ul.payment_methods > li:only-child > label { margin-left: 0 !important; }

/* Make payment error/not-configured messages look intentional, never like a
   clipped field embedded inside another control. */
.woocommerce-checkout .vk-checkout-payment-section .woocommerce-error,
.woocommerce-checkout .vk-checkout-payment-section .woocommerce-info,
.woocommerce-checkout .vk-checkout-payment-section .woocommerce-message { margin: 0 !important; border-radius: 7px; box-shadow: none; }
.woocommerce-checkout .vk-checkout-payment-section #payment .woocommerce-notice { margin: 0 !important; }

@media (max-width: 1024px) {
	.vk-product-main { grid-template-columns: 1fr !important; gap: 34px !important; }
	.vk-product-gallery { position: static; }
	.vk-product-info { max-width: 760px; }
}
@media (max-width: 620px) {
	.vk-product-premium { padding-top: 10px !important; }
	.vk-product-premium .vk-breadcrumb { display: none; }
	.vk-product-main { gap: 22px !important; }
	.vk-product-premium .flex-control-thumbs li { width: 62px !important; }
	.vk-product-premium .flex-control-thumbs img { width: 62px !important; height: 62px !important; }
	.vk-product-premium .vk-single__title { font-size: 1.3rem; }
	.vk-product-promises { font-size: .8rem; }
	.vk-safe-checkout__grid { grid-template-columns: 1fr 1fr 1fr; gap: 5px; }
	.vk-safe-checkout__grid > span { min-height: 68px; padding: 8px 4px; font-size: .61rem; }
	.vk-product-details { margin-top: 46px; }
	.vk-product-pairs { margin-top: 48px; }
}

/* ============================================================
   v1.6.6 — single-product mobile stability hardening
   Prevent legacy cached product markup, long titles and WC gallery internals
   from creating horizontal overflow on phones.
   ============================================================ */
@media (max-width: 1024px) {
	body.single-product,
	body.single-product #page,
	body.single-product .site,
	body.single-product main { overflow-x: hidden; }

	.single-product .vk-single,
	.single-product .vk-product-shell,
	.single-product .vk-single__grid,
	.single-product .vk-product-main,
	.single-product .vk-single__gallery,
	.single-product .vk-product-gallery,
	.single-product .vk-single__summary,
	.single-product .vk-product-info,
	.single-product .woocommerce-product-gallery,
	.single-product .woocommerce-product-gallery__wrapper,
	.single-product .woocommerce-product-gallery__image,
	.single-product .flex-viewport,
	.single-product form.cart,
	.single-product .vk-trustrow,
	.single-product .vk-product-purchase {
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.single-product .vk-single__grid,
	.single-product .vk-product-main {
		width: 100% !important;
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.single-product .woocommerce-product-gallery,
	.single-product .woocommerce-product-gallery__wrapper,
	.single-product .woocommerce-product-gallery__image,
	.single-product .woocommerce-product-gallery__image a,
	.single-product .woocommerce-product-gallery__image img {
		width: 100% !important;
		max-width: 100% !important;
	}

	.single-product .woocommerce-product-gallery { overflow: hidden !important; }
	.single-product .woocommerce-product-gallery__wrapper { touch-action: pan-y; }
	.single-product .woocommerce-product-gallery__image img { height: auto !important; object-fit: contain; }

	.single-product .vk-single__title,
	.single-product .vk-breadcrumb__current,
	.single-product .vk-product-meta-row,
	.single-product .vk-single__specs,
	.single-product .vk-prose,
	.single-product .woocommerce-product-details__short-description {
		max-width: 100%;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.single-product .vk-single__summary form.cart,
	.single-product .vk-product-purchase form.cart,
	.single-product .woocommerce-variation-add-to-cart {
		width: 100% !important;
		min-width: 0 !important;
	}

	.single-product .single_add_to_cart_button,
	.single-product .vk-buy-now {
		width: 100% !important;
		max-width: 100% !important;
		white-space: normal !important;
	}

	/* The injected sticky ATC duplicated the real purchase controls only on
	   purchasable products. Keep mobile to one native, reliable action area. */
	.single-product .vk-sticky-atc { display: none !important; }
}

@media (max-width: 620px) {
	.single-product .vk-single { padding-top: 10px !important; padding-bottom: 76px !important; }
	.single-product .vk-single__grid,
	.single-product .vk-product-main { gap: 20px !important; }
	.single-product .vk-single__title { font-size: 1.22rem !important; line-height: 1.35 !important; }
	.single-product .vk-trustrow { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 8px !important; }
	.single-product .vk-safe-checkout__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.single-product .vk-product-meta-row { grid-template-columns: 78px minmax(0, 1fr) !important; }
	.single-product .flex-control-thumbs { flex-wrap: nowrap !important; overflow-x: auto !important; overscroll-behavior-x: contain; padding-bottom: 4px !important; }
	.single-product .flex-control-thumbs li { flex: 0 0 62px !important; }
}

/* ============================================================
   v1.6.7 — reliable native mobile product gallery
   Replaces the visible FlexSlider layer only on phones. Desktop keeps the
   standard WooCommerce gallery. This prevents later thumbnail taps from
   landing on a blank FlexSlider slide on mobile browsers.
   ============================================================ */
.vk-mobile-gallery { display: none; }

@media (max-width: 768px) {
	.single-product .vk-mobile-gallery { display: block; width: 100%; min-width: 0; margin: 0 0 12px; }
	.single-product .woocommerce-product-gallery.vk-mobile-gallery-enhanced {
		position: absolute !important;
		left: -10000px !important;
		top: auto !important;
		width: 1px !important;
		height: 1px !important;
		min-height: 0 !important;
		overflow: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}
	.single-product .vk-mobile-gallery__stage {
		position: relative;
		width: 100%;
		aspect-ratio: 1 / 1;
		display: grid;
		place-items: center;
		background: #f8f7f4;
		border: 1px solid #eee9e4;
		border-radius: 4px;
		overflow: hidden;
		touch-action: pan-y;
	}
	.single-product .vk-mobile-gallery__main {
		display: block;
		width: 100%;
		height: 100%;
		max-width: 100%;
		object-fit: contain;
		object-position: center;
		background: #f8f7f4;
	}
	.single-product .vk-mobile-gallery__arrow {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 2;
		width: 38px;
		height: 38px;
		border: 1px solid rgba(93,36,29,.16);
		border-radius: 999px;
		background: rgba(255,255,255,.92);
		color: #5D241D;
		font-size: 28px;
		line-height: 34px;
		padding: 0;
		box-shadow: 0 2px 10px rgba(48,28,20,.08);
	}
	.single-product .vk-mobile-gallery__arrow--prev { left: 10px; }
	.single-product .vk-mobile-gallery__arrow--next { right: 10px; }
	.single-product .vk-mobile-gallery__counter {
		position: absolute;
		right: 10px;
		bottom: 10px;
		z-index: 2;
		padding: 5px 9px;
		border-radius: 999px;
		background: rgba(255,255,255,.92);
		color: #5D241D;
		font-family: var(--vk-sans);
		font-size: .7rem;
		font-weight: 700;
	}
	.single-product .vk-mobile-gallery__thumbs {
		display: flex;
		gap: 8px;
		width: 100%;
		max-width: 100%;
		margin-top: 10px;
		padding: 0 0 4px;
		overflow-x: auto;
		overflow-y: hidden;
		overscroll-behavior-x: contain;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
	}
	.single-product .vk-mobile-gallery__thumb {
		flex: 0 0 62px;
		width: 62px;
		height: 62px;
		padding: 0;
		border: 1px solid #e1ddd8;
		border-radius: 4px;
		background: #fff;
		overflow: hidden;
		scroll-snap-align: center;
	}
	.single-product .vk-mobile-gallery__thumb.is-active {
		border-color: #5D241D;
		box-shadow: inset 0 0 0 1px #5D241D;
	}
	.single-product .vk-mobile-gallery__thumb img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
}

/* ============================================================
   v1.6.8 — gallery UX: vertical desktop thumbs + swipe-only mobile
   ============================================================ */

/* Desktop/tablet landscape: keep secondary product images beside the main
   image instead of consuming a horizontal row below it. `:has()` is only an
   enhancement; browsers without it keep WooCommerce's safe native layout. */
@media (min-width: 769px) {
	.single-product .vk-product-premium .woocommerce-product-gallery:has(.flex-control-thumbs) {
		display: grid !important;
		grid-template-columns: 82px minmax(0, 1fr);
		grid-template-rows: auto;
		column-gap: 14px;
		align-items: start;
		width: 100% !important;
		max-width: 100% !important;
	}
	.single-product .vk-product-premium .woocommerce-product-gallery:has(.flex-control-thumbs) > .flex-viewport,
	.single-product .vk-product-premium .woocommerce-product-gallery:has(.flex-control-thumbs) > .woocommerce-product-gallery__wrapper {
		grid-column: 2;
		grid-row: 1;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	.single-product .vk-product-premium .woocommerce-product-gallery:has(.flex-control-thumbs) > .flex-control-thumbs {
		grid-column: 1;
		grid-row: 1;
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch;
		gap: 10px !important;
		width: 82px !important;
		max-height: 640px;
		margin: 0 !important;
		padding: 0 3px 0 0 !important;
		overflow-x: hidden;
		overflow-y: auto;
		scrollbar-width: thin;
		overscroll-behavior-y: contain;
	}
	.single-product .vk-product-premium .woocommerce-product-gallery:has(.flex-control-thumbs) > .flex-control-thumbs li {
		flex: 0 0 74px !important;
		width: 74px !important;
		height: 74px !important;
		margin: 0 !important;
		float: none !important;
	}
	.single-product .vk-product-premium .woocommerce-product-gallery:has(.flex-control-thumbs) > .flex-control-thumbs img {
		display: block;
		width: 74px !important;
		height: 74px !important;
		max-width: 74px !important;
		object-fit: contain !important;
		object-position: center !important;
		background: #fff !important;
	}
	.single-product .vk-product-premium .woocommerce-product-gallery:has(.flex-control-thumbs) .woocommerce-product-gallery__trigger {
		right: 14px !important;
	}
}

/* Mobile: secondary images are not shown as thumbnails under the hero image.
   The customer swipes the full images themselves. Each slide uses contain +
   safe inner padding so tall/wide source images remain fully visible. */
@media (max-width: 768px) {
	.single-product .vk-mobile-gallery {
		position: relative;
		display: block;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin: 0 0 10px !important;
		overflow: hidden;
	}
	.single-product .vk-mobile-gallery__scroller {
		display: flex;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		scrollbar-width: none;
		-ms-overflow-style: none;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
		touch-action: pan-x pan-y pinch-zoom;
		background: #f8f7f4;
		border: 1px solid #eee9e4;
		border-radius: 4px;
	}
	.single-product .vk-mobile-gallery__scroller::-webkit-scrollbar { display: none; }
	.single-product .vk-mobile-gallery__slide {
		position: relative;
		flex: 0 0 100%;
		width: 100%;
		min-width: 100%;
		aspect-ratio: 1 / 1;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 10px;
		box-sizing: border-box;
		background: #f8f7f4;
		scroll-snap-align: start;
		scroll-snap-stop: always;
		overflow: hidden;
	}
	.single-product .vk-mobile-gallery__image {
		display: block !important;
		width: auto !important;
		height: auto !important;
		max-width: 100% !important;
		max-height: 100% !important;
		margin: auto !important;
		object-fit: contain !important;
		object-position: center center !important;
		background: transparent !important;
		box-shadow: none !important;
		transform: none !important;
	}
	.single-product .vk-mobile-gallery__counter {
		position: absolute;
		right: 10px;
		bottom: 10px;
		z-index: 3;
		padding: 5px 9px;
		border: 1px solid rgba(93,36,29,.08);
		border-radius: 999px;
		background: rgba(255,255,255,.94);
		color: #5D241D;
		font-family: var(--vk-sans);
		font-size: .7rem;
		font-weight: 700;
		line-height: 1.2;
		pointer-events: none;
	}
	.single-product .vk-mobile-gallery__hint {
		position: absolute;
		left: 10px;
		bottom: 10px;
		z-index: 3;
		padding: 5px 9px;
		border-radius: 999px;
		background: rgba(255,255,255,.88);
		color: #6f625b;
		font-family: var(--vk-sans);
		font-size: .66rem;
		font-weight: 600;
		line-height: 1.2;
		pointer-events: none;
	}
	/* v1.6.7 thumbnail/arrow elements are intentionally suppressed if stale
	   HTML survives at an outer cache layer during the first request. */
	.single-product .vk-mobile-gallery__thumbs,
	.single-product .vk-mobile-gallery__thumb,
	.single-product .vk-mobile-gallery__arrow { display: none !important; }
}

@media (max-width: 420px) {
	.single-product .vk-mobile-gallery__slide { padding: 8px; }
}

/* v1.6.9 — cache-safe Wishlist loading state. */
.vk-wishlist-shell { min-height: 120px; transition: opacity .18s ease; }
.vk-wishlist-shell.is-loading { opacity: .55; pointer-events: none; }
.vk-wishlist-btn[aria-pressed="true"] svg { fill: currentColor; }
