/* ==========================================================================
   Foxy Core styles
   Brand: deep red + near-black + cream. Belleza for headings, Work Sans for
   everything else (Hind Siliguri fills in Bangla glyphs).
   ========================================================================== */

:root {
	--foxy-red: #6A0909;
	--foxy-red-deep: #4a0606;
	--foxy-ink: #0D0303;
	--foxy-accent: #B51515;
	--foxy-accent-hot: #FF2E44;
	--foxy-cream: #F4F2ED;
	--foxy-muted: rgba(244, 242, 237, .62);
	--foxy-line: rgba(244, 242, 237, .14);
	--foxy-wa: #25D366;
	--foxy-radius: 12px;
	--foxy-heading: 'Belleza', 'Hind Siliguri', Georgia, serif;
	--foxy-body: 'Work Sans', 'Hind Siliguri', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--e-global-typography-text-font-family: 'Work Sans';
}

/* -------------------------------------------------------- Typography */
body,
body button, body input, body select, body textarea,
.woocommerce, .woocommerce-page,
.elementor-widget-woocommerce-products, .elementor-widget-woocommerce-product-related,
.elementor-button, .elementor-nav-menu, .elementor-menu-cart__main,
.yith-quick-view, .woo-variation-swatches {
	font-family: var(--foxy-body) !important;
}
h1, h2, h3, h4, h5, h6,
.elementor-heading-title, .product_title, .elementor-cta__title,
.woocommerce-loop-product__title, .elementor-headline,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--foxy-heading) !important;
	letter-spacing: normal;
}
.foxy-bn { font-family: 'Hind Siliguri', var(--foxy-body); display: inline-block; margin-top: .35em; opacity: .9; }

/* Prices: no underline on the current price, quieter old price. */
.price ins, .elementor-widget-woocommerce-product-price ins,
.woocommerce-Price-amount, .price ins .woocommerce-Price-amount {
	text-decoration: none !important;
	font-family: var(--foxy-body) !important;
}
.price del, .price del .woocommerce-Price-amount {
	opacity: .55;
	font-size: .85em;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	text-decoration: line-through !important;
}
.price ins { font-weight: 600; }

/* ------------------------------------------------------------ Header */
.foxy-header {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px;
	padding-left: clamp(16px, 4vw, 56px) !important;
	padding-right: clamp(16px, 4vw, 56px) !important;
	width: 100% !important;
	max-width: 100% !important;
}
.foxy-header > .e-con,
.foxy-header .foxy-header__logo,
.foxy-header .foxy-header__nav,
.foxy-header .foxy-header__cart {
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	--width: auto !important;
}
.foxy-header .foxy-header__logo { flex: 0 0 auto !important; }
.foxy-header .foxy-header__nav  { flex: 1 1 auto !important; align-items: center !important; }
.foxy-header .foxy-header__cart { flex: 0 0 auto !important; align-items: flex-end !important; }
.foxy-header .elementor-widget-theme-site-logo img {
	width: auto !important;
	height: 44px !important;
	max-width: 160px !important;
	object-fit: contain;
}
.foxy-header .elementor-nav-menu--main .elementor-item {
	font-family: var(--foxy-body) !important;
	font-size: 14px !important;
	letter-spacing: .12em !important;
	text-transform: uppercase;
	color: var(--foxy-cream) !important;
}
.foxy-header .elementor-nav-menu--main .elementor-item:hover,
.foxy-header .elementor-nav-menu--main .elementor-item.elementor-item-active { color: var(--foxy-accent-hot) !important; }
/* Centre the desktop menu. Never set display here: Elementor hides this
   menu on phones and shows the toggle instead. */
.foxy-header .elementor-nav-menu--main > .elementor-nav-menu { justify-content: center; }
.foxy-header .elementor-menu-cart__toggle .elementor-button {
	background: transparent !important;
	border: 0 !important;
	padding: 8px !important;
	color: var(--foxy-cream) !important;
	font-size: 20px !important;
}
.foxy-header .elementor-menu-cart__toggle .elementor-button-icon[data-counter]::before {
	background: var(--foxy-accent-hot) !important;
	color: #fff !important;
	font-family: var(--foxy-body) !important;
}
.foxy-header .elementor-menu-toggle { color: var(--foxy-cream) !important; background: transparent !important; font-size: 26px !important; }
.foxy-header .elementor-nav-menu--dropdown {
	background: var(--foxy-ink) !important;
	border-top: 1px solid var(--foxy-line);
}
.foxy-header .elementor-nav-menu--dropdown .elementor-item {
	color: var(--foxy-cream) !important;
	font-family: var(--foxy-body) !important;
	padding: 16px 24px !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	font-size: 14px !important;
}
@media (max-width: 767px) {
	.foxy-header { gap: 8px; }
	.foxy-header .foxy-header__logo { order: 1; }
	.foxy-header .foxy-header__cart { order: 2; margin-left: auto !important; }
	.foxy-header .foxy-header__nav  { order: 3; flex: 0 0 auto !important; }
	.foxy-header .elementor-widget-theme-site-logo img { height: 36px !important; }
}

