/* Vedang — Cart page (CSS snippet 2 of 3). Site wide, scoped to .vc-page */

.vc-page {
	--vc-m: #772613;
	--vc-md: #5A1C0E;
	--vc-gold: #C68A3E;
	--vc-ink: #2A1A12;
	--vc-body: #5B4A3D;
	--vc-muted: #7A6A5C;
	--vc-soft: #8B7B6C;
	--vc-line: #E5D9C8;
	--vc-cream: #F7F1E8;
	--vc-card: #FFFDF9;
	--vc-track: #EFE3D0;
	--vc-tint: #F5E7DC;
}

/* ---------- Elementor layout helpers ---------- */
.vc-page .vc-header.e-con { border-bottom: 1px solid var(--vc-line); }
.vc-page .vc-grid.e-con { align-items: flex-start; }
.vc-page .vc-right.e-con { position: sticky; top: 20px; }
.vc-page .vc-right.e-con > .e-con-inner { display: contents; }
.vc-page .vc-trust.e-con { background: var(--vc-card); border: 1px solid var(--vc-line); border-radius: 10px; }
.vc-page .vc-trust .elementor-icon-list-item { font-family: Lato, system-ui, sans-serif; font-size: 13.5px; font-weight: 700; color: var(--vc-body); }
.vc-page .vc-trust .elementor-icon-list-icon { color: var(--vc-gold); }
.vc-page .vc-trust .elementor-icon-list-icon i,
.vc-page .vc-trust .elementor-icon-list-icon svg { color: var(--vc-gold); fill: var(--vc-gold); }
.vc-page.vc-is-empty .vc-hide-empty.e-con,
.vc-page.vc-is-empty .vc-hide-empty.elementor-widget { display: none; }

/* ---------- kill theme button/focus styling inside cart regions ---------- */
.vc button, .vc button:focus, .vc button:focus-visible, .vc button:active {
	outline: none !important; box-shadow: none !important; text-decoration: none !important;
	text-transform: none !important; letter-spacing: 0 !important; transform: none;
}
.vc button::-moz-focus-inner { border: 0; }
.vc a:focus, .vc a:focus-visible { outline: none; box-shadow: none; }

/* ---------- offers region: reuses the side-cart card styles, needs its tokens ---------- */
.vc-page .vc-offers, .vsc-sheet {
	--m: #772613; --md: #5A1C0E; --gold: #C68A3E; --ink: #2A1A12; --body: #5B4A3D; --muted: #7A6A5C;
	--line: #E5D9C8; --cream: #F7F1E8; --card: #FFFDF9; --tint: #F2E7D5; --green: #1D7A5A; --green-bg: #E4F1E9;
}
.vc-sheet { pointer-events: auto; }
.vc-page .vc-offers { padding: 18px 20px; }
.vc-page .vc-offers .vsc-offers__scroll { margin: 0 -20px; padding: 4px 20px 2px; }
@media (min-width: 1025px) {
	.vc-page .vc-offers .vsc-offers__scroll { flex-wrap: wrap; overflow: visible; margin: 0; padding: 2px 0 0; }
	.vc-page .vc-offers .vsc-offer { flex: 1 1 260px; max-width: 320px; }
}

