/* Yeldam WooCommerce UI — reuses the theme's own --gotur-* CSS variables (colors/fonts) so it stays visually consistent with the rest of the site. */

/* ---------- Cart drawer ---------- */
.yeldam-cart-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	z-index: 999998;
	opacity: 0;
	transition: opacity 0.25s ease;
}
.yeldam-cart-overlay.is-open {
	opacity: 1;
}

.yeldam-cart-drawer {
	position: fixed;
	top: 0;
	right: 0;
	height: 100vh;
	/* On phones 100vh is the height with the browser toolbars hidden, so
	   the checkout button ended up underneath them; dvh is what's visible. */
	height: 100dvh;
	width: 420px;
	max-width: 92vw;
	background: var(--gotur-white, #fff);
	z-index: 999999;
	transform: translateX(100%);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	display: flex;
	flex-direction: column;
	font-family: var(--gotur-font, "Plus Jakarta Sans", sans-serif);
	color: var(--gotur-black, #1D231F);
}
/* Shadow only while open: on the parked, off-screen drawer it spilled
   into view as a grey strip down the right edge of every page. */
.yeldam-cart-drawer.is-open {
	transform: translateX(0);
	box-shadow: -8px 0 30px rgba(0, 0, 0, 0.12);
}
/* Full-height column: header and free-delivery bar on top, the footer
   (subtotal + checkout) at the bottom, and only the item list between
   them scrolls (.yeldam-cart-drawer__items). */
.yeldam-cart-drawer__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
	overflow: hidden;
	padding: 16px 18px 0;
}
.yeldam-cart-drawer__header,
.yeldam-cart-drawer__shipping {
	flex: none;
}
.yeldam-cart-drawer__inner.is-loading {
	opacity: 0.5;
	pointer-events: none;
}
/* Adding to cart: drawer is already open, a green bar runs along its top
   until WooCommerce's response swaps the updated contents in. */
.yeldam-cart-drawer.is-adding {
	overflow: hidden;
}
.yeldam-cart-drawer.is-adding::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 35%;
	height: 3px;
	border-radius: 0 3px 3px 0;
	background: var(--gotur-base, #24B24B);
	animation: yeldam-drawer-adding 1.1s ease-in-out infinite;
}
.yeldam-cart-drawer.is-adding .yeldam-cart-drawer__inner {
	opacity: 0.6;
	pointer-events: none;
	transition: opacity 0.2s ease;
}
@keyframes yeldam-drawer-adding {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(300%); }
}
.yeldam-cart-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}
.yeldam-cart-drawer__header h2 {
	font-size: 17px;
	line-height: 1.3;
	font-weight: 600;
	margin: 0;
}
.yeldam-cart-drawer__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border-radius: 999px;
	background: var(--gotur-base, #63AB45);
	color: #fff;
	font-size: 12px;
	margin-left: 6px;
}
.yeldam-cart-drawer__close {
	border: none;
	background: transparent;
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
	color: var(--gotur-text, #595959);
}

.yeldam-cart-drawer__shipping {
	background: var(--gotur-gray, #F3F8F6);
	border-radius: 10px;
	padding: 8px 12px 10px;
	margin-bottom: 8px;
}
.yeldam-cart-drawer__shipping p {
	font-size: 12.5px;
	line-height: 1.4;
	margin: 0 0 6px;
	color: var(--gotur-text, #595959);
}
/* Free delivery unlocked: party-popper confetti (yeldam-woo-ui.js) over the
   drawer, a pop on the 🎉 and a soft green glow on the box. */
.yeldam-cart-drawer__party {
	display: inline-block;
}
.yeldam-cart-drawer__shipping {
	transition: box-shadow 0.4s ease, background-color 0.4s ease;
}
.yeldam-cart-drawer__shipping.is-celebrating {
	background: #EAF6E6;
	box-shadow: 0 0 0 2px rgba(36, 178, 75, 0.25);
}
.yeldam-cart-drawer__shipping.is-celebrating .yeldam-cart-drawer__party {
	animation: yeldam-party-pop 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@keyframes yeldam-party-pop {
	0% { transform: scale(0.4) rotate(-25deg); }
	45% { transform: scale(1.45) rotate(12deg); }
	70% { transform: scale(0.95) rotate(-6deg); }
	100% { transform: scale(1) rotate(0); }
}
.yeldam-confetti {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 5;
}
.yeldam-confetti__piece {
	position: absolute;
	width: 8px;
	height: 12px;
	margin: -6px 0 0 -4px;
	border-radius: 2px;
	will-change: transform, opacity;
}
.yeldam-confetti__piece.is-circle {
	width: 8px;
	height: 8px;
	border-radius: 50%;
}
.yeldam-confetti__piece.is-strip {
	width: 4px;
	height: 14px;
	border-radius: 2px;
}
@media (prefers-reduced-motion: reduce) {
	.yeldam-cart-drawer__shipping.is-celebrating .yeldam-cart-drawer__party {
		animation: none;
	}
}

.yeldam-progress {
	height: 6px;
	border-radius: 999px;
	background: #E0E9E3;
	overflow: hidden;
}
.yeldam-progress__bar {
	height: 100%;
	background: var(--gotur-base, #63AB45);
	transition: width 0.3s ease;
}

/* Empty cart: short intro, then a 2-column grid of
   bestsellers with "+ Add". Scrolls on its own if it doesn't fit. */
.yeldam-cart-drawer__empty {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	margin: 0 -18px;
	padding: 4px 18px 18px;
}
.yeldam-cart-drawer__empty-intro {
	text-align: center;
	padding: 18px 10px 20px;
}
.yeldam-cart-drawer__empty-icon {
	display: block;
	margin: 0 auto 8px;
	color: var(--gotur-base, #63AB45);
}
.yeldam-cart-drawer__empty-title {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 4px;
	color: var(--gotur-black, #1D231F);
}
.yeldam-cart-drawer__empty-text {
	font-size: 13px;
	margin: 0;
	color: var(--gotur-text, #595959);
}

/* Heading above "Bestsellers" (empty cart). */
.yeldam-cart-drawer__section-title {
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--gotur-black, #1D231F);
}

/* Small product card shared by the strip and the empty-cart grid. */
.yeldam-mini-product {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 8px;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 12px;
	background: #fff;
}
.yeldam-mini-product__image {
	display: block;
	aspect-ratio: 1 / 1;
	margin-bottom: 6px;
	border-radius: 8px;
	overflow: hidden;
	background: #F3F5F3;
}
.yeldam-mini-product__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.yeldam-mini-product__name {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.6em;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--gotur-black, #1D231F);
	text-decoration: none;
}
.yeldam-mini-product__name:hover,
.yeldam-mini-product__name:focus-visible {
	color: var(--gotur-base, #63AB45);
}
.yeldam-mini-product__price {
	display: block;
	margin: 3px 0 7px;
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--gotur-black, #1D231F);
}
.yeldam-mini-product__price del {
	margin-right: 4px;
	font-weight: 400;
	color: #8A8F8B;
}
.yeldam-mini-product__price ins {
	text-decoration: none;
}
.yeldam-mini-product__add {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	height: 30px;
	padding: 0 10px;
	border: 1px solid var(--gotur-base, #63AB45);
	border-radius: 8px;
	background: #fff;
	color: var(--gotur-base, #63AB45);
	font-size: 12.5px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}
.yeldam-mini-product__add:hover,
.yeldam-mini-product__add:focus-visible {
	background: var(--gotur-base, #63AB45);
	color: #fff;
}
.yeldam-mini-product__add.is-loading,
.yeldam-mini-product__add:disabled {
	opacity: 0.65;
	cursor: wait;
}

/* Empty-cart bestsellers: 2-column grid. */
.yeldam-mini-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

/* "<name> removed from cart. [Undo]" — see showSnackbar() in yeldam-woo-ui.js. */
.yeldam-snackbar {
	position: fixed;
	left: 50%;
	bottom: 20px;
	z-index: 1000000;
	display: flex;
	align-items: center;
	gap: 10px;
	width: max-content;
	max-width: min(360px, calc(100vw - 32px));
	padding: 6px 6px 6px 12px;
	border-radius: 8px;
	background: #1D231F;
	color: #fff;
	font-family: var(--gotur-font, "Plus Jakarta Sans", sans-serif);
	font-size: 12px;
	line-height: 1.35;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 12px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
}
.yeldam-snackbar.is-in-drawer {
	position: absolute;
	z-index: 7;
	max-width: calc(100% - 32px);
}
.yeldam-snackbar.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
	transition-delay: 0s;
}
.yeldam-snackbar__text {
	flex: 1;
	min-width: 0;
}
.yeldam-snackbar__undo {
	flex: none;
	padding: 4px 8px;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: #8EE07A;
	font-size: 11.5px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	cursor: pointer;
}
.yeldam-snackbar__undo:hover,
.yeldam-snackbar__undo:focus-visible {
	background: rgba(255, 255, 255, 0.1);
	color: #8EE07A;
}
.yeldam-snackbar__undo[hidden] {
	display: none;
}
@media (prefers-reduced-motion: reduce) {
	.yeldam-snackbar {
		transition: none;
	}
}

/* Coupon field under the free-delivery bar: a collapsed "Apply coupon" row
   that expands into code input + Apply; applied codes show as chips with ×.
   Behaviour in yeldam-woo-ui.js (restoreCouponUi / sendCouponRequest). */
.yeldam-cart-coupon {
	flex: none;
	margin: 0 0 10px;
	border: 1px dashed #B9D9AC;
	border-radius: 10px;
	background: #F7FBF5;
}
.yeldam-cart-coupon__toggle {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	padding: 7px 12px;
	border: none;
	border-radius: 10px;
	background: transparent;
	color: var(--gotur-black, #1D231F);
	font-size: 13px;
	line-height: 1.4;
	font-weight: 600;
	text-align: left;
	cursor: pointer;
}
.yeldam-cart-coupon__toggle:hover,
.yeldam-cart-coupon__toggle:focus-visible {
	background: transparent;
	color: var(--gotur-black, #1D231F);
}
.yeldam-cart-coupon__icon {
	flex: none;
	color: var(--gotur-base, #63AB45);
}
.yeldam-cart-coupon__title {
	flex: 1;
}
.yeldam-cart-coupon__chevron {
	flex: none;
	color: var(--gotur-text, #595959);
	transition: transform 0.2s ease;
}
.yeldam-cart-coupon.is-open .yeldam-cart-coupon__chevron {
	transform: rotate(180deg);
}
.yeldam-cart-coupon__form {
	display: flex;
	gap: 8px;
	padding: 0 12px 8px;
}
.yeldam-cart-coupon__form[hidden],
.yeldam-cart-coupon__msg[hidden] {
	display: none;
}
.yeldam-cart-coupon__input {
	flex: 1;
	min-width: 0;
	height: 34px;
	padding: 0 12px;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 10px;
	background: #fff;
	font-family: inherit;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.yeldam-cart-coupon__input::placeholder {
	text-transform: none;
	letter-spacing: 0;
}
.yeldam-cart-coupon__input:focus {
	outline: none;
	border-color: var(--gotur-base, #63AB45);
	box-shadow: 0 0 0 3px rgba(99, 171, 69, 0.15);
}
.yeldam-cart-coupon__apply {
	flex: none;
	height: 34px;
	padding: 0 14px;
	border: none;
	border-radius: 10px;
	background: var(--gotur-base, #63AB45);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
}
.yeldam-cart-coupon__apply:hover,
.yeldam-cart-coupon__apply:focus-visible {
	background: var(--gotur-base, #63AB45);
	color: #fff;
	opacity: 0.9;
}
.yeldam-cart-coupon__apply:disabled,
.yeldam-cart-coupon__input:disabled {
	opacity: 0.6;
	cursor: wait;
}
.yeldam-cart-coupon__msg {
	margin: 0;
	padding: 0 12px 6px;
	font-size: 12px;
	font-weight: 500;
	color: #1F7A3A;
}
.yeldam-cart-coupon__msg.is-error {
	color: #C0392B;
}
.yeldam-cart-coupon__applied {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	padding: 0 12px 8px;
	list-style: none;
}
.yeldam-cart-coupon__applied li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 2px 3px 2px 9px;
	border-radius: 999px;
	background: #E4F2DD;
	font-size: 12px;
	font-weight: 600;
	color: #1F5B3F;
	transition: opacity 0.15s ease;
}
.yeldam-cart-coupon__applied li.is-removing {
	opacity: 0.5;
}
.yeldam-cart-coupon__code {
	letter-spacing: 0.04em;
}
.yeldam-cart-coupon__saved {
	font-weight: 500;
}
.yeldam-cart-coupon__remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: #1F5B3F;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}
.yeldam-cart-coupon__remove:hover,
.yeldam-cart-coupon__remove:focus-visible {
	background: rgba(31, 91, 63, 0.12);
	color: #1F5B3F;
}

/* The scrolling part. Bleeds into the drawer's side padding (negative
   margin + matching padding) so the cards' borders and the scrollbar
   aren't clipped against the edge. */
.yeldam-cart-drawer__items {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0 -18px;
	padding: 2px 18px 10px;
}
.yeldam-cart-drawer__items > .yeldam-cart-item {
	flex: none;
}
.yeldam-cart-item {
	display: flex;
	gap: 10px;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 12px;
	padding: 8px;
}
.yeldam-cart-item__image {
	width: 56px;
	height: 56px;
	flex-shrink: 0;
	align-self: center; /* vertically centred against the name/weight/price/qty stack */
	border-radius: 10px;
	overflow: hidden;
}
.yeldam-cart-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.yeldam-cart-item__info {
	flex: 1;
	min-width: 0;
}
.yeldam-cart-item__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 8px;
}
.yeldam-cart-item__name {
	font-weight: 600;
	font-size: 14px;
}
a.yeldam-cart-item__name {
	color: inherit;
	text-decoration: none;
}
a.yeldam-cart-item__name:hover,
a.yeldam-cart-item__name:focus-visible {
	color: var(--gotur-base, #63AB45);
	text-decoration: underline;
}
/* Dustbin icon button (SVG in cart-drawer.php; aria-label "Remove item"). */
.yeldam-cart-item__remove {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	margin: -5px -5px 0 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: #C0392B;
	cursor: pointer;
	padding: 0;
	transition: background-color 0.15s ease;
}
.yeldam-cart-item__remove:hover,
.yeldam-cart-item__remove:focus-visible {
	background: #FDECEA;
	color: #C0392B;
}
.yeldam-cart-item__remove svg {
	display: block;
}
/* Unit price, then the struck regular price when on sale — same colours
   as the checkout summary (dark price, #9CA3AF struck price). */
.yeldam-cart-item__prices {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 8px;
	margin: 4px 0 6px;
}
.yeldam-cart-item__price {
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--gotur-black, #1D231F);
}
.yeldam-cart-item__regular-price {
	font-size: 13px;
	line-height: 1.3;
	color: #9CA3AF;
	white-space: nowrap;
}
/* Pack weight ("150 g") under the name — plain grey text, the same as the
   checkout summary and Review Order items, at the drawer's smaller scale. */
.yeldam-cart-item__weight {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	line-height: 1.3;
	color: #6B7280;
}
/* Drawer rows: a smaller stepper than the product page's. */
.yeldam-cart-item__qty .yeldam-qty-btn {
	width: 26px;
	height: 26px;
}
.yeldam-cart-item__qty .yeldam-qty-value {
	width: 26px;
	font-size: 14px;
}
/* Quantity stepper — one look across the site: white pill with a light
   border and soft shadow, plain −/+ (light-green circle on hover) and a
   bold count between them. Used by the cart drawer (here), the product
   page (".yeldam-pdp .quantity"), the cart page
   (".wc-block-cart-item__quantity") and the checkout review step
   (".yeldam-review .yr-stepper"). The product page's is 44px tall; the
   compact list rows use 38–40px. */
.yeldam-cart-item__qty {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	box-sizing: border-box;
	height: 32px;
	padding: 0 3px;
	background: #fff;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 999px;
	box-shadow: 0 2px 10px rgba(29, 35, 31, 0.06);
}
.yeldam-qty-btn {
	-webkit-appearance: none;
	appearance: none;
	box-sizing: border-box;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	padding: 0;
	margin: 0;
	border-radius: 50%;
	border: none;
	background: transparent;
	color: #1D231F;
	cursor: pointer;
	line-height: 1;
	font-size: 18px;
	font-weight: 700;
	transition: background-color 0.15s ease, transform 0.1s ease;
}
.yeldam-qty-btn:hover,
.yeldam-qty-btn:focus-visible {
	background: #E4F2DD;
	color: #1D231F;
}
.yeldam-qty-btn:active {
	transform: scale(0.92);
}
/* −/+ drawn as CSS bars rather than text glyphs: font baselines put the
   "−"/"+" characters visibly below the circle's center, whereas bars
   positioned at 50%/50% are exactly centered regardless of font. The
   buttons keep their aria-labels, so hiding the glyph text is fine. The
   product page's theme buttons (.sub/.add, Font Awesome icons) use the
   same drawing so both steppers match. */
.yeldam-qty-btn,
.yeldam-pdp div.quantity .sub,
.yeldam-pdp div.quantity .add {
	position: relative;
	font-size: 0 !important;
	color: transparent;
}
/* "relative" (needed to anchor the bars) would otherwise re-apply the
   theme's leftover top/right/bottom offsets meant for its stacked layout. */
.yeldam-pdp div.quantity .sub,
.yeldam-pdp div.quantity .add {
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
}
.yeldam-pdp div.quantity .sub i,
.yeldam-pdp div.quantity .add i {
	display: none;
}
.yeldam-qty-btn::before,
.yeldam-qty-plus::after,
.yeldam-pdp div.quantity .sub::before,
.yeldam-pdp div.quantity .add::before,
.yeldam-pdp div.quantity .add::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 2px;
	border-radius: 2px;
	background: #1D231F;
	transform: translate(-50%, -50%);
}
.yeldam-qty-plus::after,
.yeldam-pdp div.quantity .add::after {
	transform: translate(-50%, -50%) rotate(90deg);
}
.yeldam-qty-value {
	width: 30px;
	min-width: 18px;
	text-align: center;
	font-size: 15px;
	font-weight: 700;
	font-family: inherit;
	color: #1D231F;
	border: none;
	background: transparent;
	padding: 0;
	-moz-appearance: textfield;
	appearance: textfield;
}
/* Hide the native up/down spinner arrows — the +/- buttons already cover
   that, having both looked like two competing controls stacked together. */
.yeldam-qty-value::-webkit-inner-spin-button,
.yeldam-qty-value::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.yeldam-qty-value:focus {
	outline: none;
	color: var(--gotur-base, #63AB45);
}

/* Always at the bottom of the drawer, below the scrolling item list, so
   checkout stays in reach however many items are in the cart. */
.yeldam-cart-drawer__footer {
	flex: none;
	margin: 0 -18px;
	padding: 10px 18px calc(14px + env(safe-area-inset-bottom, 0px));
	background: var(--gotur-white, #fff);
	border-top: 1px solid var(--gotur-border-color, #E5E5E5);
}

/* Very short screens (phones in landscape): header + delivery bar + footer
   would leave almost no room for the list, so the whole drawer scrolls
   instead, with the footer stuck to the bottom. */
@media (max-height: 520px) {
	.yeldam-cart-drawer__inner {
		overflow-y: auto;
		padding-top: 16px;
	}
	.yeldam-cart-drawer__items {
		flex: none;
		overflow: visible;
	}
	.yeldam-cart-drawer__footer {
		position: sticky;
		bottom: 0;
		padding-top: 12px;
		padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
	}
	.yeldam-cart-drawer__header {
		margin-bottom: 10px;
	}
	.yeldam-cart-drawer__shipping {
		margin-bottom: 12px;
	}
}
/* Secure-payment badges (same image as the checkout summary) above the bar. */
.yeldam-cart-drawer__badges {
	margin: 0 0 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #EDF0EE;
}
.yeldam-cart-drawer__badges img {
	display: block;
	width: 100%;
	max-width: 300px;
	height: auto;
	margin: 0 auto;
}
@media (max-height: 520px) {
	/* Very short screens (landscape phones): keep the item list usable. */
	.yeldam-cart-drawer__badges {
		display: none;
	}
}

/* Footer bar: "Saving ₹X" pill, grand total with the MRP struck through and
   "See Details" on the left; Checkout on the right. */
.yeldam-cart-drawer__bar {
	display: flex;
	align-items: center;
	gap: 14px;
}
.yeldam-cart-drawer__totals {
	flex: none;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	min-width: 0;
}
.yeldam-cart-drawer__saving-pill {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 4px;
	background: #EBF8EF;
	color: #1F5B3F;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
	white-space: nowrap;
}
.yeldam-cart-drawer__saving-pill[hidden],
.yeldam-cart-drawer__mrp-value[hidden],
.yeldam-price-summary [hidden] {
	display: none;
}
.yeldam-cart-drawer__total-line {
	display: flex;
	align-items: baseline;
	gap: 6px;
	white-space: nowrap;
}
.yeldam-cart-drawer__grand-value {
	font-size: 17px;
	line-height: 1.25;
	font-weight: 700;
	color: var(--gotur-black, #1D231F);
}
.yeldam-cart-drawer__total-line .yeldam-cart-drawer__mrp-value {
	font-size: 13px;
	color: #8A8F8B;
}
.yeldam-cart-drawer__details-toggle {
	padding: 0;
	border: none;
	background: transparent;
	color: var(--gotur-black, #1D231F);
	font-size: 13px;
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: pointer;
}
.yeldam-cart-drawer__details-toggle:hover,
.yeldam-cart-drawer__details-toggle:focus-visible {
	background: transparent;
	color: var(--gotur-base, #63AB45);
}
.yeldam-cart-drawer__bar .yeldam-cart-drawer__checkout {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 46px;
	padding-top: 10px;
	padding-bottom: 10px;
	border-radius: 10px;
}
.yeldam-cart-drawer__checkout {
	gap: 6px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 14px;
	font-weight: 700;
}

/* "See Details" → Price Summary: a sheet sliding up inside the drawer over
   the item list, with a dimmed backdrop. Toggled by openPriceSummary() /
   closePriceSummary() in yeldam-woo-ui.js. */
.yeldam-cart-drawer__inner {
	position: relative;
}
.yeldam-price-summary {
	position: absolute;
	inset: 0;
	z-index: 6;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	visibility: hidden;
	pointer-events: none;
	transition: visibility 0s linear 0.3s;
}
.yeldam-price-summary.is-open {
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0s;
}
.yeldam-price-summary__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(29, 35, 31, 0.45);
	opacity: 0;
	transition: opacity 0.3s ease;
}
.yeldam-price-summary.is-open .yeldam-price-summary__backdrop {
	opacity: 1;
}
.yeldam-price-summary__sheet {
	position: relative;
	max-height: calc(100% - 40px);
	overflow-y: auto;
	overscroll-behavior: contain;
	background: #fff;
	border-radius: 18px 18px 0 0;
	box-shadow: 0 -10px 30px rgba(29, 35, 31, 0.15);
	transform: translateY(100%);
	transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.yeldam-price-summary.is-open .yeldam-price-summary__sheet {
	transform: translateY(0);
}
.yeldam-price-summary.is-instant,
.yeldam-price-summary.is-instant * {
	transition: none !important;
}
@media (prefers-reduced-motion: reduce) {
	.yeldam-price-summary__sheet,
	.yeldam-price-summary__backdrop {
		transition: none;
	}
}
.yeldam-price-summary__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 16px 10px;
}
.yeldam-price-summary__head h3 {
	margin: 0;
	font-size: 16px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--gotur-black, #1D231F);
}
.yeldam-price-summary__close {
	border: none;
	background: transparent;
	font-size: 24px;
	line-height: 1;
	padding: 0 2px;
	cursor: pointer;
	color: var(--gotur-black, #1D231F);
}
.yeldam-price-summary__close:hover,
.yeldam-price-summary__close:focus-visible {
	background: transparent;
	color: var(--gotur-base, #63AB45);
}
.yeldam-price-summary__body {
	padding: 10px 16px;
	background: #F7F8F7;
	border-top: 1px solid #ECEEEC;
	border-bottom: 1px solid #ECEEEC;
}
.yeldam-price-summary__row {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 600;
	color: var(--gotur-black, #1D231F);
	padding: 2px 0;
}
.yeldam-price-summary__row--subtotal {
	font-size: 14px;
	font-weight: 400;
	color: var(--gotur-text, #595959);
	padding-bottom: 6px;
}
.yeldam-price-summary__row.is-discount > span:last-child {
	color: #D92D20;
}
.yeldam-price-summary__row--savings {
	margin-top: 6px;
	padding-top: 8px;
	border-top: 1px solid #E2E5E2;
}
.yeldam-price-summary__grand {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 16px;
}
.yeldam-price-summary__grand-label {
	display: block;
	font-size: 15px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--gotur-black, #1D231F);
}
.yeldam-price-summary__grand-note {
	display: block;
	font-size: 11px;
	line-height: 1.35;
	color: var(--gotur-text, #595959);
	margin-top: 1px;
}
.yeldam-price-summary__grand .yeldam-cart-drawer__grand-value {
	font-size: 18px;
	white-space: nowrap;
}
.yeldam-price-summary__saved {
	margin: 0;
	padding: 7px 16px;
	background: #E9F5E4;
	text-align: center;
	font-size: 13px;
	line-height: 1.4;
	font-weight: 600;
	color: var(--gotur-black, #1D231F);
}
.yeldam-price-summary__saved > span {
	font-size: 15px;
	margin-right: 4px;
	vertical-align: -1px;
}
/* Inset with the same 16px gutter and 12px corners as the footer button
   (doubled selector: .yeldam-btn later in this file sets a pill radius). */
.yeldam-price-summary .yeldam-price-summary__checkout {
	width: auto;
	min-height: 48px;
	margin: 12px 16px calc(14px + env(safe-area-inset-bottom, 0px));
	padding: 12px 20px;
	border-radius: 12px;
	font-size: 14px;
}
.yeldam-cart-drawer__continue {
	display: block;
	text-align: center;
	margin-top: 10px;
	font-size: 13px;
	color: var(--gotur-text, #595959);
	text-decoration: underline;
}

.yeldam-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	padding: 14px 20px;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: opacity 0.2s ease;
}
.yeldam-btn:hover {
	opacity: 0.9;
	color: #fff;
}
.yeldam-btn--primary {
	background: var(--gotur-base, #63AB45);
	color: #fff;
}
/* Brief state while flushing a pending cart change before actually
   navigating to checkout — see the click handler in yeldam-woo-ui.js. */
/* Proactively disabled the moment any qty/remove change is unconfirmed —
   see updateCheckoutLock() in yeldam-woo-ui.js. Not just dimmed: actually
   unclickable, so checkout can't be reached until everything is synced. */
.yeldam-cart-drawer__checkout.is-syncing {
	opacity: 0.7;
	pointer-events: none;
	cursor: not-allowed;
}
.yeldam-btn--outline {
	background: transparent;
	border: 1px solid var(--gotur-base, #63AB45);
	color: var(--gotur-base, #63AB45);
}
.yeldam-btn--outline:hover {
	color: var(--gotur-base, #63AB45);
}
.yeldam-btn--block {
	display: flex;
	width: 100%;
}

body.yeldam-drawer-open {
	overflow: hidden;
}

/* ---------- Shop header: heading + category pills ---------- */
.yeldam-shop-header {
	text-align: center;
	margin-bottom: 36px;
}
.yeldam-shop-header__title {
	font-family: var(--gotur-font, "Plus Jakarta Sans", sans-serif);
	font-size: 34px;
	font-weight: 700;
	color: var(--gotur-black, #1D231F);
	margin: 0 0 20px;
}
.yeldam-category-pills {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	overflow-x: auto;
	padding-bottom: 4px;
	-webkit-overflow-scrolling: touch;
}
.yeldam-category-pill {
	display: inline-block;
	white-space: nowrap;
	padding: 9px 20px;
	border-radius: 999px;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	background: #fff;
	color: var(--gotur-black, #1D231F);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.yeldam-category-pill:hover {
	border-color: var(--gotur-base, #63AB45);
	color: var(--gotur-base, #63AB45);
}
.yeldam-category-pill.is-active {
	background: var(--gotur-base, #63AB45);
	border-color: var(--gotur-base, #63AB45);
	color: #fff;
}

/* Brief fade while a category pill's AJAX request is in flight (see
   loadShopUrl() in yeldam-woo-ui.js) — the grid isn't emptied, just dimmed,
   so switching categories doesn't flash a blank page. */
.product__items.is-loading {
	opacity: 0.5;
	pointer-events: none;
	transition: opacity 0.15s ease;
}

/* Veg / non-veg indicator — the standard Indian food-safety mark: a small
   square outline with a centered dot (green square + green dot for veg,
   brown/maroon square + dot for non-veg). Shown only when a product's
   "Food Type" attribute is actually set (see includes/food-type-badge.php) —
   never guessed. */
.yeldam-food-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	width: 22px;
	height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
}
.yeldam-food-badge--veg {
	border: 2px solid #0f8a3f;
}
.yeldam-food-badge--veg .yeldam-food-badge__dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #0f8a3f;
}
.yeldam-food-badge--non-veg {
	border: 2px solid #8b2e1f;
}
.yeldam-food-badge--non-veg .yeldam-food-badge__dot {
	width: 0;
	height: 0;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-bottom: 9px solid #8b2e1f;
}

/* ---------- Product card (shop grid, category archives, related products —
   they all render through the theme's content-product.php, so styling it once
   here covers every place products are listed as cards). Rounded image, bold
   name, green sale price + muted "(X% off)", wishlist heart circle beside a
   full Add to Cart pill — matches the reference design. ---------- */
.product__item {
	position: relative;
	border-radius: 20px !important;
	overflow: hidden;
}
/* Elementor product cards: image and title open the product page (yeldam-woo-ui.js). */
.yeldam-card-link,
.yeldam-card-link:hover,
.yeldam-card-link:focus {
	color: inherit;
	text-decoration: none;
	cursor: pointer;
}
.yeldam-card-link:has(> img) {
	display: block;
	line-height: 0;
}
/* The whole title box is the link, not just the words in it. */
.elementor-heading-title > .yeldam-card-link {
	display: block;
}
.elementor-heading-title > .yeldam-card-link:hover {
	text-decoration: underline;
}
.product__item__image {
	border-radius: 0 !important;
}
.product__item__image img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
.product__item__content {
	padding: 20px !important;
	/* Name, price and rating left-aligned (the theme centres them). */
	text-align: left !important;
}
.product__item__content .product__item__price {
	text-align: left !important;
}
.product__item__content .gotur-ratings {
	justify-content: flex-start !important;
}
.product__item__title {
	font-size: 18px !important;
	font-weight: 700 !important;
}
.product__item__price {
	margin-bottom: 16px;
}
/* One row, vertically centred: final price first, then the struck-off
   price, then "(X% off)" — WooCommerce prints the old price first, so the
   order is set here. */
.product__item__price .price {
	display: inline-flex;
	flex-wrap: wrap;
	/* The theme makes this a full-width flex row centred with
	   justify-content — start it from the left like the name above. */
	justify-content: flex-start !important;
	align-items: center;
	column-gap: 8px;
	row-gap: 2px;
}
.product__item__price .price ins {
	order: 1;
	/* No highlight behind the final price (the theme's default <ins> look). */
	background: none !important;
	padding: 0 !important;
	color: var(--gotur-base, #63AB45);
	font-weight: 700;
	font-size: 17px;
	text-decoration: none;
}
.product__item__price .price del {
	order: 2;
	color: var(--gotur-text, #595959);
	opacity: 0.7;
	font-size: 14px;
}
.product__item__price .price .yeldam-discount-badge {
	order: 3;
	margin-left: 0;
}
.product__item__price .price:not(:has(del)) {
	color: var(--gotur-base, #63AB45);
	font-weight: 700;
	font-size: 17px;
}

/* Discount percentage injected next to the price, shown as "(X% off)". */
.yeldam-discount-badge {
	display: inline-block;
	margin-left: 4px;
	font-size: 13px;
	font-weight: 500;
	color: var(--gotur-text, #595959);
}

/* Actions row: wishlist heart circle + Add to Cart pill, side by side.
   The wishlist button (from the existing woo-smart-wishlist plugin) is
   physically moved here by JS from its original ".product__item__btn"
   location, since the theme renders it in a separate block after the
   add-to-cart button, not as a sibling that CSS alone could reflow. */
.yeldam-product-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}
.yeldam-product-actions .product__add-to-cart {
	flex: 1;
	min-width: 0;
	/* The theme's own rule adds margin-top:14px, sized for its original
	   stacked-below-price layout — not needed now that this sits in a flex
	   row alongside the wishlist heart. */
	margin-top: 0;
}
.yeldam-product-actions .product__add-to-cart .gotur-btn {
	width: 100%;
	justify-content: center;
	border-radius: 999px !important;
}
/* Cart icon before "Add to cart" / "View cart" on product cards — same icon
   and technique as the wishlist popup's buttons (a CSS mask in currentColor
   on ::before). The theme uses both pseudo-elements for its hover sweep, so
   ::after is switched off and ::before fully reset into the icon. */
/* (Not when hidden: after adding, our JS hides "Add to cart" with an inline
   display:none so only "View cart" shows.) */
.product__item .product__add-to-cart .add_to_cart_button:not([style*="display: none"]),
.product__item .product__add-to-cart .added_to_cart.wc-forward:not([style*="display: none"]) {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
}
.product__item .product__add-to-cart .add_to_cart_button::before,
.product__item .product__add-to-cart .added_to_cart.wc-forward::before {
	content: "" !important;
	position: static !important;
	flex: none;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	border: none !important;
	background: currentColor !important;
	transform: none !important;
	transition: none !important;
	z-index: auto !important;
	opacity: 1 !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 10.2a1 1 0 0 0 1 .8h8.9a1 1 0 0 0 1-.8L20 7H6'/%3E%3Ccircle cx='9' cy='19' r='1.4'/%3E%3Ccircle cx='17' cy='19' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 10.2a1 1 0 0 0 1 .8h8.9a1 1 0 0 0 1-.8L20 7H6'/%3E%3Ccircle cx='9' cy='19' r='1.4'/%3E%3Ccircle cx='17' cy='19' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.product__item .product__add-to-cart .add_to_cart_button::after,
.product__item .product__add-to-cart .added_to_cart.wc-forward::after {
	content: none !important;
	display: none !important;
}
.yeldam-product-actions .woosw-btn {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 50%;
	color: var(--gotur-black, #1D231F);
}
.yeldam-product-actions .woosw-btn-text {
	display: none;
}
.yeldam-product-actions .woosw-btn.woosw-added {
	border-color: var(--gotur-base, #63AB45);
	color: var(--gotur-base, #63AB45);
}
/* The theme's global, unscoped ".woosw-added:hover { background-color: ... }"
   (style.css) fills this circular heart icon with a solid green background
   on hover — override it back to transparent so hovering the already-
   wishlisted heart doesn't change its look. */
.yeldam-product-actions .woosw-btn.woosw-added:hover {
	background-color: transparent !important;
	border-color: var(--gotur-base, #63AB45);
	color: var(--gotur-base, #63AB45);
}
/* Quick-view icon isn't in the reference design — hide it, leaving heart + cart only. */
.product__item__btn .woosq-btn {
	display: none;
}
.product__item__btn {
	margin-top: 0 !important;
}

@media (max-width: 480px) {
	.yeldam-shop-header__title {
		font-size: 26px;
	}
	.yeldam-category-pills {
		flex-wrap: nowrap;
		justify-content: flex-start;
	}
}

/* ---------- Checkout (WooCommerce Blocks — this site uses the block-based
   Checkout page, not the classic shortcode/PHP-template checkout, so this
   targets WooCommerce Blocks' own stable public CSS classes, not template
   overrides). Scoped under .wc-block-checkout so it can't leak elsewhere. ---------- */
/* .wp-block-woocommerce-cart is included alongside .wc-block-cart because
   the latter is only added by React once the cart actually has items — on
   the empty-cart view it never exists, so container width/padding rules
   scoped to it alone silently don't apply (same root cause as the earlier
   "New in store" grid/veg-badge fixes). */
.wc-block-checkout,
.wc-block-cart,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-cart.alignwide {
	font-family: var(--gotur-font, "Plus Jakarta Sans", sans-serif);
	color: var(--gotur-black, #1D231F);
	/* Match the theme's own .container: 1200px max-width, centered, 15px side
	   gutters. !important because WooCommerce Blocks' own ".alignwide" rule
	   (max-width: var(--wp--style--global--wide-size)) was winning the
	   cascade and stretching the cart edge-to-edge with no side padding. */
	max-width: 1200px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 15px !important;
	padding-right: 15px !important;
	box-sizing: border-box;
	padding-top: 120px;
	padding-bottom: 50px;
}
@media (max-width: 767px) {
	.wc-block-checkout,
	.wc-block-cart,
	.wp-block-woocommerce-cart {
		padding-top: 100px;
		padding-bottom: 100px;
	}
}
@media (max-width: 575px) {
	.wc-block-checkout,
	.wc-block-cart,
	.wp-block-woocommerce-cart {
		padding-top: 80px;
		padding-bottom: 80px;
	}
}

.wc-block-checkout .wc-block-components-checkout-step__title {
	font-size: 18px;
	font-weight: 700;
	color: var(--gotur-black, #1D231F);
}

.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-select select,
.wc-block-checkout .wc-block-components-combobox input,
.wc-block-checkout .wc-block-components-textarea textarea {
	border-radius: 10px !important;
	border-color: var(--gotur-border-color, #E5E5E5) !important;
}
.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-select select:focus,
.wc-block-checkout .wc-block-components-textarea textarea:focus {
	border-color: var(--gotur-base, #63AB45) !important;
	box-shadow: 0 0 0 1px var(--gotur-base, #63AB45) !important;
}
.wc-block-checkout .wc-block-components-text-input label,
.wc-block-checkout .wc-block-components-select label {
	color: var(--gotur-text, #595959);
}
/* Labels always sit small at the top of the box (WooCommerce's "filled"
   look), not large and centred while a field is empty — otherwise an empty
   field such as the optional GSTIN looks like a different control from the
   filled ones around it. Same geometry WooCommerce uses for .is-active, so
   typing/autofill doesn't move anything. */
.wc-block-checkout .wc-block-components-text-input label {
	top: 6px !important;
	transform: scale(0.82) !important;
}
.wc-block-checkout .wc-block-components-text-input input[type="email"],
.wc-block-checkout .wc-block-components-text-input input[type="number"],
.wc-block-checkout .wc-block-components-text-input input[type="password"],
.wc-block-checkout .wc-block-components-text-input input[type="tel"],
.wc-block-checkout .wc-block-components-text-input input[type="text"],
.wc-block-checkout .wc-block-components-text-input input[type="url"] {
	padding: 24px 9px 8px !important;
}
.wc-block-checkout .wc-block-components-text-input input:focus {
	padding-left: 8.5px !important;
}
.wc-block-checkout .wc-block-components-text-input input::placeholder {
	color: #A3A9A5 !important;
	font-size: 12.5px !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	opacity: 1;
}

/* Radio controls (shipping method / payment method) — white center dot with
   a green ring, not the browser's native black dot. appearance:none is
   required here: without it, the OS-native radio dot renders on top of any
   background/box-shadow styling and can't be overridden by CSS alone. */
.wc-block-checkout .wc-block-components-radio-control__input {
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff !important;
}
.wc-block-checkout .wc-block-components-radio-control__input:checked {
	border-color: var(--gotur-base, #63AB45) !important;
	background-color: #fff !important;
	box-shadow: inset 0 0 0 4px var(--gotur-base, #63AB45) !important;
}
.wc-block-checkout .wc-block-components-radio-control__input:checked::before,
.wc-block-checkout .wc-block-components-radio-control__input:checked::after {
	background-color: #fff !important;
	border-color: #fff !important;
}
.wc-block-checkout .wc-block-components-radio-control-accordion-option--checked,
.wc-block-checkout .wc-block-components-radio-control__option-checked {
	border-color: var(--gotur-base, #63AB45) !important;
}

/* Panels (coupon form toggle, order summary collapse) — shared with the cart page. */
.wc-block-checkout .wc-block-components-panel__button,
.wc-block-cart .wc-block-components-panel__button {
	color: var(--gotur-base, #63AB45);
	font-weight: 600;
}
.wc-block-checkout .wc-block-components-totals-coupon__button,
.wc-block-checkout .wc-block-components-totals-coupon__button:disabled,
.wc-block-checkout .wc-block-components-totals-coupon__button[aria-disabled="true"],
.wc-block-cart .wc-block-components-totals-coupon__button,
.wc-block-cart .wc-block-components-totals-coupon__button:disabled,
.wc-block-cart .wc-block-components-totals-coupon__button[aria-disabled="true"] {
	height: 48px !important;
	padding: 0 24px !important;
	border-radius: 999px !important;
	background: var(--gotur-base, #63AB45) !important;
	border-color: var(--gotur-base, #63AB45) !important;
	color: #fff !important;
	opacity: 1 !important;
}
.wc-block-checkout .wc-block-components-totals-coupon__button .wc-block-components-button__text,
.wc-block-checkout .wc-block-components-totals-coupon__button span,
.wc-block-cart .wc-block-components-totals-coupon__button .wc-block-components-button__text,
.wc-block-cart .wc-block-components-totals-coupon__button span {
	color: #fff !important;
}

/* Order summary totals — shared with the cart page. */
.wc-block-checkout .wc-block-components-totals-item__value,
.wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-totals-item__value,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-weight: 600;
	color: var(--gotur-black, #1D231F);
}
.wc-block-checkout .wc-block-components-totals-footer-item,
.wc-block-cart .wc-block-components-totals-footer-item {
	border-top: 1px solid var(--gotur-border-color, #E5E5E5);
	padding-top: 12px;
}

/* Primary CTA — "Place Order". */
.wc-block-checkout .wc-block-components-checkout-place-order-button {
	background: var(--gotur-base, #63AB45) !important;
	border-color: var(--gotur-base, #63AB45) !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	padding: 14px 28px !important;
}
.wc-block-checkout .wc-block-components-checkout-place-order-button:hover {
	opacity: 0.9;
}

/* Order summary product rows — same card treatment as the cart page items:
   rounded image, circular quantity badge, sale price pill, muted description. */
.wc-block-checkout .wc-block-components-order-summary-item,
.wc-block-cart .wc-block-components-order-summary-item {
	position: relative;
	padding: 12px 0;
}
.wc-block-checkout .wc-block-components-order-summary-item__image,
.wc-block-cart .wc-block-components-order-summary-item__image {
	position: relative;
	border-radius: 8px !important;
	overflow: visible !important;
}
.wc-block-checkout .wc-block-components-order-summary-item__image img,
.wc-block-cart .wc-block-components-order-summary-item__image img {
	border-radius: 8px;
	object-fit: cover;
}
.wc-block-checkout .wc-block-components-order-summary-item__quantity,
.wc-block-cart .wc-block-components-order-summary-item__quantity {
	position: absolute;
	top: -8px;
	right: -8px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	border: 2px solid #fff;
	background: var(--gotur-base, #63AB45) !important;
	color: #fff;
}
.wc-block-checkout .wc-block-components-product-name,
.wc-block-cart .wc-block-components-product-name {
	color: var(--gotur-black, #1D231F);
	font-weight: 600;
}
.wc-block-checkout .wc-block-components-order-summary-item__individual-prices ins,
.wc-block-cart .wc-block-components-order-summary-item__individual-prices ins {
	text-decoration: none;
	background: #FFF3B0;
	color: var(--gotur-black, #1D231F);
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 999px;
}
.wc-block-checkout .wc-block-components-order-summary-item__individual-prices del,
.wc-block-cart .wc-block-components-order-summary-item__individual-prices del {
	color: var(--gotur-text, #595959);
	opacity: 0.7;
}
.wc-block-checkout .wc-block-components-order-summary-item__description,
.wc-block-cart .wc-block-components-order-summary-item__description {
	font-size: 13px;
	color: var(--gotur-text, #595959);
}
.wc-block-checkout .wc-block-components-order-summary-item__total-price,
.wc-block-cart .wc-block-components-order-summary-item__total-price {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}

/* Cards/panels get the same rounded, subtly-bordered treatment as product cards. */
.wc-block-checkout .wc-block-components-checkout-step {
	border-color: var(--gotur-border-color, #E5E5E5) !important;
}

/*
 * Visually merge "Contact information" (Email) with the start of the
 * Shipping/Billing Address step (First Name, Last Name, Phone), so they read
 * as one continuous "Contact Info" section instead of two separate cards.
 *
 * Note: WooCommerce Blocks Checkout hardcodes First Name/Last Name/Phone to
 * its internal "address" field group — there is no public filter to reassign
 * them to the "contact" group (the field-location map is a private property
 * with no setter). Physically moving those DOM nodes with JS was considered
 * and rejected: this is a React app, and relocating nodes out of a
 * React-managed subtree reliably causes duplicated fields the next time that
 * step re-renders (e.g. the customer typing, or toggling "use same address"
 * triggers React to recreate the node it expects in its original position).
 * This CSS-only approach removes the border/heading boundary between the two
 * steps instead, which is safe and gets the same practical result.
 */
.wc-block-checkout .wp-block-woocommerce-checkout-contact-information-block .wc-block-components-checkout-step {
	border-bottom: none !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step,
.wc-block-checkout .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step {
	border-top: none !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-billing-address-block .wc-block-components-checkout-step__heading,
.wc-block-checkout .wp-block-woocommerce-checkout-shipping-address-block .wc-block-components-checkout-step__heading {
	display: none !important;
}
.wc-block-checkout .wc-block-components-order-summary,
.wc-block-checkout .wc-block-components-totals-wrapper,
.wc-block-cart .wc-block-components-order-summary,
.wc-block-cart .wc-block-components-totals-wrapper {
	border-radius: 14px;
}
.wc-block-cart .wc-block-cart__totals-title {
	font-size: 24px;
	font-weight: 600;
	text-transform: none !important;
	color: var(--gotur-black, #1D231F);
	margin: 0 0 20px;
}

/* The theme's own scroll-to-top button (a green circular progress ring —
   see gotur-theme.js ".scroll-top"/".scroll-to-top") sits bottom-right and
   has repeatedly been mistaken for a stray discount badge floating over the
   Order Summary card. Hiding it specifically on cart/checkout removes that
   confusion; it's still available everywhere else on the site. */
/* Two different theme "back to top" widgets exist: ".scroll-to-top" (a
   progress bar) and ".scroll-top" (a circular percentage badge, id
   "scroll-top") — both have been mistaken for a stray discount badge
   floating over cart/checkout content, so both are hidden here. */
body.woocommerce-cart .scroll-to-top,
body.woocommerce-checkout .scroll-to-top,
body.woocommerce-cart .scroll-top,
body.woocommerce-checkout .scroll-top {
	display: none !important;
}

@media (max-width: 480px) {
	.wc-block-checkout .wc-block-components-checkout-place-order-button {
		width: 100%;
	}
}

/* ---------- Checkout "Order Summary" card (right column) ----------
   Pure presentation over WooCommerce Blocks' own rendered markup — every
   number shown (line totals, "Save ₹X", unit prices, subtotal, shipping,
   total) is still WooCommerce's, rendered by its React checkout; nothing is
   computed or replaced here. Layout: each item becomes a 3-column grid
   (image | name + ingredients | prices). The price elements WooCommerce
   nests inside the description/total wrappers are lifted into that grid
   with `display: contents`, so they can stack in the right-hand column
   without moving any React-managed DOM nodes. The header counts
   ("2 items • 13 qty") and the bold "Ingredients:" label are added by
   decorateCheckoutSummary() in yeldam-woo-ui.js. */
.wc-block-checkout.is-large .wc-block-checkout__main {
	width: 58% !important;
}
.wc-block-checkout.is-large .wc-block-checkout__sidebar {
	width: 42% !important;
	padding-left: 32px !important;
}

.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block {
	background: #fff;
	border: 1px solid #EEF0EE !important;
	border-radius: 20px !important;
	box-shadow: 0 10px 30px rgba(29, 35, 31, 0.06);
	padding: 0 !important;
	overflow: hidden;
}

/* Secure-payment badges at the bottom of the card (added by
   decorateSummaryBlock() in yeldam-woo-ui.js). */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .yeldam-secure-badges {
	padding: 14px 20px 18px;
	border-top: 1px solid #EDF0EE;
	background: #fff;
}
/* Only the bottom strip — never a stray copy nested inside the totals. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block * .yeldam-secure-badges {
	display: none;
}
/* Same image under "Total Amount" on the Review Order step. */
.yeldam-review .yr-card--prices .yeldam-secure-badges {
	margin-top: 14px;
}
.yeldam-review .yr-card--prices .yeldam-secure-badges img,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .yeldam-secure-badges img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 460px;
	margin: 0 auto;
}

/* Header: title left, "N items • N qty" right, hairline underneath. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 22px 24px 18px !important;
	margin: 0 !important;
	border-bottom: 1px solid #EDF0EE;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text {
	flex: 1;
	margin: 0 !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.2;
	text-transform: capitalize;
	color: #1D231F;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title[data-yeldam-counts]::after {
	content: attr(data-yeldam-counts);
	font-size: 14px;
	font-weight: 400;
	color: #6B7280;
	white-space: nowrap;
}
/* On narrow layouts WooCommerce turns the header into a collapsible row
   with its own total + chevron — the counts would crowd that out. */
.wc-block-checkout.is-small .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title::after,
.wc-block-checkout.is-mobile .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title::after {
	display: none;
}

.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content {
	padding: 0 24px 24px !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper {
	border: none !important;
	padding: 0 !important;
	margin: 0;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-wrapper:empty {
	display: none;
}

/* Items. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__content {
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
}
/* Many items: only the item list scrolls (about three items tall), so the
   coupon, totals and Place Order stay in view below it. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__content {
	/* WooCommerce makes this a table, and tables ignore max-height/overflow;
	   the items inside are already laid out as grids (see below). */
	display: block !important;
	max-height: min(480px, 60vh);
	margin-bottom: 12px !important;
	overflow-y: auto;
	padding-right: 10px !important;
	scrollbar-width: thin;
	scrollbar-color: var(--gotur-border-color, #d9d9d9) transparent;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__content::-webkit-scrollbar {
	width: 6px;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary__content::-webkit-scrollbar-thumb {
	background: var(--gotur-border-color, #d9d9d9);
	border-radius: 6px;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item {
	display: grid !important;
	grid-template-columns: 84px minmax(0, 1fr) auto;
	grid-template-rows: auto auto auto 1fr;
	column-gap: 16px;
	row-gap: 8px;
	align-items: start;
	width: 100%;
	padding: 22px 0 !important;
	margin: 0 !important;
	border-bottom: 1px solid #EDF0EE;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item:last-child {
	border-bottom: none;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image {
	grid-column: 1;
	grid-row: 1 / span 4;
	position: relative;
	width: 84px !important;
	height: 84px;
	margin: 0 !important;
	padding: 0 !important;
	flex: none;
	overflow: visible !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image img {
	display: block;
	width: 84px !important;
	height: 84px !important;
	max-width: none !important;
	object-fit: cover;
	border-radius: 14px !important;
	box-shadow: 0 4px 12px rgba(29, 35, 31, 0.14);
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__quantity {
	position: absolute !important;
	top: -10px !important;
	right: -10px !important;
	left: auto !important;
	transform: none !important;
	z-index: 1;
	box-sizing: border-box;
	min-width: 30px;
	height: 30px;
	padding: 0 7px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 999px !important;
	border: 3px solid #fff !important;
	background: #1E8E3E !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1;
	box-shadow: none !important;
}
/* Lift the nested price/badge elements into the item's own grid. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__description,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-cart-item__prices,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__total-price,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: contents !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-name {
	grid-column: 2;
	grid-row: 1;
	margin: 0 !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.3;
	color: #1D231F;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-metadata,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-low-stock-badge {
	grid-column: 2;
	grid-row: 2 / span 3;
	margin: 0 !important;
	font-size: 14px;
	line-height: 1.55;
	color: #6B7280;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata__description p {
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .yeldam-ingredients-label {
	font-weight: 700;
	color: #4B5563;
}
/* Right column: line total, "Save ₹X", regular unit price, sale unit price. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-cart-item__total-price-and-sale-badge-wrapper > .wc-block-components-product-price {
	grid-column: 3;
	grid-row: 1;
	justify-self: end;
	white-space: nowrap;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
	color: #1D231F;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-cart-item__total-price-and-sale-badge-wrapper > .wc-block-components-product-price .wc-block-components-product-price__value {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-sale-badge {
	grid-column: 3;
	grid-row: 3;
	justify-self: end;
	position: static !important;
	margin: 0 !important;
	padding: 5px 10px !important;
	border: none !important;
	border-radius: 8px !important;
	background: #E6F4EA !important;
	color: #1E7B34 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.3;
	text-transform: none !important;
	white-space: nowrap;
	box-shadow: none !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-sale-badge .wc-block-components-formatted-money-amount {
	font-size: inherit !important;
	font-weight: inherit !important;
	color: inherit !important;
}
/* Under the line total: the regular price struck through (the sale unit
   price — WooCommerce's <ins> — would repeat the total, so it's hidden). */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices {
	grid-column: 3;
	grid-row: 2;
	justify-self: end;
	display: flex !important;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	margin: 0 !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices del {
	margin: 0 !important;
	font-size: 14px;
	color: #9CA3AF !important;
	opacity: 1 !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices ins {
	display: none !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices ins {
	margin: 0 !important;
	padding: 5px 12px !important;
	border-radius: 10px !important;
	background: #FDF1C4 !important;
	color: #1D231F !important;
	font-size: 14px;
	font-weight: 700 !important;
	text-decoration: none;
}
/* WooCommerce now supplies its own "Save ₹X" badge here — hide the older
   script-injected one so it can never show twice. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .yeldam-cart-item__save-badge {
	display: none !important;
}

/* Coupon panel: light-green box — ticket icon | title + hint | chevron.
   Hidden at checkout: coupons are entered in the cart drawer only. A coupon
   already applied still shows in the summary's own Discount row (code +
   amount, with its remove ×), which is a separate block. The styles below
   are kept in case the box is brought back. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-coupon-form-block {
	display: none !important;
	margin: 4px 0 20px !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon {
	background: #EEF7F0 !important;
	border: none !important;
	border-radius: 16px !important;
	padding: 18px 20px !important;
	margin: 0 !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon .wc-block-components-panel__button {
	display: grid !important;
	grid-template-columns: 36px minmax(0, 1fr) 24px;
	grid-template-rows: auto auto;
	column-gap: 16px;
	row-gap: 2px;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	line-height: 1.3;
	color: #1E7B34 !important;
	cursor: pointer;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon .wc-block-components-panel__button::before {
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 36px;
	height: 36px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E7B34' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cg transform='rotate(-32 12 12)'%3E%3Cpath d='M3 8.5A1.5 1.5 0 0 1 4.5 7h15A1.5 1.5 0 0 1 21 8.5V10a2 2 0 0 0 0 4v1.5a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 15.5V14a2 2 0 0 0 0-4z'/%3E%3Cpath d='M9 7v10' stroke-dasharray='1.5 2'/%3E%3C/g%3E%3C/svg%3E");
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon .wc-block-components-panel__button::after {
	content: "Apply discount code for special offers";
	grid-column: 2;
	grid-row: 2;
	font-size: 14px;
	font-weight: 400;
	color: #6B7280;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon .wc-block-components-panel__button-icon {
	grid-column: 3;
	grid-row: 1 / span 2;
	position: static !important;
	width: 24px;
	height: 24px;
	margin: 0 !important;
	transform: none !important;
	fill: #1E7B34 !important;
	transition: transform 0.2s ease;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon .wc-block-components-panel__button[aria-expanded="true"] .wc-block-components-panel__button-icon {
	transform: rotate(180deg) !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-coupon .wc-block-components-panel__content {
	padding: 14px 0 0 !important;
}

/* Totals card: Subtotal / shipping rows, then a green "Total" band. The
   rows and the Total are sibling blocks in WooCommerce's markup, so the
   card is drawn as a top half (rows) and a bottom half (Total). */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-totals-block {
	border: 1px solid #E8ECE9;
	border-bottom: none;
	border-radius: 16px 16px 0 0;
	padding: 14px 22px 8px;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-totals-block + .wc-block-components-totals-wrapper {
	border: 1px solid #E8ECE9 !important;
	border-top: none !important;
	border-radius: 0 0 16px 16px;
	overflow: hidden;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wp-block-woocommerce-checkout-order-summary-totals-block + .wc-block-components-totals-wrapper::before {
	content: "";
	display: block;
	height: 1px;
	margin: 0 22px;
	background: #E8ECE9;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 8px 0 !important;
	margin: 0 !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__description:empty {
	display: none;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__label,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-item__value {
	font-size: 17px !important;
	font-weight: 700 !important;
	color: #1D231F !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-shipping .wc-block-components-totals-item__label {
	font-weight: 400 !important;
	color: #6B7280 !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-shipping .wc-block-components-totals-item__value,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-shipping .wc-block-components-totals-item__value strong {
	color: #1E7B34 !important;
	font-weight: 700 !important;
	text-transform: uppercase;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item {
	margin: 0 !important;
	padding: 20px 22px !important;
	border: none !important;
	background: #EAF6EC;
}
/* WooCommerce's "Including ₹X in taxes" line under Total (its text is
   hidden — prices are shown tax-inclusive): its empty wrapper still wrapped
   onto a second row, and the row gap above it left 8px more space under
   "Total" than above it. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__description {
	display: none !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
	font-size: 26px !important;
	font-weight: 700 !important;
	line-height: 1.2;
	color: #1E7B34 !important;
}

/* Narrow layouts: WooCommerce moves the summary above "Place Order" and
   renders it with different wrappers — a step-style heading and a
   ".checkout-order-summary-block-fill" body instead of the __title /
   __content pair — so those get the same header/padding treatment. It also
   hides the sale badge on non-large layouts; the design keeps it. */
.wc-block-checkout .checkout-order-summary-block-fill-wrapper > .wc-block-components-checkout-step__heading {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	padding: 20px 16px 16px !important;
	border-bottom: 1px solid #EDF0EE;
}
.wc-block-checkout .checkout-order-summary-block-fill-wrapper > .wc-block-components-checkout-step__heading .wc-block-components-checkout-step__title {
	flex: 1;
	margin: 0 !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	text-transform: capitalize;
	color: #1D231F;
}
.wc-block-checkout .checkout-order-summary-block-fill-wrapper > .wc-block-components-checkout-step__heading[data-yeldam-counts]::after {
	content: attr(data-yeldam-counts);
	font-size: 13px;
	color: #6B7280;
	white-space: nowrap;
}
.wc-block-checkout .checkout-order-summary-block-fill {
	padding: 0 16px 16px !important;
	border: none !important;
}
/* ...but WooCommerce also keeps the sidebar copy (as a collapsible header)
   at the top of the page, so the summary showed twice on phones. Hide that
   one at the same container width where WooCommerce shows the copy above
   "Place Order". */
@container (max-width: 699px) {
	.wc-block-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block:not(.checkout-order-summary-block-fill-wrapper) {
		display: none !important;
	}
	.wc-block-checkout .wc-block-checkout__sidebar {
		margin-bottom: 0 !important;
	}
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-sale-badge {
	display: block !important;
}

@media (max-width: 480px) {
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__content {
		padding: 0 16px 16px !important;
	}
	/* Too narrow for three columns: name + line total on top, then the unit
	   prices inline, then the "Save" badge, then the ingredients — all
	   under the name, full remaining width. */
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item {
		grid-template-columns: 64px minmax(0, 1fr) auto;
		grid-template-rows: auto auto auto auto;
		column-gap: 12px;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image {
		grid-row: 1 / span 4;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices {
		grid-column: 2 / span 2;
		grid-row: 2;
		justify-self: start;
		flex-direction: row;
		align-items: center;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices del,
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices ins {
		white-space: nowrap;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-sale-badge {
		grid-column: 2 / span 2;
		grid-row: 3;
		justify-self: start;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-metadata,
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-low-stock-badge {
		grid-column: 2 / span 2;
		grid-row: 4;
		font-size: 13px;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata__description p {
		-webkit-line-clamp: 3;
		line-clamp: 3;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image,
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image img {
		width: 64px !important;
		height: 64px !important;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-name,
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-cart-item__total-price-and-sale-badge-wrapper > .wc-block-components-product-price {
		font-size: 15px !important;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
		font-size: 22px !important;
	}
}

/* ---------- Checkout left column: numbered step cards ----------
   Presentation only, over WooCommerce Blocks' own form — every field,
   option, validation and the Place Order action are WooCommerce's.
   1 Contact Information  = contact step (email) + First/Last name + Phone
   2 Delivery Address     = the rest of the address form
   3 Shipping Options, 4 Payment Method.
   Name and phone live inside WooCommerce's address form, so they're
   reordered visually with flex `order`, and ".yeldam-checkout-split" (added
   by decorateCheckoutFields() in yeldam-woo-ui.js) draws the end of card 1
   and the start of card 2 between Phone and Country. Step numbers are a CSS
   counter, so they stay sequential if a step is absent (e.g. no shipping
   needed) or added (separate billing address). */
.wc-block-checkout .wc-block-checkout__form {
	--yc-pad: 24px;
	--yc-line: #E6EAE7;
	--yc-muted: #6B7280;
	--yc-green: var(--gotur-base, #24B24B);
	--yc-green-tint: color-mix(in srgb, var(--gotur-base, #24B24B) 8%, #fff);
	display: flex;
	flex-direction: column;
	counter-reset: yeldam-step;
}
.wc-block-checkout .wc-block-checkout__form > .wc-block-components-checkout-step {
	background: #fff;
	border: 1px solid var(--yc-line) !important;
	border-radius: 16px !important;
	padding: 22px var(--yc-pad) !important;
	margin: 0 0 16px !important;
}
/* Card 1 top (contact step) flows straight into the address step, which
   carries name/phone and — after the divider — card 2. */
/* 2px of bottom padding: the last contact field's focus ring (1px box-shadow
   outside the input) would otherwise be painted over by the address card's
   white background directly below. Taken back off that card's top padding,
   so the gap between the fields stays 12px. */
.wc-block-checkout .wc-block-checkout__form > #contact-fields {
	border-bottom: none !important;
	border-radius: 16px 16px 0 0 !important;
	padding-bottom: 2px !important;
	margin-bottom: 0 !important;
}
.wc-block-checkout .wc-block-checkout__form > #shipping-fields {
	border-top: none !important;
	border-radius: 0 0 16px 16px !important;
	padding-top: 10px !important; /* + 2px above = same 12px as between fields */
}
.wc-block-checkout .wc-block-checkout__form > #contact-fields .wc-block-components-checkout-step__content,
.wc-block-checkout .wc-block-checkout__form > #shipping-fields .wc-block-components-checkout-step__content {
	margin: 0 !important;
}
/* Step headings: number circle | title (+ subtitle). */
.wc-block-checkout .wc-block-checkout__form > .wc-block-components-checkout-step .wc-block-components-checkout-step__heading {
	display: grid !important;
	grid-template-columns: 34px minmax(0, 1fr);
	column-gap: 14px;
	row-gap: 2px;
	align-items: center;
	margin: 0 0 18px !important;
}
.wc-block-checkout .wc-block-checkout__form > .wc-block-components-checkout-step .wc-block-components-checkout-step__heading::before,
.wc-block-checkout .yeldam-checkout-split__start::before {
	counter-increment: yeldam-step;
	content: counter(yeldam-step);
	grid-column: 1;
	grid-row: 1 / span 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--yc-green);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
}
.wc-block-checkout .wc-block-checkout__form > .wc-block-components-checkout-step .wc-block-components-checkout-step__title,
.wc-block-checkout .yeldam-checkout-split__title {
	grid-column: 2;
	margin: 0 !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	line-height: 1.25;
	color: var(--gotur-black, #1D231F);
}
/* The address step's own heading is replaced by card 1 above it (name and
   phone read as part of Contact Information) and ".yeldam-checkout-split"
   (Delivery Address) — it must not render or take a step number. */
.wc-block-checkout .wc-block-checkout__form > #shipping-fields .wc-block-components-checkout-step__heading {
	display: none !important;
}
.wc-block-checkout .wc-block-checkout__form > .wc-block-components-checkout-step .wc-block-components-checkout-step__heading-content {
	grid-column: 2;
	font-size: 13px;
}
.wc-block-checkout .wc-block-checkout__form > #contact-fields .wc-block-components-checkout-step__heading::after,
.wc-block-checkout .yeldam-checkout-split__subtitle {
	grid-column: 2;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--yc-muted);
}
.wc-block-checkout .wc-block-checkout__form > #contact-fields .wc-block-components-checkout-step__heading::after {
	content: "We'll use this to send order updates and important information";
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-checkout-step__description {
	margin: 0 0 12px;
	font-size: 14px;
	color: var(--yc-muted);
}

/* Address form order + widths: name, phone | divider | country, address,
   apartment, city + state, PIN. */
/* One spacing rhythm for every address form (contact, delivery, billing):
   a flat 12px gap between fields in both directions, instead of
   WooCommerce's per-field top margins (which some inputs, like the State
   dropdown, add a second time inside themselves). Half-width pairs split
   the row exactly around that gap. */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
}
/* Full row unless listed as a half-width pair below. */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form > * {
	flex: 0 0 100%;
	width: 100%;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form > *,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form .wc-blocks-components-select,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form .wc-block-components-country-input,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form .wc-block-components-state-input {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
/* (The delivery form widens PIN code to a full row — see the #shipping
   rules below, which take precedence.) */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form > .wc-block-components-address-form__first_name,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form > .wc-block-components-address-form__last_name,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form > .wc-block-components-address-form__city,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form > .wc-block-components-address-form__state,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form > .wc-block-components-address-form__postcode,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form > .wc-block-components-address-form__phone,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form > .wc-block-components-address-form__yeldam-gstin {
	flex: 0 0 calc(50% - 6px) !important;
	width: calc(50% - 6px) !important;
}
/* GSTIN is an address field, so with a separate billing address it's in
   both forms; it belongs with billing then (the invoice reads the billing
   value first), so the delivery form's copy is hidden. */
.wc-block-checkout:has(#billing.wc-block-components-address-form) #shipping.wc-block-components-address-form > .wc-block-components-address-form__yeldam-gstin {
	display: none !important;
}
/* Space between a card's last field and the checkbox under it. */
.wc-block-checkout .wc-block-checkout__form .wc-block-checkout__use-address-for-billing {
	margin-top: 16px !important;
}
/* Small helper line tucked 8px under the email field (12px gap - 4px). */
.wc-block-checkout .wc-block-checkout__form .wc-block-checkout__guest-checkout-notice {
	margin: -4px 0 0 !important;
}
/* WooCommerce adds 16px under every step's heading container on top of
   the heading's own 18px — and keeps it under the delivery step's hidden
   heading, which pushed First name 16px further down than the rhythm. */
.wc-block-checkout .wc-block-checkout__form > .wc-block-components-checkout-step .wc-block-components-checkout-step__heading-container {
	margin: 0 !important;
	padding: 0 !important;
}

/* WooCommerce switches this form to display: block on narrow layouts,
   where `order` has no effect — keep it a wrapping flex row everywhere. */
.wc-block-checkout #shipping.wc-block-components-address-form {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-between;
}
.wc-block-checkout #shipping.wc-block-components-address-form > * {
	order: 20;
}
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__first_name { order: 1; }
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__last_name { order: 2; }
/* Contact Information: First | Last, Email | Phone, then GSTIN (optional).
   ".yeldam-email-slot" is an empty placeholder (placeEmailNextToPhone() in
   yeldam-woo-ui.js) that the real email field — part of WooCommerce's
   contact section, not this form — is positioned over. */
.wc-block-checkout #shipping.wc-block-components-address-form > .yeldam-email-slot {
	order: 3;
	flex: 0 0 calc(50% - 6px) !important;
	width: calc(50% - 6px) !important;
	min-height: 50px;
	visibility: hidden;
	pointer-events: none;
}
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__phone { order: 4; }
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__yeldam-gstin {
	order: 5;
	flex: 0 0 100% !important;
	width: 100% !important;
}
.wc-block-checkout #shipping.wc-block-components-address-form > .yeldam-checkout-split { order: 6; }
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__country { order: 7; }
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__address_1 { order: 8; }
.wc-block-checkout #shipping.wc-block-components-address-form > [class*="wc-block-components-address-form__address_2"] { order: 9; }
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__city { order: 10; }
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__state { order: 11; }
/* Without the email beside it (script not run yet / not applicable), Phone takes the full row. */
.wc-block-checkout .wc-block-checkout__form:not(.yeldam-email-inline) #shipping.wc-block-components-address-form > .wc-block-components-address-form__phone {
	flex: 0 0 100% !important;
	width: 100% !important;
}
/* The email field, lifted out of the contact card's flow onto the slot. The
   contact card then has no fields of its own, so its heading's 18px is the
   only space above First name. */
.wc-block-checkout .wc-block-checkout__form.yeldam-email-inline > #contact-fields {
	position: relative;
	padding-bottom: 0 !important;
}
.wc-block-checkout .wc-block-checkout__form.yeldam-email-inline > #contact-fields .wc-block-components-address-form__email {
	position: absolute !important;
	z-index: 3;
	top: var(--yeldam-email-top, 0);
	left: var(--yeldam-email-left, 0);
	width: var(--yeldam-email-width, calc(50% - 6px)) !important;
	margin: 0 !important;
}
.wc-block-checkout .wc-block-checkout__form.yeldam-email-inline > #shipping-fields {
	padding-top: 0 !important;
}
/* City | State | PIN Code on one row, then Delivery Instructions. */
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__postcode {
	order: 12;
}
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__city,
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__state,
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__postcode {
	flex: 0 0 calc((100% - 24px) / 3) !important;
	width: calc((100% - 24px) / 3) !important;
}
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__yeldam-delivery-instructions {
	order: 13;
	flex: 0 0 100% !important;
	width: 100% !important;
}
/* Delivery Instructions is an address field, so WooCommerce also puts it
   in a separate billing form — it only means something for delivery. */
.wc-block-checkout #billing.wc-block-components-address-form > .wc-block-components-address-form__yeldam-delivery-instructions {
	display: none !important;
}
/* No "+ Add apartment, suite, etc." link: the Address field's hint covers
   house no. / building / street / area. (If an apartment line was saved
   before, WooCommerce shows the field itself, not this link.) */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__address_2-toggle {
	display: none !important;
}

/* The divider: bottom edge of card 1, a gap, top edge of card 2 with its
   heading. It spans the full card width (negative margins over the card
   padding + 1px border) so its edges line up with the card's own border. */
.wc-block-checkout .yeldam-checkout-split {
	flex: 0 0 calc(100% + 2 * (var(--yc-pad) + 1px)) !important;
	width: calc(100% + 2 * (var(--yc-pad) + 1px));
	margin: 0 calc(-1 * (var(--yc-pad) + 1px)) !important;
	background: #fff;
}
/* The form's 12px gap sits on both sides of the divider, so: 12 + 10 =
   22px under the last field (every card's bottom padding), and 12 + 6 =
   18px under the heading (every step heading's spacing). */
.wc-block-checkout .yeldam-checkout-split__end {
	display: block;
	height: 10px;
	border: 1px solid var(--yc-line);
	border-top: none;
	border-radius: 0 0 16px 16px;
	background: #fff;
}
.wc-block-checkout .yeldam-checkout-split__start {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	column-gap: 14px;
	row-gap: 2px;
	align-items: center;
	margin-top: 16px;
	padding: 22px var(--yc-pad) 6px;
	border: 1px solid var(--yc-line);
	border-bottom: none;
	border-radius: 16px 16px 0 0;
	background: #fff;
}

/* Fields: white with a light border (the theme fills them grey). */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input input,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-select select,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-select-input select,
.wc-block-checkout .wc-block-checkout__form .wc-blocks-components-select__select,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-combobox input,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-textarea textarea {
	background-color: #fff !important;
	border: 1px solid #DDE2DF !important;
	border-radius: 10px !important;
	box-shadow: none;
	/* text-align is inherited, and some ancestor here centers it (the same
	   reason so much of this stylesheet has to force text-align:left
	   explicitly) — without this, the State field's selected value
	   (rendered as plain text inside the combobox input) sits centered
	   instead of flush left like every other field's value. */
	text-align: left !important;
}
/* The State select's own left padding (9px, WC core) and its floating
   "State" label's left offset (10px, WC core) are pinned to the exact same
   value here so the label and the selected value line up — rather than
   trusting they already match, since evidently they were rendering with a
   visible gap between them. */
.wc-block-checkout .wc-block-checkout__form .wc-blocks-components-select__select {
	padding-left: 12px !important;
}
.wc-block-checkout .wc-block-checkout__form .wc-blocks-components-select__label {
	left: 12px !important;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__address_2-toggle {
	color: var(--yc-green);
	font-weight: 600;
}

/* Checkboxes: green fill with a white tick when checked. */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-checkbox .wc-block-components-checkbox__input {
	width: 20px;
	height: 20px;
	min-width: 20px;
	border: 1.5px solid #C5CCC7 !important;
	border-radius: 5px !important;
	background: #fff !important;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-checkbox .wc-block-components-checkbox__input:checked {
	border-color: var(--yc-green) !important;
	background: var(--yc-green) !important;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: #fff !important;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-checkbox label {
	font-size: 14px;
	color: var(--gotur-black, #1D231F);
}

/* "Shipping Options" card hidden: there's only ever one delivery rate, picked
   automatically (includes/shipping.php), so there's nothing to choose — its
   cost shows as "Delivery charges" in the order summary. The card comes back
   only when it has something to say: WooCommerce's notice that no delivery
   is available for the address entered. Hidden steps don't count in the
   step numbers (CSS counter), so Payment Options becomes 3. */
.wc-block-checkout .wc-block-checkout__form > #shipping-option {
	display: none !important;
}
.wc-block-checkout .wc-block-checkout__form > #shipping-option:has(.wc-block-components-notice-banner, .wc-block-components-shipping-rates-control__no-results-notice, [role="alert"]) {
	display: block !important;
}

/* Shipping + payment options as selectable cards: radio | icon | text. */
.wc-block-checkout #shipping-option .wc-block-components-radio-control,
.wc-block-checkout #payment-method .wc-block-components-radio-control {
	/* Cards share the row: one option spans it, two sit side by side, and
	   they wrap before getting too narrow for their text. */
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 12px;
	border: none !important;
	box-shadow: none !important;
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control::after,
.wc-block-checkout #payment-method .wc-block-components-radio-control::after,
.wc-block-checkout #payment-method .wc-block-components-radio-control-accordion-option::after {
	display: none !important;
}
.wc-block-checkout #payment-method .wc-block-components-radio-control-accordion-option {
	border: none !important;
	box-shadow: none !important;
	margin: 0 !important;
}
/* WooCommerce Blocks marks whichever payment option was selected right
   before the customer switched away from it with this modifier — an inset
   ring (box-shadow) plus its own border-radius:4px, clashing with our 12px
   card corners — which is what showed up as a stray ring on the option the
   customer isn't currently on. It's a deliberate WC Blocks affordance, not
   something we built, but it doesn't fit this design, so it's neutralized
   wherever it can attach (the accordion wrapper or the label itself). */
.wc-block-checkout #payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-checkout #payment-method label.wc-block-components-radio-control__option--checked-option-highlighted,
.wc-block-checkout #payment-method .wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: none !important;
	border-radius: 12px !important;
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__option,
.wc-block-checkout #payment-method .wc-block-components-radio-control__option {
	position: relative;
	display: flex !important;
	align-items: center;
	box-sizing: border-box;
	height: 100%;
	min-height: 78px;
	margin: 0 !important;
	padding: 14px 14px 14px 46px !important;
	border: 1px solid #DDE2DF !important;
	border-radius: 12px !important;
	background: #fff;
	box-shadow: none !important;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__option-checked,
.wc-block-checkout #payment-method .wc-block-components-radio-control__option-checked {
	border-color: var(--yc-green) !important;
	background: var(--yc-green-tint);
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__input,
.wc-block-checkout #payment-method .wc-block-components-radio-control__input {
	left: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	margin: 0 !important;
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__option-layout,
.wc-block-checkout #payment-method .wc-block-components-radio-control__option-layout {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 0 !important;
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__option-layout::before,
.wc-block-checkout #payment-method .wc-block-components-radio-control__option-layout::before {
	content: "";
	flex: none;
	width: 30px;
	height: 30px;
	background: var(--gotur-black, #1D231F);
	-webkit-mask: var(--yc-option-icon) center / contain no-repeat;
	mask: var(--yc-option-icon) center / contain no-repeat;
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__option-checked .wc-block-components-radio-control__option-layout::before,
.wc-block-checkout #payment-method .wc-block-components-radio-control__option-checked .wc-block-components-radio-control__option-layout::before {
	background: var(--yc-green);
}
/* Scooter for delivery, card for online payment, wallet for cash. */
.wc-block-checkout #shipping-option .wc-block-components-radio-control__option {
	--yc-option-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='17' r='2.5'/%3E%3Ccircle cx='18' cy='17' r='2.5'/%3E%3Cpath d='M8.5 17h7M15 6h2l2.5 8.5M13 17l-2-6H5M10 11l1-4h3'/%3E%3C/svg%3E");
}
.wc-block-checkout #payment-method .wc-block-components-radio-control__option {
	--yc-option-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='2'/%3E%3Cpath d='M2.5 10h19M6 15h4'/%3E%3C/svg%3E");
}
.wc-block-checkout #payment-method .wc-block-components-radio-control__option[for$="-cod"] {
	--yc-option-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h14a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h11v3'/%3E%3Cpath d='M20 12h-4a1.5 1.5 0 0 0 0 3h4z'/%3E%3C/svg%3E");
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__label-group,
.wc-block-checkout #payment-method .wc-block-components-radio-control__label-group {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	min-width: 0;
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__label,
.wc-block-checkout #payment-method .wc-block-components-radio-control__label {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--gotur-black, #1D231F);
}
/* Delivery card: WooCommerce puts the name + price in one group and the
   description in another; flattening the first (display: contents) lets
   all three stack as name, description, price beside the icon. */
.wc-block-checkout #shipping-option .wc-block-components-radio-control__option-layout {
	display: grid !important;
	grid-template-columns: 30px minmax(0, 1fr);
	column-gap: 12px;
	row-gap: 3px;
	align-items: center;
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__option-layout::before {
	grid-column: 1;
	grid-row: 1 / span 3;
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__label-group {
	display: contents !important;
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__label {
	grid-column: 2;
	grid-row: 1;
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__description-group {
	grid-column: 2;
	grid-row: 2;
	margin: 0 !important;
	padding: 0 !important;
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__description,
.wc-block-checkout #shipping-option .wc-block-components-radio-control__secondary-description {
	font-size: 13px;
	line-height: 1.35;
	color: var(--yc-muted);
}
.wc-block-checkout #shipping-option .wc-block-components-radio-control__secondary-label {
	grid-column: 2;
	grid-row: 3;
	justify-self: start;
	margin: 2px 0 0 !important;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--gotur-black, #1D231F);
}
.wc-block-checkout #shipping-option .wc-block-checkout__shipping-option--free {
	color: var(--yc-green);
}
/* Short hint under each payment method's name. */
.wc-block-checkout #payment-method .wc-block-components-radio-control__option .wc-block-components-radio-control__label-group::after {
	font-size: 13px;
	line-height: 1.35;
	color: var(--yc-muted);
}
.wc-block-checkout #payment-method .wc-block-components-radio-control__option[for$="-razorpay"] .wc-block-components-radio-control__label-group::after {
	content: "Cards, UPI, Net Banking, Wallets";
}
.wc-block-checkout #payment-method .wc-block-components-radio-control__option[for$="-cod"] .wc-block-components-radio-control__label-group::after {
	content: "Pay at your doorstep";
}
.wc-block-checkout #payment-method .wc-block-components-radio-control-accordion-content {
	padding: 10px 4px 0 !important;
	font-size: 13px;
	color: var(--yc-muted);
	border: none !important;
	box-shadow: none !important;
}
/* The gateway description ("Pay securely via UPI...") is a plain <p> WC
   renders inside that accordion content — a leftover default border on it
   (or the wrapper straight after it) was showing as a stray divider line
   under the Razorpay option box. */
.wc-block-checkout #payment-method .wc-block-components-radio-control-accordion-content > * {
	border: none !important;
	box-shadow: none !important;
}
.wc-block-checkout #payment-method .wc-block-components-radio-control-accordion-content:empty {
	display: none;
}
/* Cash on delivery's gateway description ("Pay with cash upon delivery.")
   and Razorpay's ("Pay securely via UPI...") both only repeat what the
   card's own "Cards, UPI, Net Banking, Wallets" / "Pay at your doorstep"
   hint (::after above) already says — hidden for these two specifically,
   not accordion-content generally, since other gateways can render actual
   payment fields (e.g. saved-card selection) in this same slot. */
.wc-block-checkout #payment-method [id$="-cod__content"],
.wc-block-checkout #payment-method [id$="-razorpay__content"] {
	display: none !important;
}

/* Place Order: "Place Order  ₹total", terms line centered underneath. */
.wc-block-checkout .wc-block-checkout__form > .wc-block-checkout__actions {
	order: 1;
	margin: 0 !important;
}
.wc-block-checkout .wc-block-checkout__form > .wc-block-checkout__terms {
	order: 2;
	margin: 14px 0 0 !important;
	padding: 0 !important;
	border: none !important;
	text-align: center;
	font-size: 13px;
	color: var(--yc-muted);
	/* Two even, centred lines rather than one long line plus a stray word. */
	max-width: 560px;
	margin-left: auto !important;
	margin-right: auto !important;
	text-wrap: balance;
}
.wc-block-checkout .wc-block-checkout__form > .wc-block-checkout__terms * {
	text-wrap: balance;
}
.wc-block-checkout .wc-block-checkout__form > .wc-block-checkout__terms::before {
	display: none !important;
}
.wc-block-checkout .wc-block-checkout__form > .wc-block-checkout__terms a {
	color: var(--yc-green);
	font-weight: 600;
	white-space: nowrap; /* never split a policy name across the two lines */
}
.wc-block-checkout .wc-block-components-checkout-place-order-button {
	width: 100%;
	min-height: 56px;
	font-size: 17px !important;
	font-weight: 700 !important;
	text-transform: none !important;
}
.wc-block-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 12px;
}
.wc-block-checkout .wc-block-components-checkout-place-order-button__text[data-yeldam-total]:not([data-yeldam-total=""])::after {
	content: "\00a0" attr(data-yeldam-total);
}

@media (max-width: 782px) {
	.wc-block-checkout #shipping-option .wc-block-components-radio-control,
	.wc-block-checkout #payment-method .wc-block-components-radio-control {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 480px) {
	.wc-block-checkout .wc-block-checkout__form {
		--yc-pad: 16px;
	}
	/* One field per row on phones (what WooCommerce's block layout did). */
	.wc-block-checkout #shipping.wc-block-components-address-form > *,
	.wc-block-checkout #billing.wc-block-components-address-form > * {
		flex: 0 0 100% !important;
		width: 100% !important;
	}
	.wc-block-checkout #shipping.wc-block-components-address-form > .yeldam-checkout-split {
		flex: 0 0 calc(100% + 2 * (var(--yc-pad) + 1px)) !important;
		width: calc(100% + 2 * (var(--yc-pad) + 1px)) !important;
	}
	.wc-block-checkout .wc-block-checkout__form > .wc-block-components-checkout-step .wc-block-components-checkout-step__title,
	.wc-block-checkout .yeldam-checkout-split__title {
		font-size: 18px !important;
	}
}

/* ---------- Cart page items — restyled to match the reference "Order
   Summary" design: rounded card, quantity badge on the image, highlighted
   sale-price pill, "Save ₹X" badge, icon-only remove button. ---------- */
.yeldam-continue-shopping {
	display: inline-block;
	margin-top: 20px;
	color: var(--gotur-text, #595959);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.yeldam-continue-shopping:hover {
	color: var(--gotur-base, #63AB45);
}

.wc-block-cart-items {
	border: 1px solid var(--gotur-border-color, #E5E5E5) !important;
	border-radius: 14px !important;
	background: #fff;
	overflow: hidden;
}
.wc-block-cart-items__header {
	display: none;
}
.wc-block-cart-items__row {
	/* Only visual styling here — WC Blocks lays this row out via its own
	   grid-template-areas (not a simple linear column list), so column/row
	   placement is left to WC's own CSS rather than overridden. */
	border: none !important;
	border-bottom: 1px solid var(--gotur-border-color, #E5E5E5) !important;
	border-radius: 0 !important;
	padding: 18px 20px !important;
	margin-bottom: 0;
	background: #fff;
}
.wc-block-cart-items__row:last-child {
	border-bottom: none !important;
	margin-bottom: 0;
}

/* "Your Cart" heading above the items list (WC Blocks' Cart page doesn't
   ship one by default) and desktop column-width control — the main column
   holds the item list, the sidebar the Order Summary card; on desktop these
   read as one balanced layout instead of a far-apart 65/35 split. Left as
   width-only, no forced heights, so WC Blocks' own container-query mobile
   stacking is untouched. */
.yeldam-cart-heading {
	font-size: 30px;
	font-weight: 600;
	color: var(--gotur-black, #1D231F);
	margin: 0 0 20px;
}
@media (min-width: 768px) {
	.wc-block-cart .wc-block-components-sidebar-layout {
		gap: 32px;
	}
	.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-main {
		width: 66%;
	}
	.wc-block-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
		width: 34%;
	}
}
.wc-block-cart .wc-block-components-sidebar {
	background: #fff;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 16px;
	padding: 20px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
}
/* WC lays out this element as its own grid-column, which is wider than the
   88px photo inside it — the quantity badge (positioned absolute, anchored
   to this element) was landing at the *column's* top-right corner instead
   of the visible photo's, floating off in the middle of the row. Shrinking
   the wrapper to fit the image exactly keeps the badge glued to the photo. */
.wc-block-cart-item__image {
	position: relative;
	width: 90px;
	max-width: 90px;
	align-self: flex-start;
}
.wc-block-cart-item__image img {
	width: 90px;
	height: 90px;
	border-radius: 10px;
	object-fit: cover;
	display: block;
}

/* Checkout button (WC Blocks: "Proceed to Checkout"). */
.wc-block-cart__submit-button {
	display: flex !important;
	width: 100%;
	height: 52px !important;
	border-radius: 999px !important;
	background: var(--gotur-base, #63AB45) !important;
	border-color: var(--gotur-base, #63AB45) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
}
.wc-block-cart__submit-button:hover {
	opacity: 0.9;
}
/* Quantity badge overlaid on the image corner (injected by JS, mirrors the
   current value of the quantity stepper below it — see yeldam-woo-ui.js). */
.yeldam-cart-item__qty-badge {
	position: absolute;
	top: -8px;
	right: -8px;
	min-width: 28px;
	height: 28px;
	padding: 0 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--gotur-base, #63AB45);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	border: 2px solid #fff;
}
.wc-block-cart-item__product .wc-block-components-product-name {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--gotur-black, #1D231F);
}
.wc-block-components-product-metadata__description,
.wc-block-components-product-metadata__description p {
	font-size: 15px !important;
	line-height: 1.4 !important;
	color: var(--gotur-text, #595959);
	margin: 6px 0 0 !important;
}
.wc-block-cart-item__prices {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 4px;
}
.wc-block-cart-item__prices del .wc-block-components-formatted-money-amount {
	color: var(--gotur-text, #595959);
	opacity: 0.7;
	font-weight: 400;
}
.wc-block-cart-item__prices ins,
.wc-block-cart-item__prices .price:not(:has(del)) {
	text-decoration: none;
	background: #FFF3B0;
	color: var(--gotur-black, #1D231F);
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 999px;
}
/* "Save ₹X" badge, computed by JS from the rendered regular/sale unit prices
   and current quantity — never a hard-coded amount. Sits stacked under the
   line total (see .wc-block-cart-item__total below), right-aligned. */
.yeldam-cart-item__save-badge {
	display: inline-block;
	background: #E4F3E9;
	color: var(--gotur-base, #63AB45);
	font-weight: 700;
	font-size: 11px;
	padding: 3px 8px;
	border-radius: 999px;
	white-space: nowrap;
}
/* Compact quantity control — small, not the prominent pill used elsewhere,
   since the badge on the image is now the primary quantity indicator and
   this is just here to keep quantity actually adjustable.

   The pill border/radius/clipping lives on ".wc-block-cart-item__quantity"
   itself (the outermost wrapper) rather than on
   ".wc-block-components-quantity-selector", because WC's real markup nests
   the input and the +/- buttons in a way that left the inner element's own
   background/rounding visible as a second, separate box next to the input
   — every inner layer below is stripped of its own border/background/radius
   so only one pill is ever visible. */
.wc-block-cart-item__quantity {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 999px;
	overflow: hidden;
	box-sizing: border-box;
	height: 40px;
	width: 112px;
	padding: 0 4px;
	margin-top: 8px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(29, 35, 31, 0.06);
}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector {
	display: inline-flex !important;
	align-items: center;
	width: 100%;
	height: 100%;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	overflow: visible;
}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 30px;
	width: 30px;
	height: 30px;
	min-width: 30px !important;
	line-height: 1;
	padding: 0 !important;
	font-size: 13px;
	opacity: 1 !important;
	border: none !important;
	border-radius: 50% !important;
	background: transparent !important;
	color: #1D231F !important;
	box-shadow: none !important;
	transition: background-color 0.15s ease, transform 0.1s ease;
}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__button svg {
	width: 12px;
	height: 12px;
	fill: currentColor;
}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__button:hover,
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__button:focus-visible {
	background: #E4F2DD !important;
	color: #1D231F !important;
}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__button:active {
	transform: scale(0.92);
}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__button:disabled {
	opacity: 0.4 !important;
	background: transparent !important;
}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__input {
	height: 100%;
	width: 40px !important;
	min-width: 0 !important;
	flex: 1 1 40px !important;
	line-height: 1;
	text-align: center;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #1D231F;
	font-size: 15px;
	font-weight: 700;
	/* Suppress the browser's native number-input spinner arrows — without
	   this they render alongside the custom −/+ buttons as a small stacked
	   up/down arrow pair, which is what was showing as a "vertical" control. */
	-moz-appearance: textfield;
	appearance: textfield;
}
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__input::-webkit-inner-spin-button,
.wc-block-cart-item__quantity .wc-block-components-quantity-selector__input::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.wc-block-cart-item__total {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	text-align: right;
	font-weight: 700;
	font-size: 17px;
	color: var(--gotur-black, #1D231F);
}
/* Remove link: icon-only square button instead of a text link. */
.wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-top: 8px;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 8px;
	color: var(--gotur-text, #595959) !important;
	font-weight: 400 !important;
	font-size: 0 !important;
}
/* WC Blocks renders its own icon inside this link (an inline SVG in newer
   versions, a text label in older ones) — hide whatever that is and show
   only our own trash glyph via ::before, otherwise both render at once. */
.wc-block-cart-item__remove-link > * {
	display: none !important;
}
.wc-block-cart-item__remove-link::before {
	content: "\1F5D1";
	font-size: 15px;
	display: block;
}
.wc-block-cart-item__remove-link:hover {
	border-color: #C0392B;
	color: #C0392B !important;
}

/* Coupon panel: light-green box with icon + chevron toggle. */
.wc-block-components-totals-coupon {
	background: var(--gotur-gray, #F3F8F6);
	border-radius: 12px !important;
	padding: 14px !important;
	border: none !important;
	margin-bottom: 4px;
}
.wc-block-components-totals-coupon .wc-block-components-panel__button {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 16px;
	font-weight: 700;
}
.wc-block-components-totals-coupon .wc-block-components-panel__button::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	/* Ticket/coupon outline with a notch on each long edge, matching the
	   reference icon — an inline SVG rather than a CSS border trick, since a
	   plain rotated square doesn't read as a coupon shape. */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2363AB45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.59 13.41 13.42 20.58a2 2 0 0 1-2.83 0L2 12.99V2h10.99l8.6 8.6a2 2 0 0 1 0 2.82Z'/%3E%3Ccircle cx='7' cy='7' r='1.5' fill='%2363AB45' stroke='none'/%3E%3C/svg%3E");
}
.wc-block-components-totals-coupon__input input {
	height: 48px !important;
	border-radius: 999px !important;
}

/* Totals: Subtotal / Shipping muted, Total highlighted in a green box. */
.wc-block-cart .wc-block-components-totals-item__label {
	font-weight: 700;
	color: var(--gotur-black, #1D231F);
}
.wc-block-cart .wc-block-components-totals-shipping,
.wc-block-cart .wc-block-components-totals-shipping * {
	font-weight: 400 !important;
	color: var(--gotur-text, #595959) !important;
}
.wc-block-cart .wc-block-components-totals-footer-item {
	background: #E4F3E9;
	border-radius: 14px !important;
	padding: 16px !important;
	border-top: none !important;
	margin-top: 8px;
}
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	color: var(--gotur-base, #63AB45) !important;
	font-size: 20px;
	font-weight: 700;
}

@media (max-width: 575px) {
	.wc-block-cart-item__image img {
		width: 64px;
		height: 64px;
	}
}

/* ---------- Empty cart state ----------
   Note: the empty-cart markup is wrapped in ".wp-block-woocommerce-cart",
   not the bare ".wc-block-cart" class — that class is only ever added by
   React once the cart actually has items, so it never matches here. Every
   rule below is scoped to the class that's actually present in both
   states. */
.wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block {
	padding: 40px 0 0;
	text-align: center;
}
/* The sad-face icon is a CSS mask (currentColor), so recoloring it is just
   setting the heading's text color — no image/SVG override needed. */
.wc-block-cart__empty-cart__title {
	color: var(--gotur-base, #63AB45);
	font-size: 24px;
	font-weight: 700;
	margin-bottom: 8px !important;
}
.wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator {
	margin: 24px auto;
}
.wp-block-woocommerce-cart .wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
	font-size: 26px;
	font-weight: 700;
	color: var(--gotur-black, #1D231F);
	margin-bottom: 30px;
}

/* "New in store" grid on the empty-cart view — restyled to match the shop
   page's product cards (.product__item: rounded 20px card, full-bleed image,
   centered name, strikethrough + pale-yellow sale-price pill + "(X% off)",
   full-width green pill button), since this uses WooCommerce's own
   block-grid markup, not the theme's content-product.php card template. The
   wishlist heart on the shop card comes from a separate plugin (woo-smart-
   wishlist) that only hooks into that template, not this block type, so it
   isn't reproduced here — everything else matches. */
.wp-block-woocommerce-cart .wc-block-grid.wp-block-product-new {
	margin-top: 0;
}
/* WC's own grid sizes items with percentage flex-basis (25% for 4 columns)
   and a matching negative container margin — it isn't gap-based. Adding a
   plain `gap` on top of that percentage math overflows past 100% width and
   pushes the 4th item onto its own row (looked like "only 3 products").
   Neutralize WC's negative margin and bake the gap into each item's
   flex-basis/max-width instead. */
.wp-block-woocommerce-cart .wc-block-grid__products {
	margin-left: 0;
	margin-right: 0;
}
.wp-block-woocommerce-cart .wc-block-grid.has-4-columns .wc-block-grid__product {
	flex: 1 0 calc(25% - 18px) !important;
	max-width: calc(25% - 18px) !important;
	margin: 0 24px 24px 0 !important;
}
.wp-block-woocommerce-cart .wc-block-grid.has-4-columns .wc-block-grid__product:nth-child(4n) {
	margin-right: 0 !important;
}
.wp-block-woocommerce-cart .wc-block-grid__product {
	position: relative;
	border-radius: 20px;
	overflow: hidden;
	padding: 0 0 20px;
	text-align: center;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}
.wp-block-woocommerce-cart .wc-block-grid__product-image {
	margin: 0 0 20px;
}
.wp-block-woocommerce-cart .wc-block-grid__product-image img {
	/* Corner rounding comes from the card's own overflow:hidden mask (see
	   .wc-block-grid__product below), same as the shop page's
	   .product__item/.product__item__image pairing — rounding the image
	   itself too was redundant double-masking and was clipping the veg
	   badge's corner against the curve. */
	border-radius: 0;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
}
/* Veg/non-veg badge (see food-type-badge.php) sits over the image, so the
   link wrapping image+badge needs position:relative to anchor it. */
.wp-block-woocommerce-cart .wc-block-grid__product-link {
	position: relative;
	display: block;
}
.wp-block-woocommerce-cart .yeldam-food-badge {
	top: 30px;
	left: 14px;
	z-index: 5;
}
/* 20px inset on the text content, matching .product__item__content's
   padding on the shop-page card exactly (image itself stays full-bleed on
   both). */
.wp-block-woocommerce-cart .wc-block-grid__product-title {
	padding: 0 20px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--gotur-black, #1D231F);
	margin-bottom: 10px;
}
.wp-block-woocommerce-cart .wc-block-grid__product-price {
	display: flex;
	align-items: baseline;
	justify-content: center;
	flex-wrap: wrap;
	padding: 0 20px;
	margin-bottom: 16px;
	font-size: 15px;
}
.wp-block-woocommerce-cart .wc-block-grid__product-price .amount {
	font-weight: 700;
}
.wp-block-woocommerce-cart .wc-block-grid__product-price del {
	margin-right: 6px;
	text-decoration: line-through;
}
.wp-block-woocommerce-cart .wc-block-grid__product-price del .amount {
	color: var(--gotur-text, #595959);
	opacity: 0.7;
	font-weight: 400;
	font-size: 13px;
	text-decoration: line-through;
}
.wp-block-woocommerce-cart .wc-block-grid__product-price ins {
	text-decoration: none;
	background: #FFF3B0;
	color: var(--gotur-black, #1D231F);
	padding: 3px 10px;
	border-radius: 999px;
}
.wp-block-woocommerce-cart .wc-block-grid__product-add-to-cart {
	margin: 0 20px !important;
	width: calc(100% - 40px);
}
.wp-block-woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	border-radius: 999px !important;
	background: var(--gotur-base, #63AB45) !important;
	border-color: var(--gotur-base, #63AB45) !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	line-height: normal;
	padding: 14px 16px !important;
}
.wp-block-woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
	opacity: 0.9;
}
/* The default "-16%" ribbon badge is redundant with the "(16% off)" text
   next to the price (see spec: no floating percentage badge) — hidden. */
.wp-block-woocommerce-cart .wc-block-grid__product-onsale {
	display: none !important;
}

/* Inline AJAX error, shown next to whatever control (add-to-cart button,
   cart-drawer qty/remove control) triggered a failed request. */
.yeldam-ajax-error {
	display: block;
	margin-top: 6px;
	font-size: 12px;
	color: #C0392B;
}

/* "Browse wishlist" text link (woo-smart-wishlist's own ".woosw-btn.woosw-
   added" state, shown next to "View Cart" after adding a product) — keep it
   static, matching "View Cart" beside it not changing on hover either. The
   theme's global, unscoped ".woosw-added:hover { background-color: ... }"
   (style.css) is written for the button-styled ".woosw-btn" elsewhere on the
   site (shop card popups) and otherwise fills this plain text link with a
   green background on hover — override it back to transparent here. */
.yeldam-pdp .woosw-btn,
.yeldam-pdp .woosw-btn:hover,
.yeldam-pdp .woosw-btn:focus,
.yeldam-pdp .woosw-btn:active {
	background-color: transparent !important;
	color: var(--gotur-base, #63AB45);
	text-decoration: none;
}

/* ---------- Product detail page ---------- */
/* Matches the site's own .section-space top/bottom rhythm (120px desktop /
   100px tablet / 80px mobile), the same convention already used on the
   cart/checkout pages, instead of this page's previous one-off 40px/80px. */
.yeldam-pdp {
	padding-top: 120px;
	padding-bottom: 120px;
	font-family: var(--gotur-font, "Plus Jakarta Sans", sans-serif);
}
@media (max-width: 767px) {
	.yeldam-pdp {
		padding-top: 100px;
		padding-bottom: 100px;
	}
}
@media (max-width: 575px) {
	.yeldam-pdp {
		padding-top: 80px;
		padding-bottom: 80px;
	}
}
.yeldam-pdp__breadcrumb {
	font-size: 13px;
	color: var(--gotur-text, #595959);
	margin-bottom: 24px;
}
.yeldam-pdp__breadcrumb a {
	color: var(--gotur-text, #595959);
}
/* Image a little narrower than the details column, as in the design. */
.yeldam-pdp__layout {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
	gap: 56px;
	align-items: start;
}
/* Big photo on top, a fixed row of the product's other photos underneath.
   Every box uses the main photo's own shape (--yeldam-gallery-ratio, set
   from its real width/height in single-product.php, e.g. 4 / 3) and photos
   are fitted with "contain", so nothing is ever cropped; a photo of a
   different shape just gets a little of the light background beside it. */
.yeldam-pdp__gallery {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.yeldam-pdp__main-image {
	position: relative;
	min-width: 0;
	border-radius: 28px;
	overflow: hidden;
	background: var(--gotur-gray, #F3F8F6);
}
.yeldam-pdp__main-image img {
	width: 100%;
	height: auto;
	aspect-ratio: var(--yeldam-gallery-ratio, 4 / 3);
	object-fit: contain;
	display: block;
}
/* Equal columns that together span exactly the big photo's width (3 thumbs
   for a 4-photo product), on every screen. */
.yeldam-pdp__thumbs {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	gap: 12px;
}
.yeldam-pdp__thumb {
	display: block;
	min-width: 0;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 14px;
	overflow: hidden;
	background: var(--gotur-gray, #F3F8F6);
	cursor: pointer;
	transition: border-color 0.15s ease;
}
.yeldam-pdp__thumb:hover,
.yeldam-pdp__thumb:focus-visible,
.yeldam-pdp__thumb.is-active {
	border-color: var(--gotur-base, #63AB45);
}
.yeldam-pdp__thumb:focus {
	outline: none;
}
.yeldam-pdp__thumb img {
	width: 100%;
	height: auto;
	aspect-ratio: var(--yeldam-gallery-ratio, 4 / 3);
	object-fit: contain;
	display: block;
}

.yeldam-pdp__info__label {
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--gotur-base, #63AB45);
	margin-bottom: 8px;
}
.yeldam-pdp__info h1 {
	font-size: 32px;
	line-height: 1.2;
	font-weight: 700;
	margin: 0 0 12px;
	color: var(--gotur-black, #1D231F);
}
.yeldam-pdp__excerpt {
	color: var(--gotur-text, #595959);
	font-size: 15px;
	line-height: 1.7;
	margin-bottom: 16px;
}
.yeldam-pdp__excerpt p:last-child {
	margin-bottom: 0;
}
/* Rating pill: stars | bold average · review count. A link to the Reviews
   section (which yeldam-woo-ui.js opens). */
.yeldam-pdp__rating {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 16px;
	padding: 7px 16px;
	border: 1px solid #DDEBD8;
	border-radius: 999px;
	background: #F4F8F3;
	box-shadow: 0 2px 10px rgba(29, 35, 31, 0.05);
	font-size: 14px;
	line-height: 1;
	color: var(--gotur-text, #595959);
	text-decoration: none !important;
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.yeldam-pdp__rating:hover,
.yeldam-pdp__rating:focus-visible {
	border-color: #BFDDB3;
	background: #EEF6EC;
	color: var(--gotur-text, #595959);
}
.yeldam-pdp__rating:focus-visible {
	outline: 2px solid var(--gotur-base, #63AB45);
	outline-offset: 2px;
}
.yeldam-pdp__rating .star-rating {
	float: none;
	margin: 0;
	font-size: 15px;
	color: var(--gotur-base, #63AB45);
}
/* WooCommerce's empty-star outline is a pale grey; tint it green so part
   stars read as one set. */
.yeldam-pdp__rating .star-rating::before {
	color: #CFE6C4;
	opacity: 1;
}
.yeldam-pdp__rating-divider {
	align-self: stretch;
	width: 1px;
	margin: 0 2px;
	background: #D6E4D1;
}
.yeldam-pdp__rating-average {
	font-size: 15px;
	font-weight: 700;
	color: var(--gotur-black, #1D231F);
}
.yeldam-pdp__rating-dot {
	color: #9AA09C;
}
/* Final price first (large, brand green), then the struck-off price, then
   the discount pill. */
.yeldam-pdp__price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 12px;
	row-gap: 6px;
	margin-bottom: 6px;
	line-height: 1.2;
}
.yeldam-pdp__price ins {
	/* No highlight behind the price (the theme's default <ins> look). */
	background: none !important;
	padding: 0 !important;
	text-decoration: none;
	font-size: 26px;
	font-weight: 700;
	color: var(--gotur-base, #63AB45);
}
.yeldam-pdp__price del {
	font-size: 15px;
	font-weight: 500;
	color: var(--gotur-text, #595959);
	opacity: 0.7;
}
.yeldam-pdp__sale-badge {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	background: #E4F2DD;
	color: var(--gotur-base, #63AB45);
	border-radius: 999px;
	padding: 6px 10px;
	line-height: 1;
}
.yeldam-pdp__tax-note {
	font-size: 12px;
	color: var(--gotur-text, #595959);
	margin-bottom: 22px;
}

/* Add to Cart (+ wishlist) on one row. The theme wraps the quantity and
   the buttons in their own divs (.product-details__quantity /
   .product-details__buttons). */
.yeldam-pdp form.cart {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 24px;
	flex-wrap: nowrap;
}
/* Variable products also put the option dropdowns in this form — let
   those wrap onto their own rows. */
.yeldam-pdp form.cart.variations_form {
	flex-wrap: wrap;
}
/* No quantity stepper on the product page: Add to Cart adds one, and the
   quantity is changed in the cart drawer. The (hidden) input still posts
   its value of 1 with the form. */
.yeldam-pdp form.cart .product-details__quantity {
	display: none;
}
.yeldam-pdp form.cart .product-details__quantity-title {
	display: none;
}
/* The button takes the remaining room only up to 280px, so it doesn't
   stretch across the whole column. */
.yeldam-pdp form.cart .product-details__buttons {
	display: flex;
	align-items: center;
	gap: 12px;
	flex: 0 1 280px;
	min-width: 0;
	margin: 0;
}
.yeldam-pdp form.cart .product-details__buttons .thm-btn.cart-btn,
.yeldam-pdp form.cart .product-details__buttons .yeldam-ajax-error {
	flex: 1 1 auto;
	min-width: 0;
}
/* Quantity input/stepper is the theme's own (.sub/.add buttons rendered by
   the theme's global/quantity-input.php override) — restyled here, not replaced. */
/* The theme (gotur style.css ".single-product .quantity ...") lays this out
   as a fixed 98x50 box with the buttons absolutely stacked on the right;
   those size/position rules are reset here so the pill can flow inline. */
.yeldam-pdp div.quantity {
	position: relative;
	width: auto;
	height: auto;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	height: 44px;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 999px;
	padding: 0 5px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(29, 35, 31, 0.06);
}
.yeldam-pdp .quantity .sub,
.yeldam-pdp .quantity .add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	position: static;
	width: 32px;
	height: 32px;
	padding: 0;
	border-radius: 50%;
	border: none;
	background: transparent;
	color: #1D231F;
	cursor: pointer;
	font-size: 15px;
	line-height: 1;
	transition: background-color 0.15s ease, transform 0.1s ease;
}
/* The theme's stacked stepper draws a divider on top of "−"
   (".single-product .quantity button.sub { border-top }", more specific
   than the rule above) — on the round button it showed as a half-circle. */
.yeldam-pdp .quantity button.sub,
.yeldam-pdp .quantity button.add {
	border: 0 !important;
}
.yeldam-pdp .quantity .sub:hover,
.yeldam-pdp .quantity .add:hover,
.yeldam-pdp .quantity .sub:focus-visible,
.yeldam-pdp .quantity .add:focus-visible {
	background: #E4F2DD;
	color: #1D231F;
}
.yeldam-pdp .quantity .sub:active,
.yeldam-pdp .quantity .add:active {
	transform: scale(0.92);
}
.yeldam-pdp .quantity .sub i,
.yeldam-pdp .quantity .add i {
	color: inherit;
	font-weight: 900;
}
.yeldam-pdp form.cart input.qty {
	width: 32px;
	height: auto;
	padding: 0;
	text-align: center;
	border: none;
	background: transparent;
	color: #1D231F;
	font-size: 15px;
	font-weight: 700;
	-moz-appearance: textfield;
	appearance: textfield;
}
.yeldam-pdp form.cart input.qty::-webkit-inner-spin-button,
.yeldam-pdp form.cart input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
/* No border/outline/ring around the number in any state — the theme gives
   its quantity input a 1px border and browsers/theme add focus rings. */
.yeldam-cart-drawer .yeldam-qty-value,
.yeldam-cart-drawer .yeldam-qty-value:focus,
.yeldam-cart-drawer .yeldam-qty-value:hover,
.yeldam-pdp form.cart input.qty,
.yeldam-pdp form.cart input.qty:focus,
.yeldam-pdp form.cart input.qty:hover {
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	border-radius: 0;
}
/* The theme's own add-to-cart button class ("thm-btn cart-btn"), not
   WooCommerce's default "single_add_to_cart_button" — restyled to match brand. */
/* Same look as the Add to Cart buttons elsewhere on the site (the Elementor
   "Add to Cart Button" widget / product cards): bold 15px label, cart icon
   before it, darker green on hover. Also applies to the "View Cart" link
   that replaces the button after adding (it copies the button's classes). */
.yeldam-pdp .thm-btn.cart-btn {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	flex: 1;
	min-width: 200px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border-radius: 999px !important;
	background: var(--gotur-base, #63AB45) !important;
	color: #fff !important;
	border: none;
	padding: 12px 28px !important;
	font-family: var(--gotur-font, "Plus Jakarta Sans", sans-serif);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	text-transform: none;
	text-decoration: none !important;
	white-space: nowrap;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.25s ease, color 0.25s ease, opacity 0.25s ease;
}
.yeldam-pdp .thm-btn.cart-btn:hover,
.yeldam-pdp .thm-btn.cart-btn:focus-visible {
	background: color-mix(in srgb, var(--gotur-base, #63AB45) 88%, #000) !important;
	color: #fff !important;
}
.yeldam-pdp .thm-btn.cart-btn:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--gotur-base, #63AB45) 45%, transparent);
	outline-offset: 2px;
}
.yeldam-pdp .thm-btn.cart-btn:disabled {
	opacity: 0.7;
	cursor: default;
}
/* Cart icon — same mask icon as the widget and product cards. The theme
   uses both pseudo-elements for a hover sweep, so ::after is switched off
   and ::before fully reset into the icon. */
.yeldam-pdp .thm-btn.cart-btn::before {
	content: "" !important;
	position: static !important;
	flex: none;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	border: none !important;
	background: currentColor !important;
	transform: none !important;
	transition: none !important;
	z-index: auto !important;
	opacity: 1 !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 10.2a1 1 0 0 0 1 .8h8.9a1 1 0 0 0 1-.8L20 7H6'/%3E%3Ccircle cx='9' cy='19' r='1.4'/%3E%3Ccircle cx='17' cy='19' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 10.2a1 1 0 0 0 1 .8h8.9a1 1 0 0 0 1-.8L20 7H6'/%3E%3Ccircle cx='9' cy='19' r='1.4'/%3E%3Ccircle cx='17' cy='19' r='1.4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.yeldam-pdp .thm-btn.cart-btn::after {
	content: none !important;
	display: none !important;
}
.yeldam-pdp .variations {
	width: 100%;
	margin-bottom: 6px;
}
.yeldam-pdp .reset_variations {
	font-size: 12px;
	color: var(--gotur-text, #595959);
}

/* Each section is its own bordered card with a chevron that flips when open. */
.yeldam-accordion {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.yeldam-accordion__item {
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 14px;
	background: #fff;
	transition: border-color 0.2s ease;
}
.yeldam-accordion__item:hover {
	border-color: #CFE6C4;
}
.yeldam-accordion__trigger {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	background: none;
	border: none;
	border-radius: 14px;
	padding: 15px 18px;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	text-align: left;
	color: var(--gotur-black, #1D231F);
}
.yeldam-accordion__trigger::after {
	content: "";
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	margin-right: 4px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-3px) rotate(45deg);
	transition: transform 0.2s ease;
}
.yeldam-accordion__trigger[aria-expanded="true"]::after {
	transform: translateY(2px) rotate(-135deg);
}
.yeldam-accordion__trigger:focus-visible {
	outline: 2px solid var(--gotur-base, #63AB45);
	outline-offset: 2px;
}
.yeldam-accordion__panel {
	padding: 0 18px 16px;
	font-size: 14px;
	color: var(--gotur-text, #595959);
	line-height: 1.65;
}
.yeldam-accordion__panel p:last-child {
	margin-bottom: 0;
}
.yeldam-accordion__panel a {
	color: var(--gotur-base, #63AB45);
	text-decoration: underline;
}
/* Theme/WooCommerce tab CSS may set display:block on these elements with
   higher specificity than the native [hidden] attribute — force it explicitly. */
.yeldam-accordion__panel[hidden] {
	display: none !important;
}
.yeldam-accordion__panel:not([hidden]) {
	display: block !important;
}
/* WooCommerce's own tab callbacks (description/reviews) render their own
   heading — the accordion trigger already shows that label, so hide the
   duplicate to avoid "Description" appearing twice. */
.yeldam-accordion__panel > h2:first-child,
.yeldam-accordion__panel > h2.woocommerce-Reviews-title:first-child {
	display: none;
}

/* "Shipping & returns" panel: icon circle | bold title + one line of detail. */
/* Combo "Contents": one item per row, with a small green dot. */
.yeldam-pdp-contents {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.yeldam-pdp-contents li {
	position: relative;
	margin: 0;
	padding-left: 20px;
	line-height: 1.5;
	color: var(--gotur-black, #1D231F);
}
.yeldam-pdp-contents li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.55em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--gotur-base, #63AB45);
}

.yeldam-pdp-points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.yeldam-pdp-points__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0;
	padding: 0;
}
.yeldam-pdp-points__icon {
	position: relative;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #E4F2DD;
}
.yeldam-pdp-points__icon::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 18px;
	height: 18px;
	background: var(--gotur-base, #63AB45);
	-webkit-mask: var(--yeldam-point-icon) center / contain no-repeat;
	mask: var(--yeldam-point-icon) center / contain no-repeat;
}
.yeldam-pdp-points__icon--truck {
	--yeldam-point-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h11v9H3z'/%3E%3Cpath d='M14 9h4l3 3v3h-7'/%3E%3Ccircle cx='7' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E");
}
.yeldam-pdp-points__icon--tag {
	--yeldam-point-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E");
}
.yeldam-pdp-points__icon--return {
	--yeldam-point-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 14 4 9l5-5'/%3E%3Cpath d='M4 9h11a5 5 0 0 1 0 10h-3'/%3E%3C/svg%3E");
}
.yeldam-pdp-points__body {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	padding-top: 1px;
}
.yeldam-pdp-points__title {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	color: var(--gotur-black, #1D231F);
}
.yeldam-pdp-points__title .woocommerce-Price-amount {
	color: inherit;
}
.yeldam-pdp-points__text {
	font-size: 13px;
	line-height: 1.5;
	color: var(--gotur-text, #595959);
}

/* ---------- Reviews panel (theme's single-product-reviews.php markup) ----------
   Sized to sit inside the accordion card like the other panels: no second
   "Reviews" heading (the accordion trigger already says it), a quiet
   "no reviews" line instead of a grey box, a small form title, rounded
   inputs and a submit button that matches the site's Add to Cart pill. */
.yeldam-pdp .product-review .review-one__title {
	display: none;
}
.yeldam-pdp .product-review #comments {
	margin: 0;
	padding: 0;
}
.yeldam-pdp .product-review .woocommerce-noreviews {
	margin: 0 0 18px;
	padding: 0;
	background: none;
	font-size: 14px;
	color: var(--gotur-text, #595959);
}

/* Existing reviews. */
.yeldam-pdp .product-review .commentlist {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.yeldam-pdp .product-review .commentlist li {
	margin: 0;
	padding: 0;
}
.yeldam-pdp .product-review .product-details__comment-box {
	position: relative;
	margin: 0;
	padding: 14px 16px 14px 70px;
	min-height: 0;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 12px;
	background: #fff;
}
.yeldam-pdp .product-review .product-details__comment-box__thumb {
	position: absolute;
	top: 14px;
	left: 16px;
	width: 40px;
	height: 40px;
	margin: 0;
}
.yeldam-pdp .product-review .product-details__comment-box__thumb img {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
}
.yeldam-pdp .product-review .product-details__comment__card__title {
	margin: 0 0 2px;
	font-size: 14px;
	font-weight: 700;
	color: var(--gotur-black, #1D231F);
}
.yeldam-pdp .product-review .product-details__comment__card__date {
	margin: 0 0 6px;
	font-size: 12px;
	color: var(--gotur-text, #595959);
}
.yeldam-pdp .product-review .product-details__comment-box__ratings {
	position: static;
	margin: 0 0 6px;
}
.yeldam-pdp .product-review .product-details__comment-box .star-rating {
	font-size: 12px;
	margin: 0;
	color: var(--gotur-base, #63AB45);
}
.yeldam-pdp .product-review .product-details__comment-box p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	color: var(--gotur-text, #595959);
}

/* Review form. */
.yeldam-pdp .product-review #review_form_wrapper,
.yeldam-pdp .product-review #review_form,
.yeldam-pdp .product-review #respond {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}
.yeldam-pdp .product-review .review-form-one__title {
	margin: 0 0 6px;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 700;
	text-transform: none;
	color: var(--gotur-black, #1D231F);
}
.yeldam-pdp .product-review .review-form-one__title small {
	font-size: 12px;
	font-weight: 500;
}
.yeldam-pdp .product-review .comment-notes {
	margin: 0 0 14px;
	font-size: 12px;
	color: var(--gotur-text, #595959);
}
.yeldam-pdp .product-review .comment-form .required {
	color: #C0392B;
}
.yeldam-pdp .product-review .comment-form-rating {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 14px;
}
.yeldam-pdp .product-review .comment-form-rating label {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--gotur-black, #1D231F);
}
.yeldam-pdp .product-review .comment-form-rating p.stars {
	margin: 0;
	line-height: 1;
}
/* Grey until hovered/picked; then the chosen star and the ones before it
   turn brand green (WooCommerce marks the pick with .selected / a.active). */
.yeldam-pdp .product-review .comment-form-rating p.stars a {
	font-size: 18px;
	color: #CFD4D1;
	text-decoration: none;
}
.yeldam-pdp .product-review .comment-form-rating p.stars:hover a,
.yeldam-pdp .product-review .comment-form-rating p.stars.selected a {
	color: var(--gotur-base, #63AB45);
}
.yeldam-pdp .product-review .comment-form-rating p.stars a:hover ~ a,
.yeldam-pdp .product-review .comment-form-rating p.stars.selected:not(:hover) a.active ~ a {
	color: #CFD4D1;
}
.yeldam-pdp .product-review .comment-form .row {
	--bs-gutter-x: 12px;
	--bs-gutter-y: 0;
	margin-top: 0;
	margin-bottom: 0;
}
.yeldam-pdp .product-review .comment-form .row > * {
	margin-top: 0;
	margin-bottom: 12px;
}
/* The theme adds a 20px top margin to the name/email boxes. */
.yeldam-pdp .product-review .comment-respond .review-form__input-box {
	margin: 0;
}
/* Name and email side by side when there's room. */
@media (min-width: 576px) {
	.yeldam-pdp .product-review .comment-form .name-field,
	.yeldam-pdp .product-review .comment-form .email-field {
		flex: 0 0 50%;
		width: 50%;
		max-width: 50%;
	}
}
.yeldam-pdp .product-review .review-form__input-box textarea,
.yeldam-pdp .product-review .review-form__input-box input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 12px;
	background: #fff;
	padding: 12px 14px;
	font-family: var(--gotur-font, "Plus Jakarta Sans", sans-serif);
	font-size: 14px;
	color: var(--gotur-black, #1D231F);
	outline: none;
	box-shadow: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.yeldam-pdp .product-review .review-form__input-box input {
	height: 46px;
}
.yeldam-pdp .product-review .review-form__input-box textarea {
	height: 110px;
	min-height: 90px;
	resize: vertical;
}
.yeldam-pdp .product-review .review-form__input-box textarea::placeholder,
.yeldam-pdp .product-review .review-form__input-box input::placeholder {
	color: #9AA09C;
}
.yeldam-pdp .product-review .review-form__input-box textarea:focus,
.yeldam-pdp .product-review .review-form__input-box input:focus {
	border-color: var(--gotur-base, #63AB45);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--gotur-base, #63AB45) 15%, transparent);
}
/* Inline errors from the review form's browser-side check (yeldam-woo-ui.js). */
.yeldam-pdp .product-review .review-form__input-box textarea.is-invalid,
.yeldam-pdp .product-review .review-form__input-box input.is-invalid {
	border-color: #C0392B;
	box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.12);
}
.yeldam-pdp .product-review .yeldam-field-error {
	flex-basis: 100%;
	margin: 6px 2px 0;
	font-size: 12px;
	line-height: 1.4;
	color: #C0392B;
}
.yeldam-pdp .product-review .comment-form-rating .yeldam-field-error {
	margin-top: 0;
}
.yeldam-pdp .product-review .form-submit {
	margin: 4px 0 0;
}
/* Same pill as the Add to Cart buttons (bold 15px, 48px, darker on hover),
   without the theme's hover-sweep pseudo-elements. */
.yeldam-pdp .product-review .form-submit .gotur-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 12px 28px !important;
	border: none;
	border-radius: 999px !important;
	background: var(--gotur-base, #63AB45) !important;
	color: #fff !important;
	font-family: var(--gotur-font, "Plus Jakarta Sans", sans-serif);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: none;
	cursor: pointer;
	transition: background-color 0.25s ease;
}
.yeldam-pdp .product-review .form-submit .gotur-btn::before,
.yeldam-pdp .product-review .form-submit .gotur-btn::after {
	content: none !important;
	display: none !important;
}
.yeldam-pdp .product-review .form-submit .gotur-btn:hover,
.yeldam-pdp .product-review .form-submit .gotur-btn:focus-visible {
	background: color-mix(in srgb, var(--gotur-base, #63AB45) 88%, #000) !important;
}
.yeldam-pdp .product-review .form-submit .gotur-btn:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--gotur-base, #63AB45) 45%, transparent);
	outline-offset: 2px;
}

@media (max-width: 991px) {
	.yeldam-pdp__layout {
		grid-template-columns: 1fr;
	}
	.yeldam-pdp__thumbs {
		gap: 8px;
	}
	.yeldam-pdp__info {
		order: 3;
	}
	.yeldam-pdp__layout {
		gap: 32px;
	}
	.yeldam-pdp__info h1 {
		font-size: 28px;
	}
	.yeldam-pdp__price ins {
		font-size: 24px;
	}
}

@media (max-width: 575px) {
	.yeldam-pdp__info h1 {
		font-size: 24px;
	}
	.yeldam-pdp__price ins {
		font-size: 22px;
	}
	.yeldam-pdp__price del {
		font-size: 14px;
	}
	.yeldam-pdp form.cart {
		gap: 10px;
	}
	.yeldam-pdp .thm-btn.cart-btn {
		font-size: 14px;
		min-width: 0;
	}
	.yeldam-accordion__trigger {
		padding: 14px 16px;
		font-size: 14px;
	}
	.yeldam-accordion__panel {
		padding: 0 16px 14px;
		font-size: 13px;
	}
}

@media (max-width: 480px) {
	.yeldam-cart-drawer {
		width: 100vw;
		max-width: 100vw;
	}
	/* Narrow phones: tighter pill and button padding so both fit one row. */
	.yeldam-pdp div.quantity {
		gap: 2px;
		padding: 0 4px;
	}
	.yeldam-pdp form.cart input.qty {
		width: 32px;
	}
	.yeldam-pdp .thm-btn.cart-btn {
		padding: 12px 14px !important;
		gap: 6px;
	}
}

/* ---------- Wishlist page (woo-smart-wishlist's [woosw_table]/[woosw_list])
   remove button ---------- */
/* The plugin already renders a real, working remove control per row
   (".woosw-item--remove span", wired up in its own frontend.js — removing
   an item here is a genuine AJAX call to the plugin, not something built
   from scratch) and ships its own icon-font glyph for it, but that custom
   "woosw" icon font wasn't rendering reliably in this environment, leaving
   the button visible only as an empty 14px-wide, unclickable-looking gap.
   This replaces the glyph with a plain, dependency-free "×" so the button
   is always visibly a delete control, and gives it some breathing room. */
.woosw-items .woosw-item .woosw-item--remove {
	width: 32px !important;
	flex: 0 0 32px !important;
}
.woosw-items .woosw-item .woosw-item--remove span {
	/* Fixed box on all sides (not just width) so the circle can't stretch
	   into an oval if this span's actual display context isn't flex (e.g.
	   plain inline in a table cell) despite the display:inline-flex above —
	   box-sizing keeps the 1px border from pushing it past 28px either. */
	position: relative;
	display: inline-block !important;
	box-sizing: border-box;
	width: 28px;
	height: 28px;
	min-width: 28px;
	min-height: 28px;
	max-width: 28px;
	max-height: 28px;
	flex: 0 0 28px;
	border-radius: 50%;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	color: var(--gotur-text, #595959);
	font-size: 0 !important;
	line-height: 0;
	vertical-align: middle;
}
/* Absolutely centered rather than relying on the "×" glyph's own font
   metrics/line-height inside a flex box — those metrics sit the character
   slightly above true-center, which is what read as "not centered". */
.woosw-items .woosw-item .woosw-item--remove span::before {
	content: "\00d7" !important;
	font-family: inherit !important;
	font-size: 16px !important;
	line-height: 1;
	position: absolute;
	top: 38%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.woosw-items .woosw-item .woosw-item--remove span:hover {
	border-color: #C0392B;
	color: #C0392B;
}
.woosw-items .woosw-item .woosw-item--remove span.woosw-item--removing::before {
	content: "\22EF" !important;
	animation: none !important;
}
/* "Add to cart" and "View cart" were visibly different sizes here — "View
   cart" picks up the ".gotur-btn" classes our JS adds (styleViewCartLinks(),
   for consistency elsewhere on the site), but ".gotur-btn"'s own padding
   (17.5px 58px) is much bigger than whatever "Add to cart" renders with in
   this specific row, making the two buttons in the same row look mismatched.
   Pin both explicitly to the same box model so they're identical here,
   regardless of what either inherits from elsewhere. */
.woosw-item--atc .add_to_cart_button,
.woosw-item--atc .added_to_cart.wc-forward {
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 120px !important;
	height: 44px !important;
	padding: 0 12px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	border-radius: 6px !important;
	text-transform: uppercase;
	white-space: nowrap !important;
}
/* WooCommerce hides "View cart" with an inline style="display:none" until
   the AJAX add-to-cart completes (then its own JS removes that style) — so
   the box model above must NOT force display, or both links stack/overlap
   for every item as soon as the popup opens, instead of "View cart" only
   appearing after "Add to cart" is actually clicked. */
.woosw-item--atc .add_to_cart_button:not([style*="display: none"]),
.woosw-item--atc .added_to_cart.wc-forward:not([style*="display: none"]) {
	display: inline-flex !important;
}
/* Belt-and-braces for the same "both buttons visible" case, in pure CSS:
   yeldam-woo-ui.js's styleViewCartLinks() already hides "Add to cart"
   whenever "View cart" is present as a sibling (Woosw::get_atc_html()
   prints both together, with no display:none at all, for any item already
   in the cart the moment the wishlist popup's markup is generated — not
   just after a live click), but that relies on a JS event firing after the
   popup's AJAX content lands. This rule gets the same result declaratively,
   so it still holds even if that event fires late/out of order. */
.woosw-item--atc .add_to_cart_button:has( ~ .added_to_cart.wc-forward ) {
	display: none !important;
}

/* Wishlist popup footer: the plugin's own "Open wishlist page" link is
   redundant here (the heart icon in the header already opens the same
   dedicated wishlist page) — hide it, keep "Continue shopping". */
.woosw-popup .woosw-page {
	display: none !important;
}

/* ---------- Wishlist popup (WPC Smart Wishlist, #woosw_wishlist) ----------
   Restyle of the plugin's own popup markup — add/remove/clear/add-to-cart
   all remain the plugin's (and WooCommerce's) own AJAX handlers. Scoped to
   the popup's id so it outranks both the plugin's and the theme's rules.
   Layout: white rounded card; header = heart icon, "Wishlist (N)", a
   subtitle and a round close button; each product is a bordered row card
   (remove | image | name, prices, saved date | add to cart); footer =
   "Clear Wishlist" (the plugin's .woosw-empty, moved down here with
   absolute positioning — it lives in the header markup) and "Continue
   shopping". Icons are CSS masks so they follow each element's color. */
#woosw_wishlist {
	/* Theme color (Gotur's --gotur-base), with light tints derived from it,
	   so the popup follows the brand color if it's changed in the theme. */
	--yw-green: var(--gotur-base, #24B24B);
	--yw-green-tint: color-mix(in srgb, var(--gotur-base, #24B24B) 10%, #fff);
	--yw-green-tint-hover: color-mix(in srgb, var(--gotur-base, #24B24B) 18%, #fff);
	--yw-ink: #1D231F;
	--yw-muted: #6B7280;
	--yw-line: #ECEFEC;
	--yw-icon-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8l1 1.1L12 21l7.8-7.5 1-1.1a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
	--yw-icon-cart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2l2.4 10.2a1 1 0 0 0 1 .8h8.9a1 1 0 0 0 1-.8L20 7H6'/%3E%3Ccircle cx='9' cy='19' r='1.4'/%3E%3Ccircle cx='17' cy='19' r='1.4'/%3E%3C/svg%3E");
	--yw-icon-calendar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");
	--yw-icon-trash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16M10 11v6M14 11v6M5 7l1 13a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1l1-13M9 7V4h6v3'/%3E%3C/svg%3E");
	--yw-icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
}
/* Center with flexbox instead of the plugin's absolute + translate(-50%)
   positioning, so the card can size to its content (height: auto below
   overrides the fixed pixel height the plugin's JS writes inline). */
#woosw_wishlist .woosw-popup-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	box-sizing: border-box;
}
#woosw_wishlist .woosw-popup-inner .woosw-popup-content {
	position: relative;
	top: auto;
	left: auto;
	transform: translateY(16px);
	-webkit-transform: translateY(16px);
	width: 100%;
	max-width: 760px;
	height: auto !important;
	max-height: calc(100vh - 48px);
	border-radius: 20px;
	box-shadow: 0 24px 60px rgba(29, 35, 31, 0.18);
	transition: transform 0.3s ease;
}
#woosw_wishlist.woosw-show .woosw-popup-inner .woosw-popup-content {
	top: auto;
	transform: none;
	-webkit-transform: none;
}

/* Header. */
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-top {
	display: grid;
	grid-template-columns: 36px auto minmax(0, 1fr) 44px;
	grid-template-rows: auto auto;
	column-gap: 14px;
	row-gap: 4px;
	align-items: center;
	/* Static (the plugin sets relative) so the absolutely positioned
	   "Clear Wishlist" below anchors to the whole card, not the header. */
	position: static;
	height: auto;
	line-height: 1.25;
	padding: 28px 28px 20px;
	background: #fff;
	color: var(--yw-ink);
	text-transform: none;
}
#woosw_wishlist .woosw-popup-content-top::before {
	content: "";
	grid-column: 1;
	grid-row: 1;
	width: 34px;
	height: 34px;
	background: var(--yw-green);
	-webkit-mask: var(--yw-icon-heart) center / contain no-repeat;
	mask: var(--yw-icon-heart) center / contain no-repeat;
}
#woosw_wishlist .woosw-popup-content-top .woosw-name,
#woosw_wishlist .woosw-popup-content-top .woosw-count-wrapper {
	grid-row: 1;
	font-size: 26px;
	font-weight: 700;
	color: var(--yw-ink);
}
#woosw_wishlist .woosw-popup-content-top .woosw-name {
	grid-column: 2;
}
#woosw_wishlist .woosw-popup-content-top .woosw-count-wrapper {
	grid-column: 3;
	justify-self: start;
	position: static;
	margin-left: -6px; /* "Wishlist (2)" reads as one title, not two columns. */
}
#woosw_wishlist .woosw-popup-content-top::after {
	content: "Your saved favorites for later";
	grid-column: 2 / span 2;
	grid-row: 2;
	font-size: 15px;
	font-weight: 400;
	color: var(--yw-muted);
}
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-top .woosw-popup-close {
	grid-column: 4;
	grid-row: 1 / span 2;
	position: relative;
	top: auto;
	right: auto;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #F1F3F2;
	transition: background-color 0.15s ease;
}
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-top .woosw-popup-close:hover {
	background: #E4E8E6;
}
/* "×" drawn as two bars (the plugin's icon-font glyph isn't reliable here). */
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-top .woosw-popup-close::before,
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-top .woosw-popup-close::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	float: none;
	width: 18px;
	height: 2px;
	line-height: 0;
	border-radius: 2px;
	background: var(--yw-ink);
	font-size: 0;
	transform: translate(-50%, -50%) rotate(45deg);
}
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-top .woosw-popup-close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

/* Items. */
#woosw_wishlist .woosw-popup-content-mid {
	padding: 0 28px;
}
#woosw_wishlist .woosw-popup-content-mid .woosw-popup-content-mid-message {
	height: auto;
	padding: 36px 0;
	line-height: 1.5;
	font-size: 16px;
	color: var(--yw-muted);
}
#woosw_wishlist .woosw-items {
	padding: 0 0 4px;
}
#woosw_wishlist .woosw-items .woosw-item {
	padding: 0;
	margin-bottom: 14px;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item-inner {
	position: relative;
	display: grid;
	grid-template-columns: 42px 140px minmax(0, 1fr) auto;
	column-gap: 22px;
	align-items: center;
	padding: 20px 22px;
	border: 1px solid var(--yw-line);
	border-radius: 16px;
	background: #fff;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item-inner > div {
	margin: 0;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove {
	width: 42px !important;
	flex: none !important;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove span {
	display: block !important;
	width: 42px;
	height: 42px;
	min-width: 42px;
	min-height: 42px;
	max-width: 42px;
	max-height: 42px;
	border: 1px solid #DFE3E0;
	border-radius: 50%;
	background: #fff;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove span::before,
#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove span::after {
	content: "" !important;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 2px;
	border-radius: 2px;
	background: var(--yw-ink);
	font-size: 0 !important;
	animation: none !important;
	transform: translate(-50%, -50%) rotate(45deg);
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove span::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove span:hover {
	border-color: #C0392B;
	background: #FDF1F0;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove span:hover::before,
#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove span:hover::after {
	background: #C0392B;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove span.woosw-item--removing {
	opacity: 0.5;
	pointer-events: none;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--image {
	width: 140px;
	flex: none;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--image a,
#woosw_wishlist .woosw-items .woosw-item .woosw-item--image img {
	display: block;
	width: 140px;
	height: 92px;
	object-fit: cover;
	border-radius: 12px;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--info {
	min-width: 0;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--name,
#woosw_wishlist .woosw-items .woosw-item .woosw-item--name a {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--yw-ink);
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--name a:hover {
	color: var(--yw-green);
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 10px;
	font-size: 16px;
	line-height: 1.2;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--price del {
	color: #9CA3AF;
	opacity: 1;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--price del .amount {
	color: inherit;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--price ins {
	padding: 6px 12px;
	border-radius: 10px;
	background: #FDF1C4;
	color: var(--yw-ink);
	font-size: 17px;
	font-weight: 700;
	text-decoration: none;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--price ins .amount {
	color: inherit;
	background: none;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--time {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	font-size: 14px;
	color: var(--yw-muted);
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--time::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--yw-icon-calendar) center / contain no-repeat;
	mask: var(--yw-icon-calendar) center / contain no-repeat;
}
/* "In stock" adds nothing next to an enabled Add to cart; out-of-stock and
   backorder notices still show. */
#woosw_wishlist .woosw-items .woosw-item .woosw-item--stock .in-stock,
#woosw_wishlist .woosw-items .woosw-item .woosw-item--stock:empty {
	display: none;
}
#woosw_wishlist .woosw-items .woosw-item .woosw-item--atc p {
	margin: 0;
	text-align: right;
}
/* Add to cart / View cart: same box, cart icon via ::before. The theme uses
   both pseudo-elements for a hover "sweep", so ::after is switched off and
   ::before fully reset into the icon. */
#woosw_wishlist .woosw-item--atc .add_to_cart_button,
#woosw_wishlist .woosw-item--atc .added_to_cart.wc-forward {
	/* Same look as the site's other buttons (product-card "Add to cart",
	   cart drawer checkout): theme-green pill, white bold uppercase text. */
	gap: 8px;
	width: 170px !important;
	height: 48px !important;
	padding: 0 18px !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 999px !important;
	background: var(--yw-green) !important;
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: opacity 0.2s ease;
}
#woosw_wishlist .woosw-item--atc .add_to_cart_button:hover,
#woosw_wishlist .woosw-item--atc .added_to_cart.wc-forward:hover {
	opacity: 0.9;
	color: #fff !important;
}
#woosw_wishlist .woosw-item--atc .add_to_cart_button::before,
#woosw_wishlist .woosw-item--atc .added_to_cart.wc-forward::before {
	content: "" !important;
	position: static !important;
	flex: none;
	width: 22px !important;
	height: 22px !important;
	margin: 0 !important;
	border: none !important;
	background: currentColor !important;
	transform: none !important;
	transition: none !important;
	z-index: auto !important;
	opacity: 1 !important;
	-webkit-mask: var(--yw-icon-cart) center / contain no-repeat;
	mask: var(--yw-icon-cart) center / contain no-repeat;
}
#woosw_wishlist .woosw-item--atc .add_to_cart_button::after,
#woosw_wishlist .woosw-item--atc .added_to_cart.wc-forward::after {
	content: none !important;
	display: none !important;
}
#woosw_wishlist .woosw-item--atc .add_to_cart_button.loading {
	opacity: 0.7;
}

/* Footer: divider, "Clear Wishlist" left, "Continue shopping" right. */
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-bot {
	position: static;
	margin: 6px 28px 0;
	padding: 22px 0 26px;
	border-top: 1px solid var(--yw-line);
	background: #fff;
	text-transform: none;
}
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-bot .woosw-popup-content-bot-inner {
	justify-content: flex-end;
}
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-bot .woosw-popup-content-bot-inner a.woosw-continue {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 48px;
	padding: 0 28px;
	border: none;
	border-radius: 999px;
	background: var(--yw-green);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity 0.2s ease;
}
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-bot .woosw-popup-content-bot-inner a.woosw-continue:hover {
	opacity: 0.9;
	color: #fff;
}
#woosw_wishlist .woosw-popup-content-bot a.woosw-continue::after {
	content: "";
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--yw-icon-arrow) center / contain no-repeat;
	mask: var(--yw-icon-arrow) center / contain no-repeat;
}
/* The plugin's own "remove all" control, relabelled "Clear Wishlist" (see
   includes/wishlist-popup.php) and pinned into the footer's left side. It
   shows/hides itself (display) with the item count via the plugin's JS. */
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-top .woosw-empty {
	position: absolute;
	left: 28px;
	bottom: 26px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 48px;
	padding: 0 24px;
	margin: 0;
	border-radius: 999px;
	background: var(--yw-green-tint);
	color: var(--yw-green);
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease;
}
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-top .woosw-empty:hover {
	background: var(--yw-green-tint-hover);
}
/* The plugin's confirmation bar ("Product has been removed…") slides up
   over the footer for a moment — sized to cover the whole footer, above
   "Clear Wishlist", so the two never overlap half-way. */
#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-bot .woosw-notice {
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	height: auto;
	min-height: 97px;
	padding: 0 28px;
	line-height: 1.4;
	font-size: 15px;
	font-weight: 600;
	background: var(--yw-green);
	border-radius: 0 0 20px 20px;
}
/* In-popup "Clear Wishlist" confirmation (see yeldam-woo-ui.js), shown in
   place of the browser's confirm() box — covers the footer while open. */
#woosw_wishlist .yeldam-woosw-confirm {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 97px;
	padding: 0 28px;
	box-sizing: border-box;
	border-top: 1px solid var(--yw-line);
	border-radius: 0 0 20px 20px;
	background: var(--yw-green-tint);
	animation: yeldam-woosw-confirm-in 0.2s ease;
}
@keyframes yeldam-woosw-confirm-in {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}
#woosw_wishlist .yeldam-woosw-confirm__text {
	font-size: 16px;
	font-weight: 700;
	color: var(--yw-ink);
}
#woosw_wishlist .yeldam-woosw-confirm__actions {
	display: flex;
	gap: 10px;
	flex: none;
}
#woosw_wishlist .yeldam-woosw-confirm button {
	height: 44px;
	padding: 0 22px;
	margin: 0;
	border-radius: 999px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: none;
	transition: opacity 0.2s ease;
}
#woosw_wishlist .yeldam-woosw-confirm__cancel {
	border: 1px solid var(--yw-green);
	background: #fff;
	color: var(--yw-green);
}
#woosw_wishlist .yeldam-woosw-confirm__ok {
	border: 1px solid var(--yw-green);
	background: var(--yw-green);
	color: #fff;
}
#woosw_wishlist .yeldam-woosw-confirm button:hover {
	opacity: 0.9;
}
@media (max-width: 640px) {
	#woosw_wishlist .yeldam-woosw-confirm {
		flex-direction: column;
		justify-content: center;
		align-items: stretch;
		gap: 12px;
		min-height: 147px;
		padding: 0 18px;
		border-radius: 0 0 18px 18px;
		text-align: center;
	}
	#woosw_wishlist .yeldam-woosw-confirm__actions button {
		flex: 1;
	}
}
#woosw_wishlist .woosw-popup-content-top .woosw-empty::before {
	content: "";
	width: 22px;
	height: 22px;
	background: currentColor;
	-webkit-mask: var(--yw-icon-trash) center / contain no-repeat;
	mask: var(--yw-icon-trash) center / contain no-repeat;
}

@media (max-width: 640px) {
	#woosw_wishlist .woosw-popup-inner {
		padding: 12px;
	}
	#woosw_wishlist .woosw-popup-inner .woosw-popup-content {
		max-height: calc(100vh - 24px);
		border-radius: 18px;
	}
	#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-top {
		grid-template-columns: 28px auto minmax(0, 1fr) 40px;
		column-gap: 10px;
		padding: 20px 18px 16px;
	}
	#woosw_wishlist .woosw-popup-content-top::before {
		width: 26px;
		height: 26px;
	}
	#woosw_wishlist .woosw-popup-content-top .woosw-name,
	#woosw_wishlist .woosw-popup-content-top .woosw-count-wrapper {
		font-size: 21px;
	}
	#woosw_wishlist .woosw-popup-content-top::after {
		font-size: 13px;
	}
	#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-top .woosw-popup-close {
		width: 40px;
		height: 40px;
	}
	#woosw_wishlist .woosw-popup-content-mid {
		padding: 0 18px;
	}
	/* Card: image | info, button full width underneath, remove in the corner. */
	#woosw_wishlist .woosw-items .woosw-item .woosw-item-inner {
		grid-template-columns: 96px minmax(0, 1fr);
		column-gap: 14px;
		row-gap: 14px;
		padding: 16px;
	}
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove {
		position: absolute;
		top: 10px;
		right: 10px;
		width: 32px !important;
		z-index: 1;
	}
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove span {
		width: 32px;
		height: 32px;
		min-width: 32px;
		min-height: 32px;
		max-width: 32px;
		max-height: 32px;
	}
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove span::before,
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--remove span::after {
		width: 12px;
	}
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--image,
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--image a,
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--image img {
		width: 96px;
		height: 72px;
	}
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--info {
		padding-right: 34px;
	}
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--name,
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--name a {
		font-size: 16px;
	}
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--price {
		gap: 8px;
		margin-top: 6px;
		font-size: 14px;
	}
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--price ins {
		padding: 4px 10px;
		font-size: 15px;
	}
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--time {
		margin-top: 6px;
		font-size: 12px;
	}
	#woosw_wishlist .woosw-items .woosw-item .woosw-item--actions {
		grid-column: 1 / -1;
	}
	#woosw_wishlist .woosw-item--atc .add_to_cart_button,
	#woosw_wishlist .woosw-item--atc .added_to_cart.wc-forward {
		width: 100% !important;
		height: 46px !important;
	}
	/* Footer stacks: "Clear Wishlist" above a full-width "Continue". */
	#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-bot {
		margin: 4px 18px 0;
		padding: 80px 0 18px;
	}
	#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-bot .woosw-popup-content-bot-inner a.woosw-continue {
		width: 100%;
		justify-content: center;
		height: 48px;
	}
	#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-top .woosw-empty {
		left: 18px;
		right: 18px;
		bottom: 78px;
		justify-content: center;
		height: 48px;
	}
	#woosw_wishlist .woosw-popup-inner .woosw-popup-content .woosw-popup-content-bot .woosw-notice {
		min-height: 147px;
		border-radius: 0 0 18px 18px;
	}
}

/* ---------- Checkout flow: step timeline, Review Order, Order Placed ----------
   Timeline markup: includes/checkout-steps.php. Review Order panel
   (.yeldam-review, "yr-" classes): checkoutReview in yeldam-woo-ui.js.
   Order Placed: templates/checkout/thankyou.php. */
.yeldam-checkout-steps,
.yeldam-review,
.yeldam-thankyou {
	--yf-green: var(--gotur-base, #24B24B);
	--yf-green-tint: color-mix(in srgb, var(--gotur-base, #24B24B) 9%, #fff);
	--yf-green-deep: color-mix(in srgb, var(--gotur-base, #24B24B) 70%, #0b3d1a);
	--yf-ink: var(--gotur-black, #1D231F);
	--yf-muted: #6B7280;
	--yf-line: #E6EAE7;
	font-family: var(--gotur-font, "Plus Jakarta Sans", sans-serif);
	color: var(--yf-ink);
}

/* Timeline. Sits where the checkout's top spacing (header clearance)
   used to start, so the checkout below it only needs a small gap. */
.yeldam-checkout-steps {
	max-width: 620px;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}
/* The theme wraps every page in ".section-space"; on all three steps
   (Delivery & Payment, Review Order, Order Placed) that is the only
   vertical spacing — exactly 100px above the timeline and below the
   content, at every screen width (the theme shrinks it on smaller screens,
   hence !important). The Review and Order Placed wrappers add no bottom
   margin of their own. */
.section-space:has(.yeldam-checkout-steps) {
	padding-top: 100px !important;
	padding-bottom: 100px !important;
}
.yeldam-checkout-steps ~ .wp-block-woocommerce-checkout .wc-block-checkout {
	padding-top: 24px !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
/* WooCommerce also pads the outer checkout block (24px above, 50px below),
   doubling the gaps under the timeline and above the footer. */
.yeldam-checkout-steps ~ .wp-block-woocommerce-checkout {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.yeldam-checkout-steps br,
.yeldam-checkout-steps p:empty {
	display: none;
}
.yeldam-checkout-steps__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}
.yeldam-checkout-steps__step {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 0;
	text-align: center;
}
/* Connector from the previous step's circle to this one. */
.yeldam-checkout-steps__step:not(:first-child)::before {
	content: "";
	position: absolute;
	top: 17px;
	right: calc(50% + 24px);
	width: calc(100% - 48px);
	height: 3px;
	border-radius: 3px;
	background: #E3E6E4;
	transition: background-color 0.3s ease;
}
.yeldam-checkout-steps__step.is-done::before,
.yeldam-checkout-steps__step.is-current::before {
	background: var(--yf-green);
}
.yeldam-checkout-steps__circle {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #E9ECEA;
	color: #6B7280;
	font-size: 15px;
	font-weight: 700;
	transition: background-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}
.yeldam-checkout-steps__step.is-current .yeldam-checkout-steps__circle {
	background: var(--yf-green);
	color: #fff;
	box-shadow: 0 0 0 5px var(--yf-green-tint);
}
.yeldam-checkout-steps__step.is-done .yeldam-checkout-steps__circle {
	background: var(--yf-green);
	color: #fff;
}
/* Completed steps show a tick instead of the number. */
.yeldam-checkout-steps__step.is-done .yeldam-checkout-steps__circle > span {
	visibility: hidden;
}
.yeldam-checkout-steps__step.is-done .yeldam-checkout-steps__circle::after {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 18px;
	height: 18px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.yeldam-checkout-steps__label {
	padding-bottom: 4px;
	border-bottom: 2px solid transparent;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--yf-muted);
}
.yeldam-checkout-steps__step.is-current .yeldam-checkout-steps__label {
	border-bottom-color: var(--yf-green);
	font-weight: 700;
	color: var(--yf-ink);
}
.yeldam-checkout-steps__step.is-done .yeldam-checkout-steps__label {
	color: var(--yf-ink);
}

/* Step 1: WooCommerce's Place Order reads "Continue to Review". */
body.yeldam-checkout-step-details .wc-block-checkout .wc-block-components-checkout-place-order-button__text[data-yeldam-step-label] {
	font-size: 0 !important;
}
body.yeldam-checkout-step-details .wc-block-checkout .wc-block-components-checkout-place-order-button__text[data-yeldam-step-label]::before {
	content: attr(data-yeldam-step-label);
	font-size: 17px;
}
body.yeldam-checkout-step-details .wc-block-checkout .wc-block-components-checkout-place-order-button__text[data-yeldam-step-label]::after {
	content: none !important;
}

/* Clicked while WooCommerce was still saving an address change — the
   review opens by itself once that finishes. */
body.yeldam-checkout-waiting .wc-block-checkout .wc-block-components-checkout-place-order-button {
	opacity: 0.75;
	cursor: progress;
}

/* Step 2: the checkout form stays mounted (hidden), the review shows. */
.yeldam-review {
	display: none;
}
body.yeldam-checkout-step-review .wp-block-woocommerce-checkout {
	display: none !important;
}
body.yeldam-checkout-step-review .yeldam-review {
	display: block;
	max-width: 720px;
	margin: 24px auto 0;
	padding: 0 15px;
	box-sizing: border-box;
	animation: yeldam-step-in 0.25s ease;
}
@keyframes yeldam-step-in {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: none; }
}
.yeldam-review .yr-icon {
	flex: none;
	width: 22px;
	height: 22px;
}
.yeldam-review .yr-card {
	margin: 0 0 14px;
	padding: 20px 22px;
	border: 1px solid var(--yf-line);
	border-radius: 16px;
	background: #fff;
}
.yeldam-review .yr-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 14px;
}
.yeldam-review .yr-card__head h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--yf-ink);
}
.yeldam-review .yr-edit {
	padding: 0;
	border: none;
	background: none;
	color: var(--yf-green);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.yeldam-review .yr-line {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0 0 12px;
}
.yeldam-review .yr-line:last-child {
	margin-bottom: 0;
}
.yeldam-review .yr-line > div,
.yeldam-review .yr-delivery > div {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
	font-size: 14px;
	line-height: 1.45;
	color: var(--yf-muted);
}
.yeldam-review .yr-strong {
	font-weight: 700;
	color: var(--yf-ink);
}
.yeldam-review .yr-line--payment .yr-icon {
	color: var(--yf-green);
	width: 30px;
	height: 30px;
}
.yeldam-review .yr-delivery {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 14px;
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--yf-green-tint);
}
.yeldam-review .yr-delivery .yr-icon {
	width: 30px;
	height: 30px;
	color: var(--yf-green);
}
.yeldam-review .yr-delivery em {
	margin-left: 6px;
	font-style: normal;
	font-weight: 600;
	color: var(--yf-muted);
}
.yeldam-review .yr-delivery em.is-free,
.yeldam-review .yr-prices .is-free {
	font-weight: 700;
	color: var(--yf-green);
	text-transform: uppercase;
}

/* Items. */
.yeldam-review .yr-item {
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr) auto;
	column-gap: 16px;
	align-items: start;
	padding: 22px 0;
	border-top: 1px solid #EDF0EE;
	transition: opacity 0.2s ease;
}
/* Many items: the list scrolls on its own past about three items, so the
   coupon row and the rest of the review stay close. Room at the top keeps
   the first item's quantity badge (which pokes above its image) unclipped. */
.yeldam-review .yr-items {
	max-height: min(460px, 60vh);
	overflow-y: auto;
	margin-bottom: 12px;
	margin-right: -10px;
	padding-right: 10px;
	scrollbar-width: thin;
	scrollbar-color: var(--gotur-border-color, #d9d9d9) transparent;
}
.yeldam-review .yr-items::-webkit-scrollbar {
	width: 6px;
}
.yeldam-review .yr-items::-webkit-scrollbar-thumb {
	background: var(--gotur-border-color, #d9d9d9);
	border-radius: 6px;
}
.yeldam-review .yr-items > .yr-item:first-child {
	border-top: none;
	padding-top: 12px;
}
.yeldam-review .yr-item.is-pending {
	opacity: 0.6;
}
.yeldam-review .yr-item__image {
	position: relative;
	width: 84px;
	height: 84px;
}
.yeldam-review .yr-item__image img {
	display: block;
	width: 84px;
	height: 84px;
	object-fit: cover;
	border-radius: 14px;
	box-shadow: 0 4px 12px rgba(29, 35, 31, 0.14);
}
.yeldam-review .yr-item__badge {
	position: absolute;
	top: -10px;
	right: -10px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 30px;
	height: 30px;
	padding: 0 7px;
	border: 3px solid #fff;
	border-radius: 999px;
	background: #1E8E3E;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}
.yeldam-review .yr-item__info {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}
.yeldam-review .yr-item__name {
	font-size: 17px;
	font-weight: 700;
	line-height: 22px;
	color: #1D231F;
}
.yeldam-review .yr-item__desc {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 14px;
	line-height: 20px;
	color: #6B7280;
}
/* Quantity stepper — same pill look as the rest of the site (see the
   cart drawer's ".yeldam-cart-item__qty"). */
.yeldam-review .yr-stepper {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 2px;
	box-sizing: border-box;
	height: 38px;
	margin-top: 4px;
	padding: 0 3px;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(29, 35, 31, 0.06);
}
.yeldam-review .yr-stepper__btn {
	position: relative;
	width: 30px;
	height: 30px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: background-color 0.15s ease, transform 0.1s ease;
}
.yeldam-review .yr-stepper__btn:hover:not(:disabled),
.yeldam-review .yr-stepper__btn:focus-visible {
	background: #E4F2DD;
}
.yeldam-review .yr-stepper__btn:active:not(:disabled) {
	transform: scale(0.92);
}
.yeldam-review .yr-stepper__btn:disabled {
	opacity: 0.45;
	cursor: not-allowed;
}
.yeldam-review .yr-stepper__btn::before,
.yeldam-review .yr-stepper__btn--plus::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 2px;
	border-radius: 2px;
	background: var(--yf-ink);
	transform: translate(-50%, -50%);
}
.yeldam-review .yr-stepper__btn--plus::after {
	transform: translate(-50%, -50%) rotate(90deg);
}
.yeldam-review .yr-stepper__value {
	min-width: 30px;
	text-align: center;
	font-size: 15px;
	font-weight: 700;
}
/* Same price stack as the Delivery & Payment step's Order Summary: line
   total, struck regular price, green "Save ₹X", 6px apart (fixed line
   heights, so the gaps don't vary). */
.yeldam-review .yr-item__prices {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
	text-align: right;
	white-space: nowrap;
}
.yeldam-review .yr-item__prices .yr-strong {
	font-size: 17px;
	font-weight: 700;
	line-height: 22px;
	color: #1D231F;
}
.yeldam-review .yr-item__prices del {
	font-size: 14px;
	line-height: 20px;
	color: #9CA3AF;
}
.yeldam-review .yr-save {
	padding: 5px 10px;
	border-radius: 8px;
	background: #E6F4EA;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	color: #1E7B34;
}
.yeldam-review .yr-item__remove {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin-top: 2px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: none;
	color: #9CA3AF;
	cursor: pointer;
	transition: color 0.15s ease, background-color 0.15s ease;
}
.yeldam-review .yr-item__remove:hover:not(:disabled) {
	background: #FDF1F0;
	color: #C0392B;
}
.yeldam-review .yr-item__remove .yr-icon {
	width: 20px;
	height: 20px;
}

/* Coupons. */
.yeldam-review .yr-coupon {
	margin-top: 8px;
	padding: 4px 14px;
	border-radius: 12px;
	background: var(--yf-green-tint);
}
.yeldam-review .yr-coupon__toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 10px 0;
	border: none;
	background: none;
	color: var(--yf-green);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	text-align: left;
	cursor: pointer;
}
.yeldam-review .yr-coupon__toggle span {
	flex: 1;
}
.yeldam-review .yr-coupon__toggle .yr-icon:last-child {
	width: 20px;
	height: 20px;
	transition: transform 0.2s ease;
}
.yeldam-review .yr-coupon.is-open .yr-coupon__toggle .yr-icon:last-child {
	transform: rotate(180deg);
}
.yeldam-review .yr-coupon__form {
	display: flex;
	gap: 10px;
	padding: 2px 0 12px;
}
.yeldam-review .yr-coupon__form input {
	flex: 1;
	min-width: 0;
	height: 46px;
	padding: 0 16px;
	border: 1px solid #DDE2DF;
	border-radius: 999px;
	background: #fff;
	font-family: inherit;
	font-size: 14px;
}
.yeldam-review .yr-coupon__form button {
	height: 46px;
	padding: 0 24px;
	border: none;
	border-radius: 999px;
	background: var(--yf-green);
	color: #fff;
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
}
.yeldam-review .yr-coupon__form button:disabled,
.yeldam-review .yr-coupon__form input:disabled {
	opacity: 0.6;
}
.yeldam-review .yr-coupon__error {
	margin: 0 0 12px;
	font-size: 13px;
	color: #C0392B;
}
.yeldam-review .yr-coupon__list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0 0 12px;
	list-style: none;
}
.yeldam-review .yr-coupon__list li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 6px 4px 12px;
	border: 1px dashed var(--yf-green);
	border-radius: 999px;
	background: #fff;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--yf-green);
}
.yeldam-review .yr-coupon__list button {
	width: 22px;
	height: 22px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: var(--yf-green-tint);
	color: var(--yf-green);
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

/* Price details. */
.yeldam-review .yr-prices {
	margin: 0 0 14px;
}
.yeldam-review .yr-prices > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 5px 0;
	font-size: 15px;
}
.yeldam-review .yr-prices dt {
	color: var(--yf-muted);
}
.yeldam-review .yr-prices dd {
	margin: 0;
	font-weight: 700;
	color: var(--yf-ink);
}
.yeldam-review .yr-prices .is-discount {
	color: var(--yf-green);
}
.yeldam-review .yr-total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 18px;
	border-radius: 12px;
	background: #EAF6EC;
	color: var(--yf-green);
}
.yeldam-review .yr-total span,
.yeldam-review .yr-total strong {
	font-size: 22px;
	font-weight: 700;
}

/* Place order + terms. */
.yeldam-review .yr-place-order {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 56px;
	margin: 6px 0 0;
	padding: 0 24px;
	border: none;
	border-radius: 999px;
	background: var(--yf-green);
	color: #fff;
	font-family: inherit;
	font-size: 17px;
	font-weight: 700;
	cursor: pointer;
	transition: opacity 0.2s ease;
}
.yeldam-review .yr-place-order:hover:not(:disabled) {
	opacity: 0.9;
}
.yeldam-review .yr-place-order:disabled {
	opacity: 0.75;
	cursor: progress;
}
.yeldam-review .yr-place-order .yr-icon {
	width: 20px;
	height: 20px;
}
.yeldam-review .yr-spinner {
	width: 18px;
	height: 18px;
	border: 2.5px solid rgba(255, 255, 255, 0.45);
	border-top-color: #fff;
	border-radius: 50%;
	animation: yeldam-spin 0.8s linear infinite;
}
@keyframes yeldam-spin {
	to { transform: rotate(360deg); }
}
.yeldam-review .yr-terms {
	max-width: 560px;
	margin: 14px auto 0;
	text-align: center;
	font-size: 13px;
	line-height: 1.5;
	color: var(--yf-muted);
	text-wrap: balance;
}
.yeldam-review .yr-terms * {
	text-wrap: balance;
}
.yeldam-review .yr-terms a {
	font-weight: 600;
	color: var(--yf-green);
	white-space: nowrap; /* never split a policy name across the two lines */
}
.yeldam-review .yr-alert {
	margin: 0 0 14px;
	padding: 14px 16px;
	border: 1px solid #F3C7C1;
	border-radius: 12px;
	background: #FDF1F0;
	font-size: 14px;
	font-weight: 600;
	color: #A93226;
}

/* ---------- Order Placed ---------- */
.yeldam-checkout-steps + .woocommerce {
	padding-top: 0;
}
.yeldam-thankyou {
	max-width: 720px;
	margin: 24px auto 0;
	padding: 0 15px;
	box-sizing: border-box;
}
.yeldam-thankyou .yeldam-icon {
	flex: none;
	width: 22px;
	height: 22px;
}
.yeldam-thankyou__card {
	margin: 0 0 14px;
	padding: 20px 22px;
	border: 1px solid var(--yf-line);
	border-radius: 16px;
	background: #fff;
}
.yeldam-thankyou__hero {
	margin: 0 0 22px;
	text-align: center;
}
.yeldam-thankyou__badge {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 112px;
	height: 112px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: var(--yf-green-tint);
	animation: yeldam-pop 0.45s cubic-bezier(0.2, 1.4, 0.4, 1) both;
}
@keyframes yeldam-pop {
	from { transform: scale(0.6); opacity: 0; }
	to { transform: none; opacity: 1; }
}
.yeldam-thankyou__tick {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background: var(--yf-green);
	color: #fff;
}
.yeldam-thankyou__tick .yeldam-icon {
	width: 40px;
	height: 40px;
	stroke-width: 3;
}
/* Confetti: one dot repeated with box-shadows around the badge. */
.yeldam-thankyou__confetti {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 7px;
	height: 7px;
	border-radius: 2px;
	background: transparent;
	box-shadow:
		-78px -34px 0 #F7B500, -64px 18px 0 #24B24B, -92px 6px 0 #4F7BF7,
		-50px -58px 0 #E5484D, 70px -40px 0 #24B24B, 88px 2px 0 #F7B500,
		64px 30px 0 #4F7BF7, 46px -64px 0 #9B59B6, -30px 60px 0 #F7B500,
		34px 62px 0 #E5484D;
	transform: rotate(12deg);
}
.yeldam-thankyou__title {
	margin: 0 0 6px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--yf-ink);
}
.yeldam-thankyou__subtitle {
	margin: 0;
	font-size: 15px;
	color: var(--yf-muted);
}
.yeldam-thankyou__card.yeldam-thankyou__order {
	padding: 0;
	overflow: hidden;
}
.yeldam-thankyou__order-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 16px 22px;
	background: var(--yf-green-tint);
}
.yeldam-thankyou__order-number {
	font-size: 18px;
	font-weight: 700;
	color: var(--yf-green);
}
.yeldam-thankyou__order-date {
	font-size: 14px;
	color: var(--yf-muted);
}
.yeldam-thankyou__order-note {
	margin: 0;
	padding: 12px 22px;
	text-align: center;
	font-size: 14px;
	color: var(--yf-muted);
}

/* Order status: Confirmed -> Preparing -> Out for Delivery -> Delivered. */
.yeldam-thankyou__status-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}
.yeldam-thankyou__status-step {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin: 0;
	text-align: center;
}
.yeldam-thankyou__status-step:not(:first-child)::before {
	content: "";
	position: absolute;
	top: 21px;
	right: calc(50% + 26px);
	width: calc(100% - 52px);
	border-top: 2px dashed #D5DAD7;
}
.yeldam-thankyou__status-step.is-done::before,
.yeldam-thankyou__status-step.is-current::before {
	border-top-style: solid;
	border-top-color: var(--yf-green);
}
.yeldam-thankyou__status-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 2px solid #D5DAD7;
	border-radius: 50%;
	background: #fff;
	color: #9CA3AF;
	box-sizing: border-box;
}
.yeldam-thankyou__status-step.is-done .yeldam-thankyou__status-icon {
	border-color: var(--yf-green);
	background: var(--yf-green);
	color: #fff;
}
.yeldam-thankyou__status-step.is-current .yeldam-thankyou__status-icon {
	border-color: var(--yf-green);
	background: var(--yf-green-tint);
	color: var(--yf-green);
}
.yeldam-thankyou__status-label {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--yf-muted);
}
.yeldam-thankyou__status-step.is-done .yeldam-thankyou__status-label,
.yeldam-thankyou__status-step.is-current .yeldam-thankyou__status-label {
	color: var(--yf-ink);
}
.yeldam-thankyou__status-step.is-done .yeldam-thankyou__status-label {
	color: var(--yf-green);
}
.yeldam-thankyou__status-time {
	font-size: 12px;
	color: var(--yf-muted);
}

/* Estimated delivery. */
.yeldam-thankyou__eta {
	display: flex;
	align-items: center;
	gap: 16px;
}
.yeldam-thankyou__eta-icon {
	display: flex;
	color: var(--yf-green);
}
.yeldam-thankyou__eta-icon .yeldam-icon {
	width: 40px;
	height: 40px;
}
.yeldam-thankyou__eta-text {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.yeldam-thankyou__eta-label {
	font-size: 14px;
	font-weight: 700;
	color: var(--yf-ink);
}
.yeldam-thankyou .yeldam-thankyou__eta-value {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--yf-green);
}
.yeldam-thankyou__eta-note {
	font-size: 13px;
	color: var(--yf-muted);
}

/* Order details. */
.yeldam-thankyou__details-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 10px;
}
.yeldam-thankyou__details-head h2 {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: var(--yf-ink);
}
.yeldam-thankyou__details-toggle {
	padding: 0;
	border: none;
	background: none;
	color: var(--yf-green);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.yeldam-thankyou__rows {
	margin: 0;
}
.yeldam-thankyou__rows > div {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 6px 0;
	font-size: 14px;
}
.yeldam-thankyou__rows dt {
	flex: none;
	color: var(--yf-muted);
}
.yeldam-thankyou__rows dd {
	margin: 0;
	text-align: right;
	font-weight: 600;
	color: var(--yf-ink);
}
.yeldam-thankyou__items {
	margin: 12px 0 0;
	padding: 12px 0 0;
	border-top: 1px solid var(--yf-line);
	list-style: none;
}
.yeldam-thankyou__products,
.yeldam-thankyou__summary {
	margin: 0;
	padding: 0;
	list-style: none;
}
/* Long orders: the product rows (56px each) scroll inside a fixed height of
   three and a half rows — the cut-off row shows there's more — so the
   totals underneath stay in view. */
.yeldam-thankyou__products {
	max-height: 196px;
	overflow-y: auto;
	overscroll-behavior: contain;
	padding-right: 6px;
	scrollbar-width: thin;
	scrollbar-color: #cfd8d3 transparent;
}
.yeldam-thankyou__products::-webkit-scrollbar {
	width: 6px;
}
.yeldam-thankyou__products::-webkit-scrollbar-thumb {
	background: #cfd8d3;
	border-radius: 3px;
}
.yeldam-thankyou__summary {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--yf-line);
}
.yeldam-thankyou__items li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 6px 0;
	font-size: 14px;
}
.yeldam-thankyou__item-image img {
	display: block;
	width: 44px;
	height: 44px;
	object-fit: cover;
	border-radius: 10px;
}
.yeldam-thankyou__item-name {
	flex: 1;
	min-width: 0;
	font-weight: 600;
}
.yeldam-thankyou__item-qty {
	font-weight: 400;
	color: var(--yf-muted);
}
.yeldam-thankyou__item-total {
	font-weight: 700;
	white-space: nowrap;
}
/* Product rows: weight under the name, struck regular price under the
   line total — the same greys as the cart and checkout. */
.yeldam-thankyou__item-weight {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	color: #6B7280;
}
.yeldam-thankyou__products .yeldam-thankyou__item-total {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	color: var(--yf-ink);
}
.yeldam-thankyou__products .yeldam-thankyou__item-total del {
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	color: #9CA3AF;
}
.yeldam-thankyou__items-total .yeldam-thankyou__item-name {
	font-weight: 400;
	color: var(--yf-muted);
}
.yeldam-thankyou__items-total.is-order_total .yeldam-thankyou__item-name,
.yeldam-thankyou__items-total.is-order_total .yeldam-thankyou__item-total {
	font-size: 16px;
	font-weight: 700;
	color: var(--yf-green);
}
/* WooCommerce's "(includes ₹X Tax)" after order totals (thank-you page,
   My Account orders, order-pay). Prices are shown tax-inclusive, so the
   design drops it; emails and admin don't load this stylesheet. */
small.includes_tax {
	display: none !important;
}

/* Buttons. */
.yeldam-thankyou__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}
.yeldam-thankyou__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	min-height: 48px;
	padding: 0 20px;
	border: 1px solid var(--yf-green);
	border-radius: 999px;
	background: #fff;
	color: var(--yf-green);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.15s ease, opacity 0.15s ease;
}
.yeldam-thankyou__btn:hover {
	background: var(--yf-green-tint);
	color: var(--yf-green);
}
/* Same as the site's other primary buttons: green pill, white text. The
   extra `.yeldam-thankyou a` specificity beats the theme's link colours,
   which otherwise turned this label black. */
.yeldam-thankyou a.yeldam-thankyou__btn--primary,
.yeldam-thankyou a.yeldam-thankyou__btn--primary:visited,
.yeldam-thankyou a.yeldam-thankyou__btn--primary:focus,
.yeldam-thankyou a.yeldam-thankyou__btn--primary:active {
	background: var(--yf-green);
	border-color: var(--yf-green);
	color: #fff;
}
.yeldam-thankyou a.yeldam-thankyou__btn--primary:hover {
	background: var(--yf-green);
	border-color: var(--yf-green);
	color: #fff;
	opacity: 0.9;
}
.yeldam-thankyou__btn .yeldam-icon {
	width: 18px;
	height: 18px;
}
.yeldam-thankyou__continue {
	grid-column: 1 / -1;
}
.yeldam-thankyou__track {
	flex: none;
}
.yeldam-thankyou__failed .woocommerce-notice {
	margin: 0 0 12px;
}
.yeldam-thankyou__failed .woocommerce-thankyou-order-failed-actions {
	display: flex;
	gap: 10px;
	margin: 0;
}
.yeldam-thankyou__extra:empty {
	display: none;
}

@media (max-width: 575px) {
	.yeldam-checkout-steps__label {
		font-size: 12px;
	}
	.yeldam-review .yr-card,
	.yeldam-thankyou__card {
		padding: 16px;
	}
	.yeldam-review .yr-item {
		grid-template-columns: 64px minmax(0, 1fr);
		row-gap: 6px;
	}
	/* The image spans both lines, so the prices follow the name/weight
	   6px below instead of waiting for the (taller) image to end. */
	.yeldam-review .yr-item__image {
		grid-row: 1 / span 2;
	}
	.yeldam-review .yr-item__image,
	.yeldam-review .yr-item__image img {
		width: 64px;
		height: 64px;
	}
	/* Same phone sizes as the Delivery & Payment summary. */
	.yeldam-review .yr-item {
		padding: 18px 0;
	}
	.yeldam-review .yr-item__name,
	.yeldam-review .yr-item__prices .yr-strong {
		font-size: 15px;
		line-height: 20px;
	}
	.yeldam-review .yr-item__desc,
	.yeldam-review .yr-item__prices del {
		font-size: 13px;
		line-height: 18px;
	}
	.yeldam-review .yr-save {
		padding: 3px 8px;
		font-size: 12px;
	}
	/* Prices move under the item on phones. */
	.yeldam-review .yr-item__prices {
		grid-column: 2;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: flex-start;
		gap: 8px;
	}
	.yeldam-review .yr-item__remove {
		margin: 0 0 0 auto;
	}
	.yeldam-review .yr-total span,
	.yeldam-review .yr-total strong {
		font-size: 19px;
	}
	.yeldam-thankyou__title {
		font-size: 23px;
	}
	.yeldam-thankyou__eta {
		flex-wrap: wrap;
	}
	.yeldam-thankyou__track {
		width: 100%;
	}
	.yeldam-thankyou__actions {
		grid-template-columns: minmax(0, 1fr);
	}
	.yeldam-thankyou__status-label {
		font-size: 11px;
	}
	.yeldam-thankyou__status-icon {
		width: 38px;
		height: 38px;
	}
	.yeldam-thankyou__status-step:not(:first-child)::before {
		top: 18px;
		right: calc(50% + 22px);
		width: calc(100% - 44px);
	}
}

/* Cart/checkout: hide WooCommerce's "Including X in taxes" note under the total. */
.wc-block-components-totals-footer-item-tax {
	display: none !important;
}

/* Guest-only store: no "You are currently checking out as a guest." line
   under the email field (see includes/guest-only.php). */
.wc-block-checkout__guest-checkout-notice {
	display: none !important;
}

/* ------------------------------------------------------------------
   Razorpay payment page (order-pay) — see the "Razorpay payment page"
   block in yeldam-woo-ui.js. The Razorpay plugin's markup is unstyled
   (bullet list, grey bar, browser-default buttons); it becomes one card,
   and the post-payment "processing" bar a full-screen overlay.
   ------------------------------------------------------------------ */
body.woocommerce-order-pay .woocommerce.yeldam-pay {
	max-width: 520px;
	margin: 0 auto;
	padding: 32px 28px 28px;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(29, 35, 31, 0.06);
	text-align: center;
}
.yeldam-pay__title {
	margin: 0 0 8px;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--gotur-black, #1D231F);
}
.yeldam-pay__subtitle {
	margin: 0 0 22px;
	font-size: 15px;
	color: var(--gotur-text, #595959);
}
.yeldam-pay .yeldam-pay__gateway-note {
	display: none;
}
body.woocommerce-order-pay .yeldam-pay ul.order_details {
	display: block;
	margin: 0 0 24px;
	padding: 6px 18px;
	list-style: none;
	border-radius: 14px;
	background: var(--gotur-gray, #F6F7F5);
	text-align: left;
}
body.woocommerce-order-pay .yeldam-pay ul.order_details li {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	float: none;
	margin: 0;
	padding: 12px 0;
	border: none;
	border-bottom: 1px solid var(--gotur-border-color, #E5E5E5);
	font-size: 14px;
	text-transform: none;
	color: var(--gotur-text, #595959);
}
body.woocommerce-order-pay .yeldam-pay ul.order_details li:last-child {
	border-bottom: none;
}
body.woocommerce-order-pay .yeldam-pay ul.order_details li strong {
	display: inline;
	font-size: 15px;
	font-weight: 600;
	text-align: right;
	color: var(--gotur-black, #1D231F);
}
body.woocommerce-order-pay .yeldam-pay ul.order_details li.total strong {
	font-size: 18px;
	font-weight: 700;
	color: var(--gotur-base, #63AB45);
}
body.woocommerce-order-pay .yeldam-pay p:has(> #btn-razorpay) {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 0;
}
body.woocommerce-order-pay .yeldam-pay #btn-razorpay {
	width: 100%;
	min-height: 52px;
	padding: 0 24px;
	border: none;
	border-radius: 999px;
	background: var(--gotur-base, #63AB45);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	transition: opacity 0.2s ease;
}
body.woocommerce-order-pay .yeldam-pay #btn-razorpay:hover {
	opacity: 0.9;
}
body.woocommerce-order-pay .yeldam-pay #btn-razorpay[disabled] {
	opacity: 0.55;
	cursor: wait;
}
body.woocommerce-order-pay .yeldam-pay #btn-razorpay-cancel {
	padding: 6px 12px;
	border: none;
	background: none;
	color: var(--gotur-text, #595959);
	font-size: 14px;
	font-weight: 500;
	text-decoration: underline;
	cursor: pointer;
}
body.woocommerce-order-pay .yeldam-pay #btn-razorpay-cancel[disabled] {
	opacity: 0.4;
	cursor: default;
}

/* Waiting state: shown by Razorpay's script (inline display:block) once the
   payment succeeded, while the site confirms it and loads the success page. */
body.woocommerce-order-pay #msg-razorpay-success[style*="block"] {
	position: fixed !important;
	inset: 0;
	z-index: 100000;
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 !important;
	padding: 24px !important;
	border: none !important;
	background: #fff !important;
	text-align: center;
	font-size: 15px;
	color: var(--gotur-text, #595959);
}
body.woocommerce-order-pay #msg-razorpay-success::before {
	display: none !important;
}
body.woocommerce-order-pay #msg-razorpay-success strong {
	font-size: 22px;
	font-weight: 700;
	color: var(--gotur-black, #1D231F);
}
.yeldam-pay__spinner {
	width: 46px;
	height: 46px;
	margin-bottom: 10px;
	border: 4px solid color-mix(in srgb, var(--gotur-base, #63AB45) 20%, transparent);
	border-top-color: var(--gotur-base, #63AB45);
	border-radius: 50%;
	animation: yeldam-pay-spin 0.8s linear infinite;
}
@keyframes yeldam-pay-spin {
	to { transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
	.yeldam-pay__spinner { animation-duration: 2.4s; }
}
@media (max-width: 575px) {
	body.woocommerce-order-pay .woocommerce.yeldam-pay {
		padding: 24px 18px 20px;
		border-radius: 16px;
	}
	.yeldam-pay__title { font-size: 22px; }
}

/* "Customer cancelled the payment" / "Payment Failed." as a toast (built
   by showPayNoticeToast() in yeldam-woo-ui.js) instead of the theme's
   green notice bar. */
.yeldam-toast {
	position: fixed;
	top: 24px;
	right: 24px;
	z-index: 100001;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	width: min(380px, calc(100vw - 32px));
	padding: 14px 14px 14px 16px;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-left: 4px solid #E5484D;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(29, 35, 31, 0.14);
	font-family: var(--gotur-font, "Plus Jakarta Sans", sans-serif);
	text-align: left;
	opacity: 0;
	transform: translateY(-12px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}
.yeldam-toast.is-visible {
	opacity: 1;
	transform: none;
}
.yeldam-toast__icon {
	flex: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #FDECEC;
	color: #E5484D;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}
.yeldam-toast__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.yeldam-toast__title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	color: var(--gotur-black, #1D231F);
}
.yeldam-toast__text {
	font-size: 13.5px;
	line-height: 1.4;
	color: var(--gotur-text, #595959);
}
.yeldam-toast .yeldam-toast__close {
	flex: none;
	width: 24px;
	height: 24px;
	margin: -2px -2px 0 0;
	padding: 0;
	border: none;
	border-radius: 6px;
	background: none;
	color: #9CA3AF;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}
.yeldam-toast .yeldam-toast__close:hover {
	background: #F3F4F6;
	color: var(--gotur-black, #1D231F);
}
@media (max-width: 575px) {
	.yeldam-toast {
		top: 16px;
		right: 16px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.yeldam-toast { transition: none; }
}

/* Checkout with an empty cart (WooCommerce block's "Your cart is currently
   empty!" + "Browse products"). Core gives the link height:100% inside an inline
   <span>, so it stretches to the whole empty-state box (~270px) and the
   9999px radius turns it into a giant green dome. Make it a normal pill. */
/* Stack icon, title, text and button on one centred axis — the description
   <p> was picking up inherited margins/width and sitting off to the left. */
.wp-block-woocommerce-checkout .wc-block-checkout-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	padding: 48px 16px 64px;
	box-sizing: border-box;
	text-align: center;
}
.wp-block-woocommerce-checkout .wc-block-checkout-empty .wc-block-checkout-empty__image {
	margin: 0 auto 20px;
}
.wp-block-woocommerce-checkout .wc-block-checkout-empty .wc-block-checkout-empty__title {
	font-size: 20px;
	line-height: 1.3;
	color: var(--gotur-black, #1D231F);
}
/* The timeline has nothing to track with an empty cart (it can still be on
   the page when the last item is removed without a reload). */
.yeldam-checkout-steps:has(~ .wp-block-woocommerce-checkout .wc-block-checkout-empty) {
	display: none;
}
@media (max-width: 575px) {
	.wp-block-woocommerce-checkout .wc-block-checkout-empty {
		padding: 32px 0 48px;
	}
	.wp-block-woocommerce-checkout .wc-block-checkout-empty .wc-block-checkout-empty__image {
		max-width: 96px;
		height: auto;
	}
	.wp-block-woocommerce-checkout .wc-block-checkout-empty .wc-block-checkout-empty__title {
		font-size: 18px;
	}
}
.wc-block-checkout-empty .wp-block-button {
	display: block;
	margin-top: 24px;
}
.wc-block-checkout-empty .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: auto;
	min-height: 48px;
	padding: 0 32px;
	border-radius: 999px;
	background: var(--gotur-base, #63AB45);
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
}
.wc-block-checkout-empty .wp-block-button__link:hover {
	opacity: 0.9;
	color: #fff;
}
.wp-block-woocommerce-checkout .wc-block-checkout-empty p.wc-block-checkout-empty__description {
	position: static;
	float: none;
	width: 100%;
	max-width: 520px;
	margin: 10px auto 0;
	padding: 0;
	text-indent: 0;
	transform: none;
	text-align: center;
	font-size: 16px;
	line-height: 1.6;
	color: var(--gotur-text, #595959);
}
@media (max-width: 575px) {
	.wp-block-woocommerce-checkout .wc-block-checkout-empty p.wc-block-checkout-empty__description {
		font-size: 15px;
	}
	.wc-block-checkout-empty .wp-block-button__link {
		min-height: 44px;
		padding: 0 28px;
		font-size: 15px;
	}
}

/* ---------- Site header (Elementor template 5176) ----------
   Two variants: e270d94 (desktop + tablet: logo / menu 7475dbc / cart 6bb2425)
   and bca44c6 (mobile: logo / cart 3fbfbe0 / hamburger menu 48d5c61).
   Selectors lead with ".elementor.elementor-5176" so they outrank the
   template's generated post CSS whatever order the two files load in. */

/* Cart button: Elementor gives it uneven padding (20/20/10/15), which pushes
   the icon off-centre inside its circle. Fixed square, icon centred. */
.elementor.elementor-5176 .elementor-element.elementor-element-6bb2425 > .elementor-widget-container,
.elementor.elementor-5176 .elementor-element.elementor-element-3fbfbe0 > .elementor-widget-container {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	padding: 0;
	margin: 0;
	border-radius: 50%;
	box-sizing: border-box;
}
.elementor.elementor-5176 .elementor-element.elementor-element-6bb2425 .yeldam-cart-widget,
.elementor.elementor-5176 .elementor-element.elementor-element-3fbfbe0 .yeldam-cart-widget {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.elementor.elementor-5176 .yeldam-cart-widget__count {
	top: -2px;
	right: -2px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

/* "Products" is a parent-only item (no link, just opens FMCG / Store
   Products), so it shouldn't look like a text field or a dead link. */
.elementor.elementor-5176 .eael-simple-menu li.menu-item-has-children > a:not([href]) {
	cursor: pointer;
	user-select: none;
}

/* Desktop (≥1025px): "Products" opens the Elementor mega menu
   (.products-mega-menu, via the HFCM "Mega Menu" snippet and its
   .products-menu-trigger class), so its plain FMCG/Store dropdown and arrow
   are hidden there. Tablet/mobile have no mega menu and keep the dropdown. */
@media (min-width: 1025px) {
	.elementor.elementor-5176 .elementor-element.elementor-element-7475dbc .eael-simple-menu li.products-menu-trigger > ul.sub-menu,
	.elementor.elementor-5176 .elementor-element.elementor-element-7475dbc .eael-simple-menu li.products-menu-trigger > .eael-simple-menu-indicator {
		display: none !important;
	}
}

/* Products dropdown (desktop/tablet): EAEL's default is faded 13px text on
   40px line-height rows with a cyan outline; match the header instead. */
.elementor.elementor-5176 .elementor-element.elementor-element-7475dbc .eael-simple-menu.eael-simple-menu-horizontal li ul {
	width: 220px;
	padding: 6px 0;
	border: 0;
	border-radius: 0 0 10px 10px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
	overflow: hidden;
}
.elementor.elementor-5176 .elementor-element.elementor-element-7475dbc .eael-simple-menu.eael-simple-menu-horizontal li ul li > a {
	padding: 12px 20px;
	border: 0;
	background: transparent;
	color: var(--gotur-black, #1D231F);
	font-family: var(--e-global-typography-primary-font-family), sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
}
.elementor.elementor-5176 .elementor-element.elementor-element-7475dbc .eael-simple-menu.eael-simple-menu-horizontal li ul li:hover > a,
.elementor.elementor-5176 .elementor-element.elementor-element-7475dbc .eael-simple-menu.eael-simple-menu-horizontal li ul li.current-menu-item > a {
	color: var(--e-global-color-primary, #24B24B);
	background: #f3faf5;
}

/* Tablet: tapping "Products" (or its arrow) opens the dropdown — see the
   header-menu block at the end of yeldam-woo-ui.js. Hover alone can't, on
   touch screens. */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor.elementor-5176 .elementor-element.elementor-element-7475dbc .eael-simple-menu.eael-simple-menu-horizontal li.yeldam-submenu-open > ul {
		display: block !important;
		visibility: visible;
		opacity: 1;
		transform: none;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-7475dbc .eael-simple-menu li.menu-item-has-children > a:not([href]):focus-visible {
		outline: 2px solid var(--e-global-color-primary, #24B24B);
		outline-offset: 2px;
		border-radius: 6px;
	}
}

/* Menu: EAEL gives its container min-height:50px but the link row is shorter
   on tablet, so the links sat at the top, above the logo/cart centre line. */
.elementor.elementor-5176 .elementor-element.elementor-element-7475dbc .eael-simple-menu-container {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Tablet (768–1024): same 80px bar height as desktop, and breathing room
   between the links (Elementor's 5px padding ran them together). */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor.elementor-5176 .elementor-element.elementor-element-e270d94 {
		--padding-top: 10px;
		--padding-bottom: 10px;
		--padding-left: 20px;
		--padding-right: 20px;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-6e58e70 {
		--width: auto;
		flex: 0 0 auto;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-c61d62f img {
		width: 110px;
		max-width: 100%;
		height: auto;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-3f87ee7 {
		--width: auto;
		flex: 1 1 auto;
		min-width: 0;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-090dc5d {
		--width: auto;
		flex: 0 0 auto;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-7475dbc .eael-simple-menu.eael-simple-menu-horizontal > li > a {
		padding: 8px 12px;
		font-size: 15px;
		line-height: 20px;
	}
}
@media (min-width: 768px) and (max-width: 860px) {
	.elementor.elementor-5176 .elementor-element.elementor-element-7475dbc .eael-simple-menu.eael-simple-menu-horizontal > li > a {
		padding: 8px 8px;
		font-size: 14px;
	}
}

/* Mobile (≤767): logo on the left, cart + hamburger grouped on the right at
   the same 44px size. The template's fixed percentage widths (55/24/20%)
   left a wide uneven gap and an oversized logo between 480 and 767px. */
@media (max-width: 767px) {
	.elementor.elementor-5176 .elementor-element.elementor-element-bca44c6 {
		--padding-top: 10px;
		--padding-bottom: 10px;
		--padding-left: 16px;
		--padding-right: 16px;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-bca44c6 > .e-con-inner {
		flex-wrap: nowrap;
		align-items: center;
		gap: 10px;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-99e8ebd {
		--width: auto;
		flex: 1 1 auto;
		min-width: 0;
		--justify-content: flex-start;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-6bf8c62 img {
		width: 120px;
		max-width: 100%;
		height: auto;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-e77c6e6,
	.elementor.elementor-5176 .elementor-element.elementor-element-9b30877 {
		--width: auto;
		flex: 0 0 auto;
		--justify-content: center;
		--align-items: center;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-3fbfbe0 > .elementor-widget-container {
		width: 44px;
		height: 44px;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-3fbfbe0 .yeldam-cart-widget__icon i {
		font-size: 20px;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu-container {
		min-height: 44px;
	}
	/* EAEL's current-page label is absolutely positioned over the button
	   (catching taps, and showing a clipped "Hom"); the panel itself drops
	   from the bottom edge of the 64px bar (container + 10px bar padding). */
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu-toggle-text {
		display: none;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu-container > nav {
		top: 0;
		z-index: 999;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu-container > nav > .eael-simple-menu.eael-simple-menu-responsive {
		top: 54px;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu-container .eael-simple-menu-toggle {
		position: static;
		left: auto;
		transform: none;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border-radius: 12px;
	}

	/* Open hamburger panel: white sheet, dark left-aligned links, compact
	   rows (was white text on pale green, right-aligned, 70px rows). */
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu.eael-simple-menu-responsive {
		background: #fff;
		box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
		border-top: 1px solid rgba(0, 0, 0, 0.06);
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu.eael-simple-menu-responsive li > a {
		display: block;
		padding: 14px 20px;
		background-color: #fff;
		color: var(--gotur-black, #1D231F);
		font-family: var(--e-global-typography-primary-font-family), sans-serif;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.4;
		/* !important: EAEL's ".eael-hamburger-right li a" forces right. */
		text-align: left !important;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu.eael-simple-menu-responsive > li:not(:last-child) > a {
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	}
	/* Products submenu: expand arrow on the right (EAEL's "hamburger-right"
	   puts it on the left, over the label), children indented on a tint. */
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu.eael-simple-menu-responsive li .eael-simple-menu-indicator {
		left: auto !important;
		right: 16px !important;
		top: 11px;
		border: 1px solid rgba(0, 0, 0, 0.12);
		border-radius: 8px;
		background: #fff;
		color: var(--gotur-black, #1D231F);
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu.eael-simple-menu-responsive li .eael-simple-menu-indicator i,
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu.eael-simple-menu-responsive li .eael-simple-menu-indicator:before {
		color: var(--gotur-black, #1D231F);
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu.eael-simple-menu-responsive li ul {
		border: 0;
		background: #f8faf9;
		box-shadow: none;
	}
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu.eael-simple-menu-responsive li ul li > a {
		padding: 12px 20px 12px 36px;
		border: 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
		background-color: transparent;
		font-size: 15px;
	}
	/* current-menu-ancestor: "Products" on the FMCG / Store Products pages,
	   which EAEL's hamburger preset otherwise turns white (on white). */
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu.eael-simple-menu-responsive li:hover > a,
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu.eael-simple-menu-responsive li.current-menu-item > a,
	.elementor.elementor-5176 .elementor-element.elementor-element-48d5c61 .eael-simple-menu.eael-simple-menu-responsive li.current-menu-ancestor > a {
		color: var(--e-global-color-primary, #24B24B) !important;
		background-color: #f3faf5;
	}
}
@media (max-width: 359px) {
	.elementor.elementor-5176 .elementor-element.elementor-element-6bf8c62 img {
		width: 104px;
	}
}

/* ---------- Store Products page (6824): category tabs + "We are available on" ----------
   The tabs widget (deca189) is pulled up by a -60px margin onto the same
   row as the Zomato / Swiggy / Toing logos (container 943ff4d), and both
   sit at z-index 100 — so the tab bar's empty full-width strip covered the
   logo links, and raising the logos covered the tabs instead. Clicks now
   pass through the tab widget everywhere except the tab buttons and the
   tab content, so both are clickable on the same line. */
.elementor-6824 .elementor-element-deca189,
.elementor-6824 .elementor-element-deca189 > .e-n-tabs,
.elementor-6824 .elementor-element-deca189 .e-n-tabs-heading {
	pointer-events: none;
}
.elementor-6824 .elementor-element-deca189 .e-n-tab-title,
.elementor-6824 .elementor-element-deca189 .e-n-tabs-content {
	pointer-events: auto;
}

/* ---------- Gotur "About" widget (layout one) ----------
   The widget pairs a col-lg-6 image column with a col-lg-6 text column.
   With no image set, the image column isn't printed but the text column
   keeps its half width, leaving the right half of the section empty. When
   the text column is alone in its row, let it take the full width. */
.about-two--two > .container > .row > .col-lg-6:only-child {
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
}

/* ---------- Section taglines in Poppins ----------
   The Gotur theme's small pill above section titles ("Quick Commerce",
   ".sec-title__tagline") uses its handwritten second font (Just Another
   Hand, 20px). Shown in Poppins instead — loaded site-wide in
   includes/assets.php — at a size suited to it. "body" outranks the
   theme's rule and its phone size; a font set on a single widget in
   Elementor still wins. */
body .sec-title__tagline {
	font-family: "Poppins", sans-serif;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.2px;
}

/* ---------- Blog listing (Blogs page, categories, archives) ----------
   The theme's "Our Blog" page header is hidden site-wide (Customizer
   CSS), but .section-space still adds its 100px/80px top padding meant
   to sit below it, leaving an empty band under the site header. Phones
   also get the theme's 30px card padding and 30px titles, which squeezed
   the content to ~300px and wrapped titles over 4–5 lines. */
.blog-page.section-space {
	padding: 48px 0 80px;
}
@media (max-width: 991px) {
	.blog-page .blog-card-two__title {
		font-size: 26px;
	}
}
@media (max-width: 575px) {
	.blog-page.section-space {
		padding: 24px 0 56px;
	}
	.blog-page .blog-card-two {
		padding: 16px;
	}
	.blog-page .blog-card-two__image {
		margin-bottom: 18px;
	}
	.blog-page .blog-card-two__title {
		font-size: 22px;
		line-height: 1.25;
	}
	.blog-page .blog-card-two__text {
		margin-bottom: 18px;
	}
}

/* ---------- "Add" buttons and the quantity stepper that replaces them ----------
   Every Add button (product cards, Elementor Add to Cart widget, wishlist
   popup, product page) shows "Add" with the cart icon on the right; once
   its product is in the cart, syncSteppers() in yeldam-woo-ui.js hides it
   and inserts a − qty + stepper (.yeldam-atc-stepper) right after it. */
.ypw-atc .ypw-atc__button--icon::before,
.product__item .product__add-to-cart .add_to_cart_button::before,
.yeldam-pdp .thm-btn.cart-btn::before,
#woosw_wishlist .woosw-item--atc .add_to_cart_button::before {
	order: 2;
}

/* Same look as the cart drawer's stepper (".yeldam-cart-item__qty"): white
   pill with a light border and soft shadow, plain −/+ (light-green circle
   on hover) and a bold count — compact, not stretched to the button's
   width, and as tall as the Add button it replaces so nothing shifts. */
.yeldam-atc-stepper {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: space-between; /* − and + at the ends when sized to the Add button's width (JS). */
	gap: 2px;
	/* Never narrower than − qty + need (so + can't spill out of the pill),
	   whatever width the Add button had. */
	min-width: 104px;
	max-width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 5px;
	background: #fff;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 999px;
	box-shadow: 0 2px 10px rgba(29, 35, 31, 0.06);
	color: #1D231F;
	font-family: var(--gotur-font, "Plus Jakarta Sans", sans-serif);
	-webkit-user-select: none;
	user-select: none;
}
.yeldam-atc-stepper__qty {
	flex: 1 1 auto;
	min-width: 22px;
	text-align: center;
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	color: #1D231F;
}
/* − / + are always perfect circles sized from the pill's height (75% of
   it: 36px in the 48px pill, 33px in the 44px one), so they scale with
   every stepper size without changing shape. */
.yeldam-atc-stepper .yeldam-atc-stepper__btn {
	position: relative;
	flex: none;
	height: 75%;
	width: auto;
	aspect-ratio: 1 / 1;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0 !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #1D231F !important;
	font-size: 0;
	cursor: pointer;
	transition: background-color 0.15s ease, transform 0.1s ease;
}
.yeldam-atc-stepper .yeldam-atc-stepper__btn:hover,
.yeldam-atc-stepper .yeldam-atc-stepper__btn:focus-visible {
	background: #E4F2DD !important;
}
.yeldam-atc-stepper .yeldam-atc-stepper__btn:focus-visible {
	outline: 2px solid var(--gotur-base, #24B24B);
	outline-offset: 1px;
}
.yeldam-atc-stepper .yeldam-atc-stepper__btn:active:not(:disabled) {
	transform: scale(0.92);
}
.yeldam-atc-stepper .yeldam-atc-stepper__btn:disabled {
	opacity: 0.35;
	cursor: default;
	background: transparent !important;
}
/* Empty-drawer bestseller "+ Add": shown as added instantly, no wait look. */
.yeldam-mini-product__add.is-added:disabled {
	opacity: 1;
	cursor: default;
}
/* − and + drawn as bars (same as the drawer), centred in any font. */
.yeldam-atc-stepper__btn::before,
.yeldam-atc-stepper__btn--plus::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 38%; /* Scales with the circle. */
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transform: translate(-50%, -50%);
}
.yeldam-atc-stepper__btn--plus::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

/* Height of the Add button it replaces, per place. */
.yeldam-pdp form.cart .yeldam-atc-stepper {
	flex: none;
	height: 44px;
}
.woosw-item--atc .yeldam-atc-stepper {
	height: 44px;
}

/* ---------- Buttons: one size and shape across the site ----------
   Every button — theme (.gotur-btn / .thm-btn), Elementor, WooCommerce,
   checkout, order tracking, wishlist, contact forms and this plugin's
   own — uses the same pill shape, padding, height and type as the "Add"
   buttons. Small inline buttons (coupon "Apply", "+ Add" on mini product
   cards) use the same pill at a compact size. Only size/shape/type are
   set here; colours, widths and hidden states stay as each button has
   them (no display/width overrides, so inline display:none still hides). */
:root {
	--yeldam-btn-height: 48px;
	--yeldam-btn-pad-x: 28px;
	--yeldam-btn-radius: 999px;
	--yeldam-btn-font: 15px;
	--yeldam-btn-sm-height: 36px;
	--yeldam-btn-sm-pad-x: 16px;
	--yeldam-btn-sm-font: 13px;
}
body .gotur-btn,
body .thm-btn,
body .elementor-button,
body .yeldam-btn,
body .ypw-atc .ypw-atc__button,
body .yeldam-pdp .thm-btn.cart-btn,
body .wc-block-components-button.wc-block-components-checkout-place-order-button,
body .yeldam-review .yr-place-order,
body .yeldam-thankyou .yeldam-thankyou__btn,
body .yot-lookup-submit,
body .wpcf7-submit,
body .wp-block-button__link,
body .wp-block-search__button,
body .woocommerce a.button,
body .woocommerce button.button,
body .woocommerce input.button,
body .woosw-item--atc .add_to_cart_button,
body #woosw_wishlist .woosw-item--atc .add_to_cart_button {
	box-sizing: border-box;
	min-height: var(--yeldam-btn-height) !important;
	height: auto !important;
	padding: 0 var(--yeldam-btn-pad-x) !important;
	border-radius: var(--yeldam-btn-radius) !important;
	font-size: var(--yeldam-btn-font) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
	align-items: center;
	justify-content: center;
}
/* Inline-level ones need a box for min-height to apply. */
body .elementor-button,
body .wp-block-button__link,
body .woocommerce a.button {
	display: inline-flex;
}
/* The theme's hover "sweep" pseudo-elements follow the pill. */
body .gotur-btn::before,
body .gotur-btn::after,
body .thm-btn::after {
	border-radius: inherit;
}

body .yeldam-mini-product__add,
body .yeldam-cart-coupon__apply,
body .yeldam-review .yr-coupon__form button {
	box-sizing: border-box;
	height: var(--yeldam-btn-sm-height) !important;
	padding: 0 var(--yeldam-btn-sm-pad-x) !important;
	border-radius: var(--yeldam-btn-radius) !important;
	font-size: var(--yeldam-btn-sm-font) !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

/* The quantity stepper that replaces an Add button keeps its height. */
.yeldam-pdp form.cart .yeldam-atc-stepper,
.woosw-item--atc .yeldam-atc-stepper {
	height: var(--yeldam-btn-height);
}
/* Theme buttons are inline-block with line-height:normal; flex keeps the
   label centred in the shared height. Those with the theme's round arrow
   icon (".icon", absolutely placed at the right) keep room for it, and the
   40px icon sits inside the 48px pill. */
body .gotur-btn {
	display: inline-flex;
}
body .gotur-btn:has(> .icon) {
	padding-right: 52px !important;
	padding-left: 24px !important;
}
body .gotur-btn > .icon {
	top: 4px;
	right: 4px;
	bottom: auto;
	width: 40px;
	height: 40px;
}

/* Sale prices: WooCommerce wraps the current price in <ins>, and the theme
   gives every <ins> a yellow highlighter background (#fff9c0) — prices are
   shown plain everywhere instead. */
body ins {
	background: transparent;
	text-decoration: none;
}

/* ---------- Blog sidebar (includes/blog-sidebar.php) ----------
   Compact "Search Articles" and "Recent Articles" cards, styled like the
   blog post cards beside them (white, 1px border, 16px radius) with the
   site's green pill button, black headings and grey meta text. The theme
   wraps each widget in a grey box with 50px padding and styles widget
   headings, list items, links and search fields ("widget_block h2",
   "widget_recent_entries ul li", "a::after" chevrons, a 60px borderless
   search field) — all reset here, hence the ".sidebar .widget" prefixes. */
.sidebar .sidebar__single:has(.yeldam-side-card) {
	padding: 0;
	background: transparent;
	border-radius: 0;
}
.yeldam-side-card {
	padding: 18px 20px;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 16px;
	background: var(--gotur-white, #fff);
	font-family: var(--gotur-font, "Plus Jakarta Sans", sans-serif);
}
.sidebar .widget .yeldam-side-card h2.yeldam-side-card__title {
	margin: 0;
	padding: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	text-transform: none;
	color: var(--gotur-black, #1D231F);
}
.sidebar .widget .yeldam-side-card h2.yeldam-side-card__title::after {
	content: none;
}

/* Search */
.yeldam-side-search__form {
	display: flex;
	gap: 8px;
	margin-top: 12px;
}
.yeldam-side-search__field {
	position: relative;
	flex: 1;
	min-width: 0;
}
.yeldam-side-search__icon {
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	color: var(--gotur-text, #595959);
	pointer-events: none;
}
.sidebar .widget .yeldam-side-search__field input[type="search"] {
	width: 100%;
	height: 44px;
	margin: 0;
	padding: 0 14px 0 40px;
	border: 1px solid var(--gotur-border-color, #E5E5E5);
	border-radius: 999px;
	background: var(--gotur-white, #fff);
	font-family: inherit;
	font-size: 14px;
	color: var(--gotur-black, #1D231F);
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.sidebar .widget .yeldam-side-search__field input[type="search"]::placeholder {
	color: #8a8f8c;
}
.sidebar .widget .yeldam-side-search__field input[type="search"]:focus {
	border-color: var(--e-global-color-primary, #24B24B);
	box-shadow: 0 0 0 3px rgba(36, 178, 75, 0.15);
}
.yeldam-side-search__btn {
	flex: none;
	height: 44px;
	padding: 0 20px;
	border: 0;
	border-radius: 999px;
	background: var(--e-global-color-primary, #24B24B);
	font-family: inherit;
	font-size: 14px;
	font-weight: 700;
	color: var(--gotur-white, #fff);
	cursor: pointer;
	transition: background-color 0.2s ease;
}
.yeldam-side-search__btn:hover,
.yeldam-side-search__btn:focus-visible {
	background: var(--gotur-black, #1D231F);
}

/* Recent articles */
.yeldam-side-recent__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 4px;
}
.sidebar .widget .yeldam-side-recent__all {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--e-global-color-primary, #24B24B);
	white-space: nowrap;
}
.sidebar .widget .yeldam-side-recent__all:hover {
	color: var(--gotur-black, #1D231F);
}
.sidebar .widget ul.yeldam-side-recent__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.sidebar .widget ul.yeldam-side-recent__list li.yeldam-side-recent__item {
	display: block;
	min-height: 0;
	margin: 0;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
}
.sidebar .widget ul.yeldam-side-recent__list li.yeldam-side-recent__item + li.yeldam-side-recent__item {
	border-top: 1px solid var(--gotur-border-color, #E5E5E5);
}
.sidebar .widget ul.yeldam-side-recent__list li.yeldam-side-recent__item::before,
.sidebar .widget ul.yeldam-side-recent__list li a::after,
.sidebar .widget .yeldam-side-recent__head a::after {
	content: none;
	display: none;
}
.sidebar .widget ul.yeldam-side-recent__list li a.yeldam-side-recent__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 0;
	font-size: inherit;
	font-weight: inherit;
	text-transform: none;
	color: var(--gotur-black, #1D231F);
}
.sidebar .widget ul.yeldam-side-recent__list li:last-child a.yeldam-side-recent__link {
	padding-bottom: 0;
}
.yeldam-side-recent__thumb {
	flex: none;
	width: 64px;
	height: 56px;
	overflow: hidden;
	border-radius: 10px;
	background: #f3faf5;
}
.yeldam-side-recent__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.yeldam-side-recent__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}
.yeldam-side-recent__name {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: var(--gotur-black, #1D231F);
	transition: color 0.2s ease;
}
.yeldam-side-recent__date {
	font-size: 12px;
	color: var(--gotur-text, #595959);
}
.sidebar .widget a.yeldam-side-recent__link:hover .yeldam-side-recent__name {
	color: var(--e-global-color-primary, #24B24B);
}
.sidebar .widget a.yeldam-side-recent__link:hover .yeldam-side-recent__thumb img {
	transform: scale(1.06);
}
@media (max-width: 575px) {
	.yeldam-side-card {
		padding: 16px;
	}
	.yeldam-side-search__btn {
		padding: 0 16px;
	}
}

/* ---------- Checkout design: field icons, hints, summary trust block ----------
   On top of the numbered step cards above (and includes/checkout-design.php
   for the Delivery Instructions field, item weights and wording):
   - every field gets a leading line icon, required ones a red asterisk;
   - hints under GSTIN and Address, a 0/200 counter in Delivery Instructions;
   - "You can change this later." beside the billing checkbox;
   - Payment Options subtitle and card logos on the payment option;
   - Order Summary: bag icon header (the secure-payment badges image under
     the card is decorateSummaryBlock() in yeldam-woo-ui.js).
   Icons are CSS masks over WooCommerce's own markup — no React-managed
   node is added or moved. */

/* Every address edit (and Continue) makes WooCommerce re-fetch the cart to
   recalculate delivery; meanwhile it dims the Order Summary to 25% with a
   spinner, which reads as the card refreshing. Keep it steady — the numbers
   simply update when the response arrives. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-loading-mask .wc-block-components-loading-mask__children {
	opacity: 1;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-loading-mask > .components-spinner {
	display: none;
}

/* Icon per field (24px line icons). */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__first_name,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__last_name {
	--yc-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4.2' fill='black'/%3E%3Cpath d='M3.8 20.5a8.2 8.2 0 0 1 16.4 0z' fill='black'/%3E%3C/svg%3E");
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__email {
	--yc-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 6.5 8.5 6 8.5-6'/%3E%3C/svg%3E");
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__phone {
	--yc-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__yeldam-gstin,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__city {
	--yc-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' fill-rule='evenodd' d='M5 3h10a1 1 0 0 1 1 1v6h3a1 1 0 0 1 1 1v10H4V4a1 1 0 0 1 1-1zm2 3v2h2V6zm4 0v2h2V6zm-4 4v2h2v-2zm4 0v2h2v-2zm-4 4v2h2v-2zm4 0v2h2v-2zm5-2v2h2v-2zm0 4v2h2v-2zm-7 2v3h2v-3z'/%3E%3C/svg%3E");
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__address_1,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__address_2,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__postcode {
	--yc-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' fill-rule='evenodd' d='M12 2a7 7 0 0 1 7 7c0 5.2-7 13-7 13S5 14.2 5 9a7 7 0 0 1 7-7zm0 4.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z'/%3E%3C/svg%3E");
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__yeldam-delivery-instructions {
	--yc-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' fill-rule='evenodd' d='M6 2h8l5 5v13a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2zm7 1.5V8h4.5zM8 12v1.6h8V12zm0 4v1.6h6V16z'/%3E%3C/svg%3E");
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__state .wc-blocks-components-select__container {
	--yc-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' fill-rule='evenodd' d='M3 5.5 9 3l6 2.5L21 3v15.5L15 21l-6-2.5L3 21zm6 0v11l6 2.5v-11z'/%3E%3C/svg%3E");
}

/* Text inputs: icon at the left of the 50px box; label + value moved past it. */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input[class*="wc-block-components-address-form__"] {
	position: relative;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input[class*="wc-block-components-address-form__"]::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 25px;
	left: 15px;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	background: #6B7280;
	-webkit-mask: var(--yc-field-icon) center / contain no-repeat;
	mask: var(--yc-field-icon) center / contain no-repeat;
	pointer-events: none;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input[class*="wc-block-components-address-form__"] input {
	padding-left: 46px !important;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input[class*="wc-block-components-address-form__"] label {
	left: 46px !important;
	max-width: calc(100% - 60px);
}

/* Selects (Country, State): icon / flag before the value. */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__country .wc-blocks-components-select__container,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__state .wc-blocks-components-select__container {
	position: relative;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__country .wc-blocks-components-select__container::before,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__state .wc-blocks-components-select__container::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 15px;
	width: 20px;
	height: 20px;
	transform: translateY(-50%);
	background: #6B7280;
	-webkit-mask: var(--yc-field-icon) center / contain no-repeat;
	mask: var(--yc-field-icon) center / contain no-repeat;
	pointer-events: none;
}
/* Country: India's flag while India is selected (it's the only country
   this store delivers to), else a globe. */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__country .wc-blocks-components-select__container::before {
	--yc-field-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.6 2.6 2.6 15.4 0 18M12 3c-2.6 2.6-2.6 15.4 0 18'/%3E%3C/svg%3E");
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__country .wc-blocks-components-select__container:has(option[value="IN"]:checked)::before {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FF9933' d='M0 0h24v8H0z'/%3E%3Cpath fill='%23fff' d='M0 8h24v8H0z'/%3E%3Cpath fill='%23138808' d='M0 16h24v8H0z'/%3E%3Ccircle cx='12' cy='12' r='2.6' fill='none' stroke='%23000080' stroke-width='.8'/%3E%3Ccircle cx='12' cy='12' r='.6' fill='%23000080'/%3E%3C/svg%3E") center / cover no-repeat;
	-webkit-mask: none;
	mask: none;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__country .wc-blocks-components-select__select,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__state .wc-blocks-components-select__select {
	padding-left: 48px !important;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__country .wc-blocks-components-select__label,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__state .wc-blocks-components-select__label {
	left: 48px !important;
}

/* State and Country dropdowns: the native list of ~37 states fills the
   whole screen, and the native grey list looks out of place. Where the
   browser supports customizable selects, both get the same white card
   popup, capped at ~7 rows and scrolling inside; other browsers keep their
   native picker. */
@supports (appearance: base-select) {
	.wc-block-checkout .wc-block-checkout__form :is(.wc-block-components-address-form__state, .wc-block-components-address-form__country) .wc-blocks-components-select__select,
	.wc-block-checkout .wc-block-checkout__form :is(.wc-block-components-address-form__state, .wc-block-components-address-form__country) .wc-blocks-components-select__select::picker(select) {
		appearance: base-select;
	}
	/* base-select renders the chosen state as wrapping text (a native select
	   never wraps), so "Andaman and Nicobar Islands" broke onto a second line
	   below the box. Keep it on one line. The text sits in the select's
	   internal (unstylable) label, so neither text-overflow nor the right
	   padding stop it — overflow clips at the padding edge — and it ran
	   under the chevron. So it's clipped at the content edge where
	   supported, and a white fade (container ::after, below) always covers
	   the right end: the text fades out before the chevron, which is
	   lifted above the fade. */
	.wc-block-checkout .wc-block-checkout__form :is(.wc-block-components-address-form__state, .wc-block-components-address-form__country) .wc-blocks-components-select__select {
		display: block;
		white-space: nowrap;
		overflow: clip;
		overflow-clip-margin: content-box;
		padding-right: 44px !important; /* chevron: 12px from the edge, ~24px wide */
	}
	.wc-block-checkout .wc-block-checkout__form :is(.wc-block-components-address-form__state, .wc-block-components-address-form__country) .wc-blocks-components-select__container::after {
		content: "";
		position: absolute;
		z-index: 1;
		top: 2px;
		right: 2px;
		bottom: 2px;
		width: 64px;
		border-radius: 0 8px 8px 0;
		background: linear-gradient(to right, rgba(255, 255, 255, 0), #fff 22px);
		pointer-events: none;
	}
	.wc-block-checkout .wc-block-checkout__form :is(.wc-block-components-address-form__state, .wc-block-components-address-form__country) .wc-blocks-components-select__expand {
		z-index: 2;
	}
	/* WooCommerce already draws its own chevron. */
	.wc-block-checkout .wc-block-checkout__form :is(.wc-block-components-address-form__state, .wc-block-components-address-form__country) .wc-blocks-components-select__select::picker-icon {
		display: none;
	}
	.wc-block-checkout .wc-block-checkout__form :is(.wc-block-components-address-form__state, .wc-block-components-address-form__country) .wc-blocks-components-select__select::picker(select) {
		max-height: 280px;
		overflow-y: auto;
		margin-block: 6px;
		padding: 6px 0;
		background: #fff;
		border: 1px solid #E5E7EB;
		border-radius: 12px;
		box-shadow: 0 10px 30px rgba(17, 24, 39, 0.12);
	}
	.wc-block-checkout .wc-block-checkout__form :is(.wc-block-components-address-form__state, .wc-block-components-address-form__country) option {
		padding: 9px 16px;
		font-size: 14px;
		line-height: 1.3;
		color: #111827;
		cursor: pointer;
	}
	.wc-block-checkout .wc-block-checkout__form :is(.wc-block-components-address-form__state, .wc-block-components-address-form__country) option:hover,
	.wc-block-checkout .wc-block-checkout__form :is(.wc-block-components-address-form__state, .wc-block-components-address-form__country) option:focus-visible {
		background: #F3F4F6;
		outline: none;
	}
	.wc-block-checkout .wc-block-checkout__form :is(.wc-block-components-address-form__state, .wc-block-components-address-form__country) option:checked {
		font-weight: 600;
	}
	.wc-block-checkout .wc-block-checkout__form :is(.wc-block-components-address-form__state, .wc-block-components-address-form__country) option::checkmark {
		display: none;
	}
}

/* Required fields: red asterisk after the label. */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-text-input:has(> input:required) > label::after,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__country .wc-blocks-components-select__label::after,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__state .wc-blocks-components-select__label::after {
	content: " *";
	color: #E5484D;
}

/* Hints under GSTIN and Address. */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__yeldam-gstin::after,
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__address_1::after {
	display: block;
	margin-top: 6px;
	font-size: 12.5px;
	line-height: 1.4;
	color: #6B7280;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__yeldam-gstin::after {
	content: "Add GSTIN if you need a tax invoice";
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__address_1::after {
	content: "House no., Building name, Street name, Area";
}

/* Delivery Instructions: room for the "0/200" count at the right. */
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__yeldam-delivery-instructions input {
	padding-right: 70px !important;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-components-address-form__yeldam-delivery-instructions[data-yeldam-count]::after {
	content: attr(data-yeldam-count);
	position: absolute;
	top: 25px;
	right: 14px;
	transform: translateY(-50%);
	font-size: 12px;
	color: #9CA3AF;
	pointer-events: none;
}

/* Billing checkbox, with "ⓘ You can change this later." on the right. */
.wc-block-checkout .wc-block-checkout__form .wc-block-checkout__use-address-for-billing {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
}
.wc-block-checkout .wc-block-checkout__form .wc-block-checkout__use-address-for-billing::after {
	content: "You can change this later.";
	padding-left: 26px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2324B24B' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v5.5M12 7.5v.01'/%3E%3C/svg%3E") left center / 18px no-repeat;
	font-size: 13px;
	line-height: 20px;
	color: #6B7280;
}

/* Payment Options: subtitle, and the card logos on the Razorpay option. */
.wc-block-checkout .wc-block-checkout__form > #payment-method .wc-block-components-checkout-step__heading::after {
	content: "Choose a secure payment method";
	grid-column: 2;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--yc-muted);
}
.wc-block-checkout #payment-method .wc-block-components-radio-control__option[for$="-razorpay"] .wc-block-components-radio-control__option-layout {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
}
/* (WooCommerce's own CSS hides this ::after slot and positions it
   absolutely, hence the !important overrides.) */
.wc-block-checkout #payment-method .wc-block-components-radio-control__option[for$="-razorpay"]::after {
	content: "";
	display: block !important;
	position: static !important;
	inset: auto !important;
	transform: none !important;
	align-self: center;
	flex: none;
	width: 232px;
	height: 20px;
	margin-left: 12px;
	background: url("../img/payment-logos.png") right center / contain no-repeat;
}

/* Order Summary header: bag icon in a soft green circle, tinted strip. */
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
	background: linear-gradient(90deg, #F1F9F3, #fff);
}
.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title::before {
	content: "";
	flex: none;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2324B24B' d='M8 7a4 4 0 0 1 8 0h2.2a1 1 0 0 1 1 .92l1 12A1 1 0 0 1 19.2 21H4.8a1 1 0 0 1-1-1.08l1-12A1 1 0 0 1 5.8 7zm2 0h4a2 2 0 0 0-4 0z'/%3E%3C/svg%3E") center / 24px no-repeat;
	box-shadow: 0 2px 8px rgba(29, 35, 31, 0.08);
}

/* Item weight ("200 g") under the name. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata__description p {
	font-size: 14px;
	color: #6B7280;
}
@media (max-width: 640px) {
	.wc-block-checkout .wc-block-checkout__form .wc-block-checkout__use-address-for-billing::after {
		flex-basis: 100%;
	}
}
@media (max-width: 480px) {
	/* Phones: City, State and PIN Code one per row, like every other field —
	   and the email slot too (the email field takes its width from it). */
	.wc-block-checkout #shipping.wc-block-components-address-form > .yeldam-email-slot,
	.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__city,
	.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__state,
	.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__postcode {
		flex: 0 0 100% !important;
		width: 100% !important;
	}
}

/* ---------- Checkout Order Summary items: two independent stacks ----------
   Left: name, then weight. Right: price, struck-through regular price,
   "Save ₹X". In one shared grid a two-line name stretched the first row and
   pushed the struck price down (and a one-line name did the opposite to the
   weight), so the gaps differed item to item. Now each side is its own
   stack with the same --yi-gap between lines. The struck price sits inside
   WooCommerce's description markup, so it's placed into the right-hand
   stack absolutely (top = padding + price line + gap) and the badge leaves
   room for it. Overrides the item rules above, at every width. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item {
	--yi-pad: 22px;
	--yi-gap: 6px;
	--yi-price-lh: 22px;
	--yi-del-lh: 20px;
	position: relative;
	grid-template-rows: auto !important;
	align-items: start;
	padding: var(--yi-pad) 0 !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image {
	grid-row: 1 !important;
}
/* (Spacing by margin, not flex gap: WooCommerce leaves empty elements in
   this wrapper, and a gap would be added around each of them.) */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__description {
	display: flex !important;
	flex-direction: column;
	gap: 0 !important; /* WooCommerce's own 4px */
	padding: 0 !important;
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-name {
	line-height: var(--yi-price-lh) !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-metadata,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-low-stock-badge {
	margin: var(--yi-gap) 0 0 !important;
	padding: 0 !important;
	line-height: var(--yi-del-lh);
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata__description,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata__description p {
	margin: 0 !important;
	padding: 0 !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-product-metadata__description p {
	line-height: var(--yi-del-lh);
}
/* Struck-through regular price, under the line total. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-cart-item__prices {
	display: block !important;
	position: absolute;
	top: calc(var(--yi-pad) + var(--yi-price-lh) + var(--yi-gap));
	right: 0;
	margin: 0 !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices {
	display: block !important;
	margin: 0 !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices del {
	display: block;
	line-height: var(--yi-del-lh);
	white-space: nowrap;
}
/* Line total, then "Save ₹X" below the struck price. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__total-price,
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: flex !important;
	flex-direction: column;
	align-items: flex-end;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important; /* WooCommerce's own 4px top padding */
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__total-price {
	grid-column: 3;
	grid-row: 1;
}
/* Exactly one price line tall, so the struck price placed under it lands
   --yi-gap below. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-cart-item__total-price-and-sale-badge-wrapper > .wc-block-components-product-price {
	display: block;
	height: var(--yi-price-lh);
	line-height: var(--yi-price-lh);
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-cart-item__total-price-and-sale-badge-wrapper > .wc-block-components-product-price * {
	line-height: inherit !important;
}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-sale-badge {
	margin: calc(2 * var(--yi-gap) + var(--yi-del-lh)) 0 0 !important;
}


/* Narrow summary card (tablet sidebar, phones): beside the image, name and
   weight take the full width and the prices follow on one line —
   price · struck price · Save. Keyed to the card's own width (container
   query), not the screen's: on tablets the sidebar is narrow even though
   the screen isn't. Every line is its own grid row spanning the same
   columns, so the gaps can't drift with the name's length either. */
/* The container is the item list, not the card itself: WooCommerce measures
   the card to decide whether to collapse it, and a size container there
   reads as zero-width. (A size container can't take its width from its
   content, so the width is set explicitly.) */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary {
	container: yeldam-summary / inline-size;
	box-sizing: border-box;
	width: 100%;
}
@container yeldam-summary (max-width: 380px) {
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item {
		--yi-pad: 18px;
		--yi-gap: 6px;
		--yi-price-lh: 20px;
		--yi-del-lh: 18px;
		grid-template-columns: 64px auto auto minmax(0, 1fr) !important;
		grid-template-rows: auto auto auto !important;
		column-gap: 8px;
		row-gap: var(--yi-gap);
		align-items: center;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image {
		grid-column: 1;
		grid-row: 1 / span 3 !important;
		align-self: start;
		margin-right: 6px !important;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image,
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image img {
		width: 64px !important;
		height: 64px !important;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__description,
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-cart-item__prices,
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices,
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__total-price,
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-cart-item__total-price-and-sale-badge-wrapper {
		display: contents !important;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-name {
		grid-column: 2 / -1;
		grid-row: 1;
		font-size: 15px !important;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-metadata,
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-product-low-stock-badge {
		grid-column: 2 / -1;
		grid-row: 2;
		margin: 0 !important;
		font-size: 13px;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-cart-item__total-price-and-sale-badge-wrapper > .wc-block-components-product-price {
		grid-column: 2;
		grid-row: 3;
		justify-self: start;
		font-size: 15px;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices del {
		grid-column: 3;
		grid-row: 3;
		font-size: 13px;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-sale-badge {
		grid-column: 4;
		grid-row: 3;
		justify-self: start;
		margin: 0 !important;
		padding: 3px 8px !important;
		font-size: 12px !important;
	}
}

/* ---------- Checkout: in-between widths (narrow two-column layout) ----------
   Between phone and desktop WooCommerce keeps the form and the summary side
   by side, so both columns get narrow (the form ~350px wide at 820px).
   Field pairs and the City / State / PIN row wrap onto the next row when
   there isn't room, instead of squeezing their labels ("PIN …"). */
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__first_name,
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__last_name,
.wc-block-checkout #shipping.wc-block-components-address-form > .yeldam-email-slot,
.wc-block-checkout .wc-block-checkout__form.yeldam-email-inline #shipping.wc-block-components-address-form > .wc-block-components-address-form__phone {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 200px;
}
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__city,
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__state,
.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__postcode {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 135px;
}

/* Payment option: below 1200px the card logos go under the method's text
   (beside it they crowded "Pay by Razorpay" onto two lines). */
@media (max-width: 1199px) {
	.wc-block-checkout #payment-method .wc-block-components-radio-control__option[for$="-razorpay"] {
		flex-wrap: wrap !important;
	}
	.wc-block-checkout #payment-method .wc-block-components-radio-control__option[for$="-razorpay"] .wc-block-components-radio-control__option-layout {
		flex: 1 1 100%;
	}
	.wc-block-checkout #payment-method .wc-block-components-radio-control__option[for$="-razorpay"]::after {
		display: block !important;
		width: 200px;
		max-width: calc(100% - 42px);
		height: 18px;
		margin: 10px 0 0 42px;
		background-position: left center;
	}
}

/* Order Summary header: the title on one line; in a narrow card the
   "N items • N qty" count drops under it. */
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text {
	white-space: nowrap;
}
@media (max-width: 1199px) {
	.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title {
		flex-wrap: wrap;
		row-gap: 2px;
	}
	.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title-text {
		font-size: 21px !important;
	}
	.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title::before {
		width: 40px;
		height: 40px;
		background-size: 20px;
	}
	.wc-block-checkout.is-large .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-checkout-order-summary__title[data-yeldam-counts]::after {
		flex-basis: 100%;
		padding-left: 52px; /* under the title, past the 40px icon + gap */
		font-size: 13px;
	}
}

/* Very narrow item list: "Save ₹X" on its own line under the prices. */
@container yeldam-summary (max-width: 300px) {
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item {
		grid-template-columns: 64px auto minmax(0, 1fr) !important;
		grid-template-rows: auto auto auto auto !important;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__image {
		grid-row: 1 / span 4 !important;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item__individual-prices del {
		justify-self: start;
	}
	.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-order-summary-item .wc-block-components-sale-badge {
		grid-column: 2 / -1;
		grid-row: 4;
	}
}

/* Phones: City, State and PIN Code one per row (side by side the State
   value was cut off). */
@media (max-width: 480px) {
	.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__city,
	.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__state,
	.wc-block-checkout #shipping.wc-block-components-address-form > .wc-block-components-address-form__postcode {
		flex: 0 0 100% !important;
		width: 100% !important;
	}
}

/* ---------- Sticky site header ----------
   The header is an Elementor template the theme prints as the first
   <div> inside #page (ticker + menu bar). It stays pinned to the top on
   every page and screen size. The theme's ".page-wrapper" had
   overflow:hidden, which silently disables position:sticky for anything
   inside it; overflow-x:clip still hides sideways overflow without that
   side effect. --yeldam-header-h (set by yeldam-woo-ui.js) is the header's
   live height, for other sticky things that must sit below it. */
.page-wrapper {
	overflow: visible !important;
	overflow-x: clip !important;
}
#page > div.elementor[data-elementor-type]:first-of-type {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 1000;
	background: #fff;
}
/* WordPress's admin bar scrolls away on phones, so nothing to clear there. */
@media (max-width: 600px) {
	#page > div.elementor[data-elementor-type]:first-of-type {
		top: 0;
	}
}
html {
	scroll-padding-top: calc(var(--yeldam-header-h, 0px) + 16px);
}
.wc-block-checkout__sidebar.is-sticky {
	top: calc(var(--yeldam-header-h, 0px) + 24px) !important;
}

/* ---------- Header "Products" mega menu (Header 2, ".products-mega-menu") ----------
   Each card is several nested Elementor containers, and every one left at
   Elementor's default adds 10px padding on all sides; stacked, that made the
   big gap inside the cards and pushed "Explore delivery options" / "Order
   Now" in from the text above. Inner containers get no padding; each
   column keeps a single, even inset instead. */
.products-mega-menu .e-con:not(.mega-column) {
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
}
/* Panel: 10px all round. The Customizer's Additional CSS gives
   ".e-con.products-mega-menu" padding 30px 35px and each ".mega-column"
   5px 35px, hence the stronger selectors and !important here. */
body .e-con.products-mega-menu {
	padding: 10px !important;
	--padding-top: 10px;
	--padding-bottom: 10px;
	--padding-left: 10px;
	--padding-right: 10px;
}
body .products-mega-menu .e-con.mega-column {
	padding: 10px 20px !important;
	--gap: 10px !important;
	--row-gap: 10px !important;
}
/* "Explore delivery options" / "Order Now": flush left with the text above
   (the site-wide button rule adds 28px side padding with !important). */
body .products-mega-menu .elementor-widget-button .elementor-button-wrapper {
	text-align: left !important;
}
body .products-mega-menu .elementor-widget-button .elementor-button {
	min-height: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

/* Email / phone links in Elementor Icon Boxes (footer) — see helpers.php.
   Same look as the text they replace; underline on hover. */
.elementor-icon-box-description a[href^="mailto:"],
.elementor-icon-box-description a[href^="tel:"] {
	color: inherit;
	text-decoration: none;
}
.elementor-icon-box-description a[href^="mailto:"]:hover,
.elementor-icon-box-description a[href^="tel:"]:hover {
	text-decoration: underline;
}