/* ----------------------------------------------- Elementor product cards */
.e-loop-item { height: 100%; }
.foxy-card {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	height: 100%;
	min-height: 0 !important;
	padding: 0 0 18px !important;
	gap: 10px !important;
	background: var(--foxy-ink) !important;
	border: 1px solid var(--foxy-line) !important;
	border-radius: var(--foxy-radius) !important;
	overflow: hidden;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.foxy-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .35);
	border-color: rgba(244, 242, 237, .3) !important;
}
.foxy-card .foxy-card__image { width: 100% !important; margin: 0 !important; }
.foxy-card .foxy-card__image a,
.foxy-card .foxy-card__image .elementor-widget-container { display: block; width: 100%; aspect-ratio: 4 / 5; overflow: hidden; background: var(--foxy-cream); }
.foxy-card .foxy-card__image img {
	width: 100% !important;
	height: 100% !important;
	max-height: none !important;
	object-fit: cover !important;
	transition: transform .5s ease;
}
.foxy-card:hover .foxy-card__image img { transform: scale(1.04); }
.foxy-card .foxy-card__title { padding: 0 14px !important; margin: 4px 0 0 !important; width: 100% !important; }
.foxy-card .foxy-card__title .elementor-heading-title {
	font-size: clamp(15px, 1.3vw, 19px) !important;
	line-height: 1.3 !important;
	color: var(--foxy-cream) !important;
	text-align: center;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.6em;
}
.foxy-card .foxy-card__title a { color: inherit !important; }
/* Whole card is clickable: the title link stretches over the card. */
.foxy-card .foxy-card__title a::after { content: ''; position: absolute; inset: 0; z-index: 1; }
.foxy-card .elementor-widget-woocommerce-product-price { width: 100%; padding: 0 14px; }
.foxy-card .price {
	display: flex !important;
	justify-content: center;
	align-items: baseline;
	gap: 8px;
	flex-wrap: wrap;
	margin: 0 !important;
	color: var(--foxy-cream) !important;
	font-size: 16px !important;
	letter-spacing: 0 !important;
}
.foxy-card .elementor-widget-woocommerce-product-add-to-cart {
	position: relative;
	z-index: 2;
	margin-top: auto !important;
	width: 100%;
	padding: 0 14px;
}
.foxy-card .elementor-widget-woocommerce-product-add-to-cart .button,
.foxy-card .elementor-widget-woocommerce-product-add-to-cart .added_to_cart {
	display: block !important;
	width: 100% !important;
	text-align: center;
	margin: 0 !important;
}
.foxy-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--foxy-accent-hot);
	color: #fff;
	font: 600 12px/1.4 var(--foxy-body);
	letter-spacing: .02em;
	pointer-events: none;
}
.foxy-badge--low { left: auto; right: 12px; background: var(--foxy-cream); color: var(--foxy-ink); }

/* -------------------------------------------- Buttons (shared look) */
.foxy-card .button,
.woocommerce ul.products li.product .button,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce #place_order,
.elementor-cta__button, .foxy-btn, .foxy-sticky-buy__btn {
	background: var(--foxy-accent) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 8px !important;
	padding: 12px 18px !important;
	font: 600 13px/1.2 var(--foxy-body) !important;
	letter-spacing: .1em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	transition: background-color .2s ease, transform .2s ease;
	cursor: pointer;
}
.foxy-card .button:hover,
.woocommerce ul.products li.product .button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce #place_order:hover,
.elementor-cta__button:hover, .foxy-btn:hover, .foxy-sticky-buy__btn:hover { background: var(--foxy-accent-hot) !important; }
.woocommerce .button.loading { opacity: .7; }
.woocommerce div.product form.cart .single_add_to_cart_button.disabled { opacity: .45 !important; }

/* Quick view: secondary, outlined. */
.woocommerce ul.products li.product .yith-wcqv-button {
	background: transparent !important;
	border: 1px solid var(--foxy-line) !important;
	color: var(--foxy-cream) !important;
}

/* ------------------------------------- WooCommerce product grids */
.woocommerce ul.products li.product {
	position: relative;
	display: flex !important;
	flex-direction: column;
	background: var(--foxy-ink);
	border: 1px solid var(--foxy-line);
	border-radius: var(--foxy-radius);
	overflow: hidden;
	padding: 0 0 16px !important;
	text-align: center;
	transition: transform .25s ease, box-shadow .25s ease;
}
.woocommerce ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(0, 0, 0, .35); }
.woocommerce ul.products li.product a img {
	width: 100% !important;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	margin: 0 0 12px !important;
	background: var(--foxy-cream);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--foxy-cream) !important;
	font-size: clamp(15px, 1.3vw, 19px) !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	padding: 0 14px !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.6em;
}
.woocommerce ul.products li.product .price {
	display: flex !important;
	justify-content: center;
	gap: 8px;
	color: var(--foxy-cream) !important;
	font-size: 16px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	margin: 8px 0 12px !important;
}
.woocommerce ul.products li.product .button { margin: auto 14px 0 !important; }
.woocommerce ul.products li.product .yith-wcqv-button { margin-top: 8px !important; }
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale {
	top: 12px !important;
	left: 12px !important;
	right: auto !important;
	margin: 0 !important;
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 4px 10px !important;
	border-radius: 999px !important;
	background: var(--foxy-accent-hot) !important;
	color: #fff !important;
	font: 600 12px/1.4 var(--foxy-body) !important;
	letter-spacing: .02em !important;
	text-transform: none !important;
}