/* ---------- shared ---------- */
.vc { font-family: Lato, system-ui, sans-serif; color: var(--vc-ink); }
.vc * { box-sizing: border-box; }
.vc a { color: var(--vc-m); text-decoration: none; }
.vc a:hover { color: var(--vc-md); }
.vc .woocommerce-Price-amount { font: inherit; color: inherit; }
.vc-card { background: var(--vc-card); border: 1px solid var(--vc-line); border-radius: 10px; }
.vc-ico { display: inline-flex; flex: none; color: var(--vc-m); }
.vc-ico svg { width: 21px; height: 21px; }
.vc-count { font-size: 14.5px; color: var(--vc-muted); font-weight: 700; white-space: nowrap; }
.vc-btn {
	display: flex; align-items: center; justify-content: center; width: 100%;
	background: var(--vc-m) !important; color: var(--vc-cream) !important; border: 0; border-radius: 6px;
	padding: 13px 18px; font: 900 15px Lato, system-ui, sans-serif; cursor: pointer;
	text-decoration: none; transition: background .18s; box-shadow: none;
}
.vc-btn:hover { background: var(--vc-md) !important; color: var(--vc-cream) !important; }
.vc-btn--big { padding: 19px; font-size: 17px; box-shadow: 0 12px 24px -14px rgba(119,38,19,.85); }
.vc-link { display: block; text-align: center; font-size: 14px; font-weight: 700; margin-top: 2px; }
.vc-free { color: var(--vc-m); font-weight: 900; }
.vc-green { color: #1D7A5A; font-weight: 700; }

/* ---------- free shipping bar ---------- */
.vc-ship { padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; }
.vc-ship__head { display: flex; align-items: center; gap: 10px; }
.vc-ship__msg { font-size: 15.5px; font-weight: 900; color: var(--vc-ink); }
.vc-ship__track { height: 9px; border-radius: 999px; background: var(--vc-track); overflow: hidden; }
.vc-ship__fill { height: 100%; border-radius: 999px; background: var(--vc-gold); transition: width .5s cubic-bezier(.2,.7,.2,1); }
.vc-ship.is-done .vc-ship__fill { background: var(--vc-m); }
.vc-ship__sub { font-size: 13px; color: var(--vc-muted); }

/* ---------- line items ---------- */
.vc-lines { display: flex; flex-direction: column; gap: 14px; }
.vc-line {
	padding: 16px; display: grid; grid-template-columns: 104px 1fr auto; gap: 18px; align-items: center;
	transition: opacity .18s;
}
.vc-line.is-removing { opacity: .35; pointer-events: none; }
.vc-line__img { display: block; width: 104px; height: 104px; border-radius: 8px; background: #F2E7D5; overflow: hidden; }
.vc-line__img img { width: 100%; height: 100%; object-fit: contain; display: block; mix-blend-mode: multiply; padding: 6px; }
.vc-line__info { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.vc-line__top { display: flex; align-items: flex-start; gap: 8px; }
.vc-line__name { flex: 1; font: 500 18px/1.25 Poppins, system-ui, sans-serif; color: var(--vc-ink) !important; }
.vc-line__name:hover { color: var(--vc-m) !important; }
.vc-line__variant { font-size: 12.5px; color: var(--vc-muted); }
.vc-line__price { display: flex; align-items: baseline; gap: 9px; }
.vc-line__price b { font: 700 19px Poppins, system-ui, sans-serif; color: var(--vc-m); }
.vc-line__price s { font-size: 14px; color: var(--vc-soft); }
.vc-line__side { display: flex; flex-direction: column; align-items: flex-end; gap: 14px; }
.vc-line__total { font-size: 14px; font-weight: 700; color: var(--vc-ink); white-space: nowrap; }
.vc-line__ctl { display: none; }
.vc-remove {
	background: transparent !important; border: 0 !important; cursor: pointer; padding: 4px; display: inline-flex;
	color: var(--vc-soft); box-shadow: none; min-height: 0; transition: color .15s;
}
.vc-remove:hover, .vc-remove:focus { color: var(--vc-m) !important; background: transparent !important; }
.vc-remove svg { width: 19px; height: 19px; }
.vc-remove--m { display: none; }

.vc-qty { display: inline-flex; align-items: center; border: 1.5px solid var(--vc-line); border-radius: 6px; overflow: hidden; background: var(--vc-cream); }
.vc-qty button {
	width: 40px; height: 40px; background: transparent !important; border: 0 !important; cursor: pointer; padding: 0;
	font: 900 19px/1 Lato, system-ui, sans-serif; color: var(--vc-m); box-shadow: none; min-height: 0;
	-webkit-tap-highlight-color: transparent; user-select: none; transition: background .15s;
}
.vc-qty button:hover { background: #EFE3D0 !important; color: var(--vc-m) !important; }
.vc-qty button:disabled { opacity: .35; cursor: not-allowed; background: transparent !important; }
.vc-qty__n { min-width: 38px; text-align: center; font-size: 16px; font-weight: 900; color: var(--vc-ink); }
.vc-qty__n.bump { animation: vcBump .22s ease; }
@keyframes vcBump { 40% { transform: scale(1.22); } }

/* ---------- empty ---------- */
.vc-empty { padding: 44px 24px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.vc-empty__ico { color: var(--vc-gold); }
.vc-empty__ico svg { width: 44px; height: 44px; }
.vc-empty h3 { margin: 6px 0 0; font: 600 20px Poppins, system-ui, sans-serif; color: var(--vc-ink); }
.vc-empty p { margin: 0 0 12px; font-size: 14px; color: var(--vc-muted); }
.vc-empty .vc-btn { width: auto; min-width: 220px; }

/* ---------- upsells ---------- */
.vc-ups { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.vc-up { overflow: hidden; display: flex; flex-direction: column; transition: border-color .18s; }
.vc-up:hover { border-color: var(--vc-gold); }
.vc-up__img { display: block; height: 132px; background: #F2E7D5; }
.vc-up__img img { width: 100%; height: 100%; object-fit: contain; display: block; mix-blend-mode: multiply; padding: 8px; }
.vc-up__bd { padding: 12px 13px 14px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.vc-up__name { font: 500 15px/1.25 Poppins, system-ui, sans-serif; color: var(--vc-ink) !important; }
.vc-up__variant { font-size: 12px; color: var(--vc-muted); }
.vc-up__chips { display: flex; gap: 5px; flex-wrap: wrap; }
.vc-chip {
	font: 700 11.5px Lato, system-ui, sans-serif; border: 1px solid var(--vc-line) !important; border-radius: 5px;
	padding: 4px 8px; background: var(--vc-cream) !important; color: var(--vc-ink) !important; cursor: pointer;
	box-shadow: none !important; min-height: 0; line-height: 1.3; white-space: nowrap; transition: .15s;
}
.vc-chip:hover { border-color: var(--vc-m) !important; color: var(--vc-m) !important; }
.vc-chip.on { background: var(--vc-m) !important; border-color: var(--vc-m) !important; color: var(--vc-cream) !important; }
.vc-chip.na { opacity: .45; text-decoration: line-through; }
.vc-up__price { margin-top: auto; display: flex; align-items: baseline; gap: 7px; }
.vc-up__price b { font: 700 16px Poppins, system-ui, sans-serif; color: var(--vc-m); }
.vc-up__price s { font-size: 12.5px; color: var(--vc-soft); }
.vc-up__act { position: relative; height: 42px; }
.vc-up__add, .vc-qty--up { position: absolute; inset: 0; width: 100%; height: 100%; transition: opacity .18s, transform .18s; }
.vc-up__add[hidden], .vc-qty--up[hidden] { display: flex !important; opacity: 0; pointer-events: none; transform: scale(.97); }
.vc-up__add {
	display: flex; align-items: center; justify-content: center;
	background: transparent !important; color: var(--vc-m) !important; border: 1.5px solid var(--vc-m) !important; border-radius: 5px;
	padding: 0; font: 900 13.5px Lato, system-ui, sans-serif; cursor: pointer; transition: .15s;
	box-shadow: none !important; min-height: 0; text-decoration: none;
}
.vc-up__add:hover { background: var(--vc-m) !important; color: var(--vc-cream) !important; }
.vc-up__add:disabled { border-color: var(--vc-line) !important; color: var(--vc-soft) !important; cursor: not-allowed; }
.vc-qty--up { border-color: var(--vc-m); border-radius: 5px; }
.vc-qty--up button { flex: 0 0 40px; width: 40px; height: 100%; }
.vc-qty--up .vc-qty__n { flex: 1; }

/* ---------- summary ---------- */
.vc-sum { padding: 24px; display: flex; flex-direction: column; gap: 16px; }
.vc-sum__title { margin: 0; font: 600 21px Poppins, system-ui, sans-serif; color: var(--vc-ink); }
.vc-sum__rows { display: flex; flex-direction: column; gap: 12px; border-top: 1px solid var(--vc-line); padding-top: 16px; }
.vc-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 15px; color: var(--vc-body); }
.vc-row strong { color: var(--vc-ink); font-size: 16px; }
.vc-row__note { font-size: 13.5px; color: var(--vc-muted); text-align: right; max-width: 58%; }
.vc-row--coupon b { color: var(--vc-ink); letter-spacing: .4px; }
.vc-coupon-x { background: transparent !important; border: 0 !important; color: var(--vc-soft) !important; font-size: 17px; line-height: 1; cursor: pointer; padding: 0 4px; box-shadow: none; min-height: 0; }
.vc-coupon-x:hover { color: var(--vc-m) !important; background: transparent !important; }
.vc-save { display: flex; align-items: center; justify-content: space-between; background: var(--vc-tint); border-radius: 6px; padding: 11px 13px; }
.vc-save span { font-size: 14.5px; font-weight: 900; color: var(--vc-m); }
.vc-save strong { font-size: 16px; color: var(--vc-m); }
.vc-coupon { display: flex; flex-direction: column; gap: 10px; }
.vc-coupon__toggle {
	display: inline-flex; align-items: center; gap: 7px; align-self: flex-start;
	background: transparent !important; border: 0 !important; padding: 0 !important; color: var(--vc-m) !important; font: 700 13.5px Lato, system-ui, sans-serif;
	cursor: pointer; box-shadow: none; min-height: 0;
}
.vc-coupon__toggle:hover, .vc-coupon__toggle:focus { background: transparent !important; color: var(--vc-md) !important; }
.vc-coupon__toggle svg { width: 16px; height: 16px; }
.vc-coupon__form { display: flex; gap: 8px; }
.vc-coupon__form[hidden] { display: none; }
.vc-coupon__in {
	flex: 1; min-width: 0; height: 42px; border: 1.5px solid var(--vc-line) !important; border-radius: 6px !important;
	padding: 0 12px !important; font: 700 13.5px Lato, system-ui, sans-serif; color: var(--vc-ink);
	background: var(--vc-cream) !important; text-transform: uppercase; letter-spacing: .4px; box-shadow: none !important;
}
.vc-coupon__in:focus { border-color: var(--vc-m) !important; outline: 0; }
.vc-coupon__go {
	height: 42px; padding: 0 16px; background: transparent !important; color: var(--vc-m) !important; border: 1.5px solid var(--vc-m) !important;
	border-radius: 6px; font: 900 13.5px Lato, system-ui, sans-serif; cursor: pointer; box-shadow: none; min-height: 0; transition: .15s;
}
.vc-coupon__go:hover { background: var(--vc-m) !important; color: var(--vc-cream) !important; }
.vc-total { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; border-top: 1px solid var(--vc-line); padding-top: 16px; }
.vc-total span { font-size: 15px; font-weight: 900; color: var(--vc-ink); }
.vc-total b { font: 700 30px Poppins, system-ui, sans-serif; color: var(--vc-m); }

/* ---------- busy state ---------- */
.vc[data-vc="summary"].is-busy .vc-sum,
.vc[data-vc="sticky"].is-busy .vc-sticky,
.vc[data-vc="shipbar"].is-busy .vc-ship { opacity: .6; transition: opacity .18s; }

/* ---------- mobile sticky bar ---------- */
.vc-sticky { display: none; }

/* ---------- toast ---------- */
.vc-toast {
	position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%) translateY(8px);
	background: var(--vc-ink, #2A1A12); color: #fff; font: 600 13px Lato, system-ui, sans-serif;
	padding: 10px 16px; border-radius: 8px; z-index: 9999; opacity: 0; transition: opacity .2s, transform .2s;
	max-width: 90vw; text-align: center; pointer-events: none;
}
.vc-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.vc-toast.is-error { background: #9A2B1E; }

/* ============================================================
 * TABLET
 * ============================================================ */
@media (max-width: 1024px) {
	.vc-ups { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vc-line { grid-template-columns: 90px 1fr auto; gap: 14px; }
	.vc-line__img { width: 90px; height: 90px; }
}

/* ============================================================
 * MOBILE  (matches the "Cart — mobile 390" design)
 * ============================================================ */
@media (max-width: 767px) {

	/* flatten the two columns so we can reorder: ship → items → summary → upsells → trust */
	.vc-page .vc-left.e-con,
	.vc-page .vc-right.e-con,
	.vc-page .vc-left.e-con > .e-con-inner,
	.vc-page .vc-right.e-con > .e-con-inner { display: contents; }
	.vc-page .vc-grid.e-con { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
	.vc-page .vc-grid .elementor-widget,
	.vc-page .vc-grid .e-con,
	.vc-page .vc-grid .vc { width: 100% !important; max-width: 100% !important; flex: 0 0 auto; }
	.vc-page .vc-card, .vc-page .vc-sum, .vc-page .vc-ship, .vc-page .vc-offers { width: 100%; }
	.vc-page .vc-o-ship    { order: 1; }
	.vc-page .vc-o-offers  { order: 2; }
	.vc-page .vc-o-items   { order: 3; }
	.vc-page .vc-o-summary { order: 4; }
	.vc-page .vc-o-upshead { order: 5; margin-top: 8px; }
	.vc-page .vc-o-upsells { order: 6; }
	.vc-page .vc-trust     { order: 7; }
	.vc-page .vc-offers { padding: 14px; }
	.vc-page .vc-offers .vsc-offers__scroll { margin: 0 -14px; padding: 4px 14px 2px; }

	.vc-page .vc-trust.e-con { background: transparent; border: 0; border-top: 1px solid var(--vc-line); border-radius: 0; padding: 16px 0 0 !important; }
	.vc-page .vc-trust .elementor-icon-list-items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
	.vc-page .vc-trust .elementor-icon-list-item { flex-direction: column; align-items: center; text-align: center; font-size: 11px; gap: 7px; margin: 0 !important; padding: 0 !important; }
	.vc-page .vc-trust .elementor-icon-list-icon { margin: 0 !important; padding: 0 !important; }
	.vc-page .vc-trust .elementor-icon-list-text { padding: 0 !important; }

	.vc-count { font-size: 13px; }

	.vc-ship { padding: 14px; gap: 10px; }
	.vc-ship__msg { font-size: 13.5px; }
	.vc-ship__track { height: 8px; }
	.vc-ship__sub { display: none; }
	.vc-ico svg { width: 19px; height: 19px; }

	.vc-lines { gap: 12px; }
	.vc-line { grid-template-columns: 84px 1fr; gap: 12px; padding: 12px; align-items: stretch; }
	.vc-line__img { width: 84px; height: 84px; }
	.vc-line__side { display: none; }
	.vc-line__info { gap: 7px; }
	.vc-line__name { font-size: 15px; }
	.vc-line__price b { font-size: 16px; }
	.vc-line__price s { font-size: 12.5px; }
	.vc-remove--m { display: inline-flex; padding: 2px; }
	.vc-remove--m svg { width: 17px; height: 17px; }
	.vc-line__ctl { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; }
	.vc-line__total { font-size: 13.5px; }
	.vc-qty button { width: 38px; height: 38px; font-size: 18px; }
	.vc-qty__n { min-width: 30px; font-size: 15px; }

	.vc-sum { padding: 18px; gap: 14px; }
	.vc-sum__title { font-size: 19px; }
	.vc-sum__rows { gap: 11px; padding-top: 14px; }
	.vc-row { font-size: 14px; }
	.vc-row strong { font-size: 15px; }
	.vc-row__note { font-size: 12.5px; max-width: 60%; }
	.vc-save { padding: 10px 12px; }
	.vc-save span { font-size: 13.5px; }
	.vc-save strong { font-size: 15px; }
	.vc-total { padding-top: 14px; }
	.vc-total span { font-size: 14px; }
	.vc-total b { font-size: 25px; }
	.vc-sum .vc-btn--big,
	.vc-sum .vc-link { display: none; }   /* the sticky bar takes over on mobile */

	.vc-ups { grid-template-columns: 1fr 1fr; gap: 12px; }
	.vc-up__img { height: 110px; }
	.vc-up__bd { padding: 10px 10px 12px; gap: 7px; }
	.vc-up__name { font-size: 13.5px; }
	.vc-up__price { font-size: 15px; }
	.vc-up__act { height: 44px; }
	.vc-up__add { font-size: 13px; }
	.vc-qty--up button { flex: 0 0 38px; width: 38px; }

	.vc-sticky {
		display: flex; flex-direction: column; gap: 8px;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 990;
		background: var(--vc-cream); border-top: 1px solid var(--vc-line);
		padding: 12px 16px calc(16px + env(safe-area-inset-bottom));
	}
	.vc-sticky .vc-btn--big { padding: 18px; font-size: 16.5px; box-shadow: 0 10px 20px -12px rgba(119,38,19,.9); }
	.vc-sticky .vc-link { font-size: 13.5px; }
	.vc-page:not(.vc-is-empty) { padding-bottom: 120px; }
	.vc-toast { bottom: 132px; }
}

/* ---------- empty cart: left column takes the full width ---------- */
.vc-page.vc-is-empty .vc-left.e-con { width: 100% !important; max-width: 100% !important; }
.vc-page.vc-is-empty .vc-grid.e-con { display: block !important; }
.vc-page.vc-is-empty .vc-empty { padding: 64px 24px; }
.vc-page.vc-is-empty .vc-o-upshead { margin-top: 28px; }
@media (max-width: 767px) {
	.vc-page.vc-is-empty .vc-empty { padding: 44px 20px; }
	.vc-page.vc-is-empty .vc-o-upshead { margin-top: 20px; }
}