/* ----------------------------------------------------- Product page */
.foxy-gallery .woocommerce-product-gallery { width: 100% !important; max-width: 640px; margin: 0 auto !important; }
.foxy-gallery .woocommerce-product-gallery img { border-radius: var(--foxy-radius); width: 100%; }
.foxy-gallery .woocommerce-product-gallery__trigger { top: 16px !important; right: 16px !important; }
.foxy-summary { gap: 14px !important; }
.foxy-summary .product_title {
	font-size: clamp(30px, 4vw, 48px) !important;
	line-height: 1.1 !important;
	color: var(--foxy-cream) !important;
	margin: 0 !important;
}
/* SKU line only (the product title is also a heading widget). */
.foxy-summary > .elementor-widget-heading:not(.elementor-widget-woocommerce-product-title) .elementor-heading-title { font-size: 11px !important; letter-spacing: .25em !important; }
.foxy-summary .elementor-widget-woocommerce-product-title .product_title { letter-spacing: 0 !important; text-transform: none !important; }
.foxy-summary .price { font-size: 24px !important; color: var(--foxy-cream) !important; display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.foxy-summary .price del { font-size: .7em; }
.foxy-summary .woocommerce-product-details__short-description,
.foxy-summary .woocommerce-product-details__short-description p,
.foxy-summary .woocommerce-product-details__short-description li {
	color: var(--foxy-cream);
	font-size: 16px;
	line-height: 1.6;
}
.foxy-summary .woocommerce-product-details__short-description ul { padding-left: 1.1em; margin: .5em 0 0; }
.foxy-summary .woocommerce-product-details__short-description li::marker { color: var(--foxy-accent-hot); }
.foxy-shade-note { margin-top: .8em; padding: 10px 12px; border-left: 3px solid var(--foxy-accent-hot); background: rgba(0, 0, 0, .18); font-size: 14px !important; }
.foxy-summary .stock { color: var(--foxy-cream) !important; font-size: 14px; opacity: .85; }
.foxy-summary .stock.out-of-stock { color: var(--foxy-accent-hot) !important; opacity: 1; }

.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: stretch; margin: 6px 0 0 !important; }
.woocommerce div.product form.cart.variations_form { display: block; }
.woocommerce div.product form.cart .quantity .qty {
	height: 100%;
	min-height: 46px;
	width: 70px;
	border-radius: 8px;
	border: 1px solid var(--foxy-line);
	background: transparent;
	color: var(--foxy-cream);
}
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1 1 220px; min-height: 48px; font-size: 14px !important; }
.woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }

/* Size picker */
.woocommerce div.product form.cart table.variations { margin: 0 0 6px !important; border: 0; }
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart table.variations td { display: block; padding: 0 !important; border: 0; background: transparent; text-align: left; }
.woocommerce div.product form.cart table.variations th label { color: var(--foxy-cream); font: 600 13px var(--foxy-body); letter-spacing: .12em; text-transform: uppercase; }
.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item) {
	min-width: 48px !important;
	height: 44px !important;
	border-radius: 8px !important;
	background: transparent !important;
	box-shadow: 0 0 0 1px var(--foxy-line) !important;
	color: var(--foxy-cream) !important;
}
.woo-variation-swatches .variable-items-wrapper .variable-item .variable-item-span { color: var(--foxy-cream) !important; font: 600 15px var(--foxy-body); }
.woo-variation-swatches .variable-items-wrapper .variable-item.selected:not(.radio-variable-item),
.woo-variation-swatches .variable-items-wrapper .variable-item:hover:not(.radio-variable-item) { box-shadow: 0 0 0 2px var(--foxy-accent-hot) !important; }
.woo-variation-swatches .variable-items-wrapper .variable-item.disabled { opacity: .3 !important; }
.woocommerce div.product form.cart .reset_variations { color: var(--foxy-muted) !important; font-size: 13px; }
.foxy-size-guide { margin: 0 0 8px; font-size: 13px; color: var(--foxy-muted); }
.foxy-size-guide a { color: var(--foxy-cream); text-decoration: underline; text-underline-offset: 3px; }

/* Trust strip + WhatsApp */
.foxy-trust {
	display: grid;
	gap: 10px;
	margin: 18px 0 12px;
	padding: 14px;
	border: 1px solid var(--foxy-line);
	border-radius: var(--foxy-radius);
	background: rgba(0, 0, 0, .18);
}
.foxy-trust__item { display: flex; align-items: flex-start; gap: 12px; color: var(--foxy-cream); font-size: 14px; line-height: 1.4; }
.foxy-trust__item strong { display: block; font-weight: 600; }
.foxy-trust__item span { color: var(--foxy-muted); }
.foxy-trust__item strong { color: var(--foxy-cream); }
.foxy-trust__item a { color: var(--foxy-cream); text-decoration: underline; }
.foxy-icon { width: 22px; height: 22px; flex: 0 0 22px; color: var(--foxy-accent-hot); }
.foxy-wa-order {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px solid var(--foxy-wa);
	color: var(--foxy-cream) !important;
	font: 500 14px var(--foxy-body);
	text-decoration: none !important;
}
.foxy-wa-order .foxy-icon { color: var(--foxy-wa); }
.foxy-wa-order:hover { background: rgba(37, 211, 102, .12); }

/* Description below the buy box */
.foxy-description { margin-top: 18px !important; padding-top: 18px; border-top: 1px solid var(--foxy-line); }
.foxy-description, .foxy-description p, .foxy-description li { color: var(--foxy-cream) !important; font-family: var(--foxy-body) !important; font-size: 15px !important; line-height: 1.7 !important; }
.foxy-description a { color: var(--foxy-cream); text-decoration: underline; }

/* Related products heading: readable on red */
.foxy-related-title .elementor-heading-title {
	color: var(--foxy-cream) !important;
	font-size: clamp(26px, 3vw, 38px) !important;
	letter-spacing: .04em !important;
	text-transform: none !important;
}

/* Mobile sticky buy bar */
.foxy-sticky-buy {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9990;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	background: var(--foxy-ink);
	border-top: 1px solid var(--foxy-line);
	transform: translateY(110%);
	transition: transform .25s ease;
}
.foxy-sticky-buy.is-visible { transform: translateY(0); }
.foxy-sticky-buy[hidden] { display: none; }
.foxy-sticky-buy__info { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.foxy-sticky-buy__name { color: var(--foxy-cream); font: 400 15px var(--foxy-heading); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.foxy-sticky-buy__price, .foxy-sticky-buy__price .amount { color: var(--foxy-cream); font-size: 14px; }
.foxy-sticky-buy__price del { display: none; }
.foxy-sticky-buy__btn { flex: 0 0 auto; padding: 12px 20px !important; }
@media (min-width: 768px) { .foxy-sticky-buy { display: none !important; } }
.foxy-pulse { animation: foxy-pulse 1s ease 2; }
@keyframes foxy-pulse { 50% { box-shadow: 0 0 0 4px rgba(255, 46, 68, .45); border-radius: 10px; } }

/* Floating WhatsApp */
.foxy-wa-float {
	position: fixed;
	right: 18px;
	bottom: 18px;
	z-index: 9980;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 16px;
	border-radius: 999px;
	background: var(--foxy-wa);
	color: #fff !important;
	font: 600 14px var(--foxy-body);
	text-decoration: none !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .3);
}
.foxy-wa-float .foxy-icon { color: #fff; }
.foxy-wa-float:hover { filter: brightness(1.05); }
@media (max-width: 767px) {
	.foxy-wa-float { padding: 12px; bottom: 16px; right: 14px; }
	.foxy-wa-float span { display: none; }
	body.single-product .foxy-wa-float { bottom: 84px; }
}

/* ------------------------------------------------- Homepage: sale banner */
.foxy-sale-banner {
	--padding-top: 0 !important;
	position: relative;
	margin: clamp(28px, 5vw, 64px) auto !important;
	width: min(1100px, calc(100% - 32px)) !important;
	max-width: 1100px !important;
	padding: clamp(32px, 6vw, 64px) clamp(20px, 5vw, 56px) !important;
	border-radius: 20px !important;
	background:
		radial-gradient(120% 140% at 0% 0%, rgba(255, 46, 68, .22), transparent 55%),
		linear-gradient(135deg, var(--foxy-ink) 0%, #2a0505 100%) !important;
	border: 1px solid rgba(244, 242, 237, .16) !important;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
	text-align: center;
	gap: 14px !important;
	overflow: hidden;
}
.foxy-sale-banner::before {
	content: 'Limited time';
	display: inline-block;
	align-self: center;
	padding: 6px 14px;
	border: 1px solid rgba(244, 242, 237, .3);
	border-radius: 999px;
	color: var(--foxy-cream);
	font: 600 11px/1 var(--foxy-body);
	letter-spacing: .25em;
	text-transform: uppercase;
}
.foxy-sale-banner .elementor-headline {
	color: var(--foxy-cream) !important;
	font-size: clamp(30px, 5.5vw, 60px) !important;
	line-height: 1.1 !important;
	text-shadow: none !important;
	margin: 0 !important;
}
.foxy-sale-banner .elementor-headline-plain-text { color: var(--foxy-cream) !important; text-shadow: none !important; }
.foxy-sale-banner .elementor-headline-dynamic-text { color: var(--foxy-accent-hot) !important; text-shadow: none !important; }
.foxy-sale-banner .elementor-headline-dynamic-wrapper path { stroke: var(--foxy-accent-hot) !important; stroke-width: 6 !important; }
.foxy-sale-banner__sub p { color: var(--foxy-muted) !important; font-size: clamp(15px, 1.6vw, 18px); margin: 0 !important; }
.foxy-sale-banner__cta .elementor-button {
	background: var(--foxy-cream) !important;
	color: var(--foxy-ink) !important;
	border-radius: 999px !important;
	padding: 14px 28px !important;
	font: 600 13px/1 var(--foxy-body) !important;
	letter-spacing: .14em !important;
	text-transform: uppercase;
}
.foxy-sale-banner__cta .elementor-button:hover { background: #fff !important; }

/* Category tiles: make the whole tile feel tappable */
.elementor-widget-call-to-action .elementor-cta__description { font-family: var(--foxy-body) !important; }
.elementor-widget-call-to-action .elementor-cta__button { border-radius: 999px !important; }

/* --------------------------------------------------------- Footer */
.foxy-footer-trust .elementor-icon-box-title, .foxy-footer-trust .elementor-icon-box-title a { font-family: var(--foxy-heading) !important; }
.foxy-footer-trust .elementor-icon-box-description { font-family: var(--foxy-body) !important; }
.foxy-footer-phone a { color: inherit !important; font: 600 18px var(--foxy-body); text-decoration: none; }

/* ----------------------------------- Content pages (About, policies) */
.foxy-page {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 20px 64px;
	color: var(--foxy-cream);
	font: 400 16px/1.75 var(--foxy-body);
}
.foxy-page h2 { font: 400 clamp(24px, 3vw, 32px)/1.2 var(--foxy-heading); margin: 2em 0 .5em; color: var(--foxy-cream); }
.foxy-page h3 { font: 400 20px/1.3 var(--foxy-heading); margin: 1.5em 0 .4em; color: var(--foxy-cream); }
.foxy-page p, .foxy-page li { color: var(--foxy-cream); }
.foxy-page a { color: var(--foxy-cream); text-decoration: underline; text-underline-offset: 3px; }
.foxy-page .foxy-lead { font-size: 19px; line-height: 1.6; }
.foxy-page table { width: 100%; border-collapse: collapse; margin: 1em 0; }
.foxy-page th, .foxy-page td { padding: 10px 12px; border-bottom: 1px solid var(--foxy-line); text-align: left; }
.foxy-page th { font-weight: 600; }
.foxy-page details { border-bottom: 1px solid var(--foxy-line); padding: 14px 0; }
.foxy-page summary { cursor: pointer; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.foxy-page summary::after { content: '+'; color: var(--foxy-accent-hot); font-size: 20px; line-height: 1; }
.foxy-page details[open] summary::after { content: '–'; }
.foxy-page details p { margin: .6em 0 0; }
.foxy-page .foxy-contact-cards { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin: 1.5em 0; }
.foxy-page .foxy-contact-cards a {
	display: block;
	padding: 18px;
	border: 1px solid var(--foxy-line);
	border-radius: var(--foxy-radius);
	text-decoration: none;
	background: rgba(0, 0, 0, .18);
}
.foxy-page .foxy-contact-cards strong { display: block; font: 400 20px var(--foxy-heading); }
body.page .page-header .entry-title, body.page h1.entry-title {
	max-width: 760px;
	margin: 48px auto 12px;
	padding: 0 20px;
	color: var(--foxy-cream);
	font: 400 clamp(34px, 5vw, 52px)/1.1 var(--foxy-heading) !important;
}

/* Bags "coming soon" */
.foxy-coming-soon { max-width: 560px; margin: 24px auto; padding: 32px 24px; text-align: center; border: 1px solid var(--foxy-line); border-radius: 16px; background: rgba(0, 0, 0, .2); }
.foxy-coming-soon p { color: var(--foxy-cream); font-size: 16px; }
.foxy-coming-soon a:not(.foxy-btn) { color: var(--foxy-cream); text-decoration: underline; }
.foxy-coming-soon__eyebrow { font: 600 12px var(--foxy-body) !important; letter-spacing: .3em; text-transform: uppercase; color: var(--foxy-accent-hot) !important; }
.foxy-btn { display: inline-block; margin-top: 8px; }

/* ----------------------------------------------- Cart & checkout */
.woocommerce-checkout .foxy-checkout-note {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	margin: 0 0 14px;
	border-radius: 8px;
	background: rgba(0, 0, 0, .06);
	font-size: 14px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
	border-radius: 8px !important;
	min-height: 46px;
}

/* Homepage hero: keep the headline clear of the fixed header on phones. */
@media (max-width: 767px) {
	.elementor-4910 .elementor-element-335fc82b { padding-top: 6.5rem !important; }
}

/* Product grids (category pages, Store, related products): stack the card
   vertically so the image is full width and the button never gets cut off. */
.woocommerce ul.products li.product {
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
}
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: flex !important;
	flex-direction: column;
	align-items: stretch;
	width: 100% !important;
}
.woocommerce ul.products li.product .button {
	display: block !important;
	width: auto !important;
	white-space: normal !important;
	text-align: center;
}
@media (max-width: 767px) {
	.woocommerce ul.products li.product .button { padding: 11px 10px !important; font-size: 12px !important; letter-spacing: .06em !important; }
	.woocommerce ul.products li.product .price { font-size: 14px !important; }
}

/* Category page heading and intro: readable on the red background. */
.elementor-widget-theme-archive-title .elementor-heading-title {
	color: var(--foxy-cream) !important;
	-webkit-text-stroke: 0 !important;
	text-shadow: none !important;
}
.elementor-widget-woocommerce-archive-description,
.elementor-widget-woocommerce-archive-description .term-description,
.elementor-widget-woocommerce-archive-description p {
	color: var(--foxy-cream) !important;
	font-family: var(--foxy-body) !important;
	font-size: 16px !important;
	line-height: 1.6 !important;
	max-width: 640px;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center;
}

/* Sale banner: photo background under a dark-red tint keeps the text readable. */
.foxy-sale-banner {
	background:
		linear-gradient(135deg, rgba(13, 3, 3, .9) 0%, rgba(74, 6, 6, .82) 55%, rgba(13, 3, 3, .78) 100%),
		url('/wp-content/uploads/2026/06/IMG_6156-scaled.webp') center / cover no-repeat !important;
}

/* Homepage category tiles: a soft gradient behind the text so it reads on any photo. */
.foxy-tile .elementor-cta__bg-overlay {
	background: linear-gradient(180deg, rgba(13, 3, 3, .7) 0%, rgba(13, 3, 3, .15) 55%, rgba(13, 3, 3, .55) 100%) !important;
	opacity: 1 !important;
}
.foxy-tile .elementor-cta__title { font-size: clamp(28px, 3vw, 40px) !important; }
.foxy-tile .elementor-cta__description { max-width: 420px; font-size: 16px !important; line-height: 1.5 !important; }

/* Section subtitle under "Just landed" */
.foxy-section-sub p { color: var(--foxy-muted) !important; font-family: var(--foxy-body) !important; font-size: 17px !important; margin: 0 !important; }

/* Store page: compact category strip instead of three giant placeholders. */
.foxy-cat-strip { max-width: 900px; margin-left: auto !important; margin-right: auto !important; }
.foxy-cat-strip ul.products { gap: 16px !important; display: grid !important; grid-template-columns: repeat(3, 1fr) !important; }
.foxy-cat-strip ul.products::before, .foxy-cat-strip ul.products::after { display: none !important; }
.foxy-cat-strip ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
}
.foxy-cat-strip ul.products li.product a img {
	aspect-ratio: 1 / 1 !important;
	border-radius: 999px !important;
	margin: 0 auto 10px !important;
	max-width: 180px !important;
	border: 2px solid var(--foxy-line);
	transition: border-color .2s ease, transform .2s ease;
}
.foxy-cat-strip ul.products li.product:hover { transform: none !important; box-shadow: none !important; }
.foxy-cat-strip ul.products li.product:hover img { border-color: var(--foxy-accent-hot); transform: scale(1.03); }
.foxy-cat-strip .woocommerce-loop-category__title {
	color: var(--foxy-cream) !important;
	font: 400 18px/1.2 var(--foxy-heading) !important;
	text-align: center;
	padding: 0 !important;
	min-height: 0 !important;
}
.foxy-cat-strip .woocommerce-loop-category__title .count { display: none; }
@media (max-width: 767px) {
	.foxy-cat-strip ul.products { gap: 10px !important; }
	.foxy-cat-strip ul.products li.product a img { max-width: 96px !important; }
	.foxy-cat-strip .woocommerce-loop-category__title { font-size: 14px !important; }
}

/* Homepage section headings ("The launch edit", "Just landed"): cream on red. */
.elementor-4910 .elementor-element-665d15e2 .elementor-heading-title,
.elementor-4910 .elementor-element-606a710 .elementor-heading-title {
	color: var(--foxy-cream) !important;
	-webkit-text-stroke: 0 !important;
}

/* ==========================================================================
   Cart & checkout: cream cards on the red background, dark readable text,
   two-column checkout on desktop, clean stacking on phones.
   ========================================================================== */
body:is(.woocommerce-cart, .woocommerce-checkout) .site-main,
body:is(.woocommerce-cart, .woocommerce-checkout) [data-elementor-type="wp-page"] {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 16px 64px;
}
body:is(.woocommerce-cart, .woocommerce-checkout) h1.entry-title {
	max-width: none !important;
	margin: 32px 0 20px !important;
	padding: 0 !important;
	text-align: left;
}
body:is(.woocommerce-cart, .woocommerce-checkout) .elementor-widget-container { text-align: left !important; }

/* Notices (added to cart, coupon, gift card, errors) everywhere */
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	background: var(--foxy-cream) !important;
	color: var(--foxy-ink) !important;
	border: 0 !important;
	border-left: 4px solid var(--foxy-accent-hot) !important;
	border-radius: 10px !important;
	padding: 14px 16px 14px 48px !important;
	margin: 0 0 16px !important;
	font: 400 15px/1.5 var(--foxy-body) !important;
	text-align: left !important;
	box-shadow: none !important;
}
.woocommerce-message::before, .woocommerce-info::before { color: var(--foxy-accent-hot) !important; top: 14px !important; left: 18px !important; }
.woocommerce-error::before { color: var(--foxy-accent) !important; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button), .woocommerce-error a { color: var(--foxy-accent) !important; font-weight: 600; text-decoration: underline; }
.woocommerce-message .button, .woocommerce-info .button {
	background: var(--foxy-ink) !important;
	color: var(--foxy-cream) !important;
	border-radius: 8px !important;
	padding: 8px 14px !important;
	font: 600 12px var(--foxy-body) !important;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* The cream panels */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout form.checkout_coupon {
	background: var(--foxy-cream) !important;
	color: var(--foxy-ink) !important;
	border: 0 !important;
	border-radius: 16px !important;
	padding: clamp(16px, 3vw, 32px) !important;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .28);
	margin-bottom: 24px;
}
:is(.woocommerce-cart .woocommerce-cart-form, .woocommerce-cart .cart_totals, .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review, .woocommerce-checkout form.checkout_coupon)
	:is(p, span, td, th, label, h2, h3, a:not(.button), strong, bdi, small, li, dt, dd, div, .amount) {
	color: var(--foxy-ink) !important;
	font-family: var(--foxy-body) !important;
	text-shadow: none !important;
}
:is(.woocommerce-cart .cart_totals, .woocommerce-checkout #customer_details, .woocommerce-checkout #order_review) h2,
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading {
	font: 400 clamp(22px, 2.4vw, 28px)/1.2 var(--foxy-heading) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-align: left !important;
	margin: 0 0 16px !important;
}
.woocommerce-checkout #order_review_heading { color: var(--foxy-cream) !important; }

/* Tables inside the panels */
:is(.woocommerce-cart, .woocommerce-checkout) table.shop_table {
	border: 0 !important;
	border-radius: 0 !important;
	margin: 0 0 16px !important;
	background: transparent !important;
	border-collapse: collapse !important;
	width: 100%;
}
:is(.woocommerce-cart, .woocommerce-checkout) table.shop_table :is(th, td) {
	border: 0 !important;
	border-bottom: 1px solid rgba(13, 3, 3, .1) !important;
	padding: 14px 8px !important;
	background: transparent !important;
	text-align: left !important;
	vertical-align: middle;
	font-size: 15px;
}
:is(.woocommerce-cart, .woocommerce-checkout) table.shop_table thead th {
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	opacity: .6;
}
:is(.woocommerce-cart, .woocommerce-checkout) table.shop_table :is(.order-total, .cart-subtotal) :is(th, td, .amount) { font-weight: 600 !important; }
:is(.woocommerce-cart, .woocommerce-checkout) table.shop_table .order-total :is(td, .amount) { font-size: 20px !important; }
:is(.woocommerce-cart, .woocommerce-checkout) table.shop_table :is(td.product-subtotal, td.product-total, .cart-subtotal td, .order-total td, .shipping td, .woocommerce-shipping-totals td) { text-align: right !important; }

/* Cart rows */
.woocommerce-cart table.cart td.product-thumbnail img {
	width: 76px !important;
	height: 76px;
	object-fit: cover;
	border-radius: 10px;
	background: #fff;
}
.woocommerce-cart table.cart td.product-name a { font: 400 18px/1.3 var(--foxy-heading) !important; text-decoration: none; }
.woocommerce-cart table.cart td.product-name .variation { margin-top: 4px; font-size: 13px; opacity: .75; }
.woocommerce-cart table.cart a.remove {
	width: 28px; height: 28px; line-height: 26px;
	border-radius: 999px;
	border: 1px solid rgba(13, 3, 3, .15);
	color: var(--foxy-ink) !important;
	font-size: 18px;
}
.woocommerce-cart table.cart a.remove:hover { background: var(--foxy-accent) !important; color: #fff !important; border-color: var(--foxy-accent); }
.woocommerce-cart table.cart .quantity .qty {
	width: 64px; min-height: 42px;
	border-radius: 8px;
	border: 1px solid rgba(13, 3, 3, .2);
	background: #fff;
	color: var(--foxy-ink);
	text-align: center;
}
.woocommerce-cart table.cart td.actions { padding-top: 18px !important; border-bottom: 0 !important; }
.woocommerce-cart table.cart td.actions .coupon { display: flex; gap: 8px; flex-wrap: wrap; float: left; }
.woocommerce-cart table.cart td.actions .coupon .input-text { width: 180px !important; }
.woocommerce-cart table.cart td.actions > .button {
	float: right;
	background: transparent !important;
	color: var(--foxy-ink) !important;
	border: 1px solid rgba(13, 3, 3, .25) !important;
}
.woocommerce-cart table.cart td.actions > .button:disabled { opacity: .4 !important; }

/* Cart totals + layout */
.woocommerce-cart .cart-collaterals { display: flex; justify-content: flex-end; }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; max-width: 460px; float: none !important; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 8px 0 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button { display: block; width: 100%; font-size: 15px !important; padding: 16px !important; }
.woocommerce-cart .shipping-calculator-button { color: var(--foxy-accent) !important; font-size: 13px; }

/* Empty cart */
.woocommerce-cart .cart-empty { color: var(--foxy-ink) !important; }
.woocommerce-cart .return-to-shop .button { display: inline-block; }

/* Inputs */
:is(.woocommerce-cart, .woocommerce-checkout) :is(input.input-text, textarea, select),
:is(.woocommerce-cart, .woocommerce-checkout) .select2-container .select2-selection--single {
	background: #fff !important;
	color: var(--foxy-ink) !important;
	border: 1px solid rgba(13, 3, 3, .18) !important;
	border-radius: 10px !important;
	min-height: 48px;
	padding: 10px 14px !important;
	font: 400 16px var(--foxy-body) !important;
	box-shadow: none !important;
}
:is(.woocommerce-cart, .woocommerce-checkout) :is(input.input-text, textarea):focus { border-color: var(--foxy-accent) !important; outline: 2px solid rgba(181, 21, 21, .15); }
.woocommerce-checkout .select2-container .select2-selection--single { padding: 0 !important; display: flex; align-items: center; }
.woocommerce-checkout .select2-container .select2-selection__rendered { color: var(--foxy-ink) !important; padding-left: 14px !important; line-height: 46px !important; }
.woocommerce-checkout .select2-container .select2-selection__arrow { height: 46px !important; }
.woocommerce-checkout textarea { min-height: 96px; }
.woocommerce-checkout form .form-row { margin: 0 0 14px !important; padding: 0 !important; }
.woocommerce-checkout form .form-row label {
	display: block;
	margin: 0 0 6px !important;
	font: 600 13px/1.3 var(--foxy-body) !important;
	text-align: left !important;
}
.woocommerce-checkout form .form-row .required { color: var(--foxy-accent) !important; text-decoration: none; }
.woocommerce-checkout form .form-row .optional { opacity: .55; font-weight: 400; }
#billing_country_field, #shipping_country_field { display: none !important; }   /* Bangladesh only */
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none !important; width: 100% !important; max-width: none !important; padding: 0 !important; }
.woocommerce-checkout .col2-set .col-2 { margin-top: 8px; }
.woocommerce-checkout #ship-to-different-address { font: 600 14px var(--foxy-body) !important; margin: 8px 0 12px !important; }
.woocommerce-checkout #ship-to-different-address label { display: flex !important; align-items: center; gap: 8px; }

/* Two columns on desktop; order summary follows you down the page */
@media (min-width: 1025px) {
	.woocommerce-checkout form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
		column-gap: 32px;
		align-items: start;
	}
	.woocommerce-checkout form.checkout > * { grid-column: 1 / -1; }
	.woocommerce-checkout form.checkout > #customer_details { grid-column: 1; grid-row: span 2; margin: 0; }
	.woocommerce-checkout form.checkout > #order_review_heading { grid-column: 2; }
	.woocommerce-checkout form.checkout > #order_review { grid-column: 2; position: sticky; top: 120px; }
}

/* Payment + place order */
.woocommerce-checkout #payment { background: transparent !important; border-radius: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods { padding: 0 0 12px !important; border: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li { list-style: none; font-weight: 600; }
.woocommerce-checkout #payment div.payment_box {
	background: rgba(13, 3, 3, .05) !important;
	border-radius: 10px;
	margin: 8px 0 0 !important;
	font-size: 14px;
}
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment .place-order { padding: 0 !important; margin: 0 !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { font-size: 12px !important; line-height: 1.5; opacity: .7; }
.woocommerce-checkout #place_order { width: 100% !important; float: none !important; padding: 18px !important; font-size: 15px !important; }
.woocommerce-checkout .foxy-checkout-note { background: rgba(13, 3, 3, .05) !important; }
.woocommerce-checkout .foxy-checkout-note .foxy-icon { color: var(--foxy-accent); }

/* Reassurance strip above the form */
.foxy-checkout-assure {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 0 0 20px !important;
	padding: 0 !important;
}
.foxy-checkout-assure li { display: flex; align-items: center; gap: 8px; color: var(--foxy-cream); font: 500 14px var(--foxy-body); }

/* Phones */
@media (max-width: 768px) {
	.woocommerce-cart table.cart tr.cart_item {
		display: grid !important;
		grid-template-columns: 76px 1fr 32px;
		column-gap: 12px;
		padding: 14px 0;
		border-bottom: 1px solid rgba(13, 3, 3, .1);
	}
	.woocommerce-cart table.cart tr.cart_item td { border: 0 !important; padding: 2px 0 !important; text-align: left !important; display: block !important; }
	.woocommerce-cart table.cart tr.cart_item td::before { display: none !important; }
	.woocommerce-cart table.cart td.product-thumbnail { grid-column: 1; grid-row: 1 / span 4; display: block !important; }
	.woocommerce-cart table.cart td.product-remove { grid-column: 3; grid-row: 1; text-align: right !important; }
	.woocommerce-cart table.cart :is(td.product-name, td.product-price, td.product-quantity, td.product-subtotal) { grid-column: 2; }
	.woocommerce-cart table.cart td.product-price { display: none !important; }
	.woocommerce-cart table.cart td.product-subtotal { font-weight: 600; }
	.woocommerce-cart table.cart td.actions .coupon { float: none; width: 100%; }
	.woocommerce-cart table.cart td.actions .coupon .input-text { flex: 1; width: auto !important; }
	.woocommerce-cart table.cart td.actions > .button { float: none; width: 100%; margin-top: 10px !important; }
	.woocommerce-checkout form .form-row-first, .woocommerce-checkout form .form-row-last { width: 100% !important; float: none !important; }
}

/* Footer CTA heading: the new longer line was oversized on phones */
.elementor-4810 .elementor-element-fcd0a8e .elementor-heading-title {
	font-size: clamp(30px, 5vw, 64px) !important;
	line-height: 1.08 !important;
}

/* Footer "Treat yourself" block: was black text on dark red on every page. */
.elementor-4810 .elementor-element-463c314 .elementor-heading-title { color: var(--foxy-muted) !important; }
.elementor-4810 .elementor-element-fcd0a8e .elementor-heading-title { color: var(--foxy-cream) !important; }
.elementor-4810 .elementor-element-466bd295 .elementor-button {
	color: var(--foxy-cream) !important;
	background: transparent !important;
	border: 1px solid rgba(244, 242, 237, .5) !important;
	border-radius: 999px !important;
	padding: 12px 24px !important;
}
.elementor-4810 .elementor-element-466bd295 .elementor-button:hover { background: var(--foxy-cream) !important; color: var(--foxy-ink) !important; }

/* Cart/checkout leftovers */
:is(.woocommerce-cart, .woocommerce-checkout) .coupon .button,
.woocommerce-checkout form.checkout_coupon .button {
	background: var(--foxy-ink) !important;
	color: var(--foxy-cream) !important;
	border: 0 !important;
	border-radius: 10px !important;
	min-height: 48px;
	padding: 0 18px !important;
	font: 600 13px var(--foxy-body) !important;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout #ship-to-different-address label,
.woocommerce-checkout #ship-to-different-address span { font: 600 15px/1.3 var(--foxy-body) !important; }
.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { text-align: left !important; }

/* Footer trust row (delivery, COD, quality): readable on red. */
.foxy-footer-trust .elementor-icon { color: var(--foxy-accent-hot) !important; fill: var(--foxy-accent-hot) !important; }
.foxy-footer-trust .elementor-icon svg { fill: var(--foxy-accent-hot) !important; }
.foxy-footer-trust .elementor-icon-box-title, .foxy-footer-trust .elementor-icon-box-title * { color: var(--foxy-cream) !important; }
.foxy-footer-trust .elementor-icon-box-description { color: var(--foxy-muted) !important; }
