/* ==========================================================================
   Farhani — WooCommerce
   ========================================================================== */

/* ---------- Base pieces normally provided by WooCommerce's (disabled) core stylesheet ---------- */
.woocommerce .hidden, .woocommerce-page .hidden { display: none; }
.woocommerce .blockUI.blockOverlay { position: relative; }
.woocommerce .blockUI.blockOverlay::before, .woocommerce .loader::before {
	content: ""; position: absolute; top: 50%; left: 50%; width: 28px; height: 28px; margin: -14px 0 0 -14px;
	border: 3px solid var(--fd-primary); border-top-color: transparent; border-radius: 50%; animation: fd-spin .7s linear infinite;
}
.woocommerce-store-notice, p.demo_store {
	position: fixed; bottom: 0; inset-inline: 0; z-index: 99998; margin: 0; padding: 12px 20px;
	font-size: .9rem; text-align: center; color: #fff; background: var(--fd-dark);
}
.woocommerce-store-notice a { color: var(--fd-primary); font-weight: 700; margin-inline-start: 10px; }
.woocommerce .wc-item-meta, .woocommerce-page .wc-item-meta { margin: 4px 0 0; padding: 0; list-style: none; font-size: .8rem; color: var(--fd-muted); }
.woocommerce .wc-item-meta p { display: inline; margin: 0; }
.woocommerce-product-gallery .flex-viewport { margin-bottom: 0; }
.woocommerce-product-gallery__wrapper .zoomImg { background: var(--fd-media-bg); }
.woocommerce-variation-description p:last-child { margin: 0; }
.woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 0 0 20px;
	padding: 14px 18px;
	padding-inline-start: 50px;
	list-style: none;
	font-size: .92rem;
	color: var(--fd-text);
	background: var(--fd-info-bg);
	border: 1px solid rgba(43, 108, 176, .18);
	border-radius: var(--fd-radius-sm);
}
.woocommerce-message { background: var(--fd-success-bg); border-color: rgba(47, 133, 90, .2); }
.woocommerce-error { display: block; background: var(--fd-danger-bg); border-color: rgba(192, 57, 43, .2); }
.woocommerce-error li { margin: 2px 0; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before {
	content: ""; position: absolute; inset-inline-start: 16px; top: 15px; width: 22px; height: 22px;
	background: var(--fd-info);
	-webkit-mask: var(--_icon) center/contain no-repeat; mask: var(--_icon) center/contain no-repeat;
	--_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='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4M12 8h.01'/%3E%3C/svg%3E");
}
.woocommerce-message::before { background: var(--fd-success); --_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='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E"); }
.woocommerce-error::before { background: var(--fd-danger); --_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='2'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 8v4M12 16h.01'/%3E%3C/svg%3E"); }
.woocommerce-message .button, .woocommerce-info .button { order: 2; margin-inline-start: auto; min-height: 36px; padding: .4em 1.1em; font-size: .82rem; }
.woocommerce-message a:not(.button), .woocommerce-info a:not(.button) { font-weight: 700; text-decoration: underline; }

/* ---------- Product grid ---------- */
ul.products { --fd-cols: 4; display: grid; grid-template-columns: repeat(var(--fd-cols), minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
ul.products.columns-1 { --fd-cols: 1; }
ul.products.columns-2 { --fd-cols: 2; }
ul.products.columns-3 { --fd-cols: 3; }
ul.products.columns-4 { --fd-cols: 4; }
ul.products.columns-5 { --fd-cols: 5; }
ul.products.columns-6 { --fd-cols: 6; }
ul.products::before, ul.products::after { content: none !important; }
.fd-products-block > .fd-products-wrap ul.products { --fd-cols: inherit; }
.fd-products-block:not(.fd-carousel) > .fd-products-wrap ul.products { grid-template-columns: repeat(var(--fd-cols), minmax(0, 1fr)); }

/* Carousel mode: horizontal scroll-snap */
.fd-carousel ul.products {
	grid-template-columns: none;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--fd-cols) - 1) * 24px) / var(--fd-cols));
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding-bottom: 6px;
}
.fd-carousel ul.products::-webkit-scrollbar { display: none; }
.fd-carousel ul.products > li { scroll-snap-align: start; }

/* ---------- Product card ---------- */
.fd-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	margin: 0 !important;
	padding: 10px;
	width: auto !important;
	float: none !important;
	background: var(--fd-surface);
	border: 1px solid var(--fd-border);
	border-radius: calc(var(--fd-radius) + 4px);
	transition: box-shadow .35s var(--fd-ease), transform .35s var(--fd-ease), border-color .35s;
}
.fd-card:hover { box-shadow: var(--fd-shadow); transform: translateY(-4px); border-color: transparent; }

.fd-card__media { aspect-ratio: var(--fd-media-ratio); }
.fd-card__image { position: absolute; inset: 0; display: block; padding: 6%; }
.fd-fit-cover .fd-card__image { padding: 0; }
.fd-card__img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; padding: inherit; object-fit: var(--fd-media-fit); transition: opacity .5s var(--fd-ease), transform .7s var(--fd-ease); }
.fd-card:hover .fd-card__img { transform: scale(1.05); }
.fd-card__img--hover { opacity: 0; }
.fd-card:hover .fd-card__img--hover { opacity: 1; }
.fd-card:hover .fd-card__img:not(.fd-card__img--hover):has(+ .fd-card__img--hover) { opacity: 0; }
.fd-card.is-out-of-stock .fd-card__img { filter: grayscale(.85); opacity: .7; }

.fd-card__badges { position: absolute; top: 10px; inset-inline-start: 10px; z-index: 2; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.fd-badge { display: inline-flex; align-items: center; padding: 3px 10px; font-size: .75rem; font-weight: 800; line-height: 1.6; color: #fff; background: var(--fd-dark); border-radius: var(--fd-pill); }
.fd-badge--sale { background: #d94848; }
.fd-badge--accent { background: var(--fd-primary); }
.fd-badge--muted { background: #8399a3; }

.fd-card__body { display: flex; flex-direction: column; flex: 1; gap: 2px; padding: 14px 6px 4px; }
.fd-card__brand { font-size: .74rem; font-weight: 800; letter-spacing: .02em; color: var(--fd-primary-dark); }
.fd-card__title { margin: 0 0 4px; font-size: .92rem; font-weight: 700; line-height: 1.7; }
.fd-card__title a { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 3.4em; color: var(--fd-dark); }
.fd-card__title a:hover { color: var(--fd-primary-dark); }
.fd-card__rating { display: inline-flex; align-items: center; gap: 4px; font-size: .78rem; font-weight: 700; color: var(--fd-muted); }
.fd-card__rating svg { color: #f4b740; }

.fd-card__footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 8px; margin-top: auto; padding-top: 8px; }
.fd-card__price { display: flex; flex-direction: column; line-height: 1.5; }
.fd-card__unavailable { font-size: .85rem; color: var(--fd-muted); font-weight: 700; }

/* Card add-to-cart: compact icon button that expands on hover (desktop) */
.fd-card__action { flex-shrink: 0; }
.fd-card__action .button {
	position: relative;
	width: 44px;
	min-height: 44px;
	height: 44px;
	padding: 0;
	overflow: hidden;
	font-size: 0;
	border-radius: 14px;
	--_bg: var(--fd-soft);
	--_fg: var(--fd-dark);
	border-color: transparent;
}
.fd-card__action .button::before {
	content: ""; width: 22px; height: 22px; background: currentColor;
	-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='M5.5 7.5h13l-1 13h-11z'/%3E%3Cpath d='M9 7.5V7a3 3 0 0 1 6 0v.5M12 11v5M9.5 13.5h5'/%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='M5.5 7.5h13l-1 13h-11z'/%3E%3Cpath d='M9 7.5V7a3 3 0 0 1 6 0v.5M12 11v5M9.5 13.5h5'/%3E%3C/svg%3E") center/contain no-repeat;
}
.fd-card__action .button:not(.add_to_cart_button)::before, .fd-card__action .button.product_type_variable::before {
	-webkit-mask-image: 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'%3E%3Cpath d='M19 12H5m6-6-6 6 6 6'/%3E%3C/svg%3E");
	mask-image: 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'%3E%3Cpath d='M19 12H5m6-6-6 6 6 6'/%3E%3C/svg%3E");
}
.fd-card__action .button:hover, .fd-card:hover .fd-card__action .button { --_bg: var(--fd-dark); --_fg: #fff; color: #fff; box-shadow: none; }
.fd-card__action .button.loading { pointer-events: none; }
.fd-card__action .button.loading::before {
	-webkit-mask: none; mask: none; width: 18px; height: 18px; background: none;
	border: 2px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: fd-spin .7s linear infinite;
}
.fd-card__action .button.added::before {
	-webkit-mask-image: 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.4'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	mask-image: 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.4'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
.fd-card__action .button.added { --_bg: var(--fd-success); --_fg: #fff; color: #fff; }
.fd-card__action .added_to_cart { display: none; }
@keyframes fd-spin { to { transform: rotate(360deg); } }

/* ---------- Prices ---------- */
.price { color: var(--fd-dark); font-weight: 800; font-size: 1rem; }
.price del { order: -1; font-size: .78rem; font-weight: 500; color: var(--fd-muted); opacity: .8; }
.price ins { text-decoration: none; }
.price .woocommerce-Price-currencySymbol { font-size: .72em; font-weight: 600; margin-inline-start: 2px; color: var(--fd-muted); }
.price del .woocommerce-Price-currencySymbol { color: inherit; }

/* ---------- Stars ---------- */
.star-rating { position: relative; display: inline-block; width: 5.4em; height: 1.1em; overflow: hidden; font-size: .95rem; line-height: 1; font-family: Arial, sans-serif; letter-spacing: .1em; }
.star-rating::before { content: "★★★★★"; position: absolute; inset-inline-start: 0; top: 0; color: #d3e2e7; }
.star-rating span { position: absolute; inset-inline-start: 0; top: 0; overflow: hidden; padding-top: 1.5em; }
.star-rating span::before { content: "★★★★★"; position: absolute; inset-inline-start: 0; top: 0; color: #f4b740; }
p.stars a { position: relative; display: inline-block; width: 1.4em; height: 1.4em; font-size: 1.2rem; text-indent: -999em; overflow: hidden; }
p.stars a::before { content: "★"; position: absolute; inset: 0; text-indent: 0; color: #d3e2e7; }
p.stars:hover a::before, p.stars.selected a::before { color: #f4b740; }
p.stars a:hover ~ a::before, p.stars.selected a.active ~ a::before { color: #d3e2e7; }

/* ---------- Shop archive ---------- */
.fd-shop { padding-block: 24px 64px; }
.fd-shop--sidebar { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 32px; align-items: start; }
.fd-shop__main { min-width: 0; }
.fd-shop .fd-breadcrumb { margin-bottom: 10px; }

.woocommerce-products-header { margin-bottom: 20px; }
.woocommerce-products-header__title { margin: 0 0 6px; font-size: clamp(1.4rem, 1.15rem + 1vw, 2rem); }
.term-description, .page-description { color: var(--fd-muted); max-width: 760px; }
.term-description p:last-child { margin-bottom: 0; }

.fd-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; margin-bottom: 18px; padding-bottom: 2px; }
.fd-chips::-webkit-scrollbar { display: none; }
.fd-chip { flex-shrink: 0; padding: 7px 16px; font-size: .85rem; font-weight: 700; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-pill); transition: all .2s; }
.fd-chip:hover { background: var(--fd-dark); border-color: var(--fd-dark); color: #fff; }

.fd-shop-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 22px; padding: 10px 10px 10px 14px; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); }
.fd-shop-toolbar .woocommerce-result-count { margin: 0; font-size: .86rem; color: var(--fd-muted); }
.fd-shop-toolbar .woocommerce-ordering { margin: 0 auto 0 0; margin-inline-start: auto; margin-inline-end: 0; }
.fd-shop-toolbar .woocommerce-ordering select { min-height: 42px; min-width: 210px; font-size: .86rem; background-color: var(--fd-soft); border-color: transparent; border-radius: var(--fd-pill); }
.fd-shop-toolbar__filter { display: none; }

/* The filter sidebar is a drawer on mobile; on desktop it is a normal sticky column. */
@media (min-width: 992px) {
	.fd-shop__sidebar.fd-drawer { position: sticky; top: 110px; bottom: auto; z-index: 1; display: block; width: auto; background: none; box-shadow: none; transform: none; visibility: visible; }
}
.fd-shop__sidebar-head { display: none; }
.fd-shop__sidebar .fd-drawer__body { padding: 0; overflow: visible; }

.woocommerce-no-products-found .woocommerce-info { justify-content: center; }

/* Price filter widget */
.price_slider_wrapper .ui-slider { position: relative; height: 4px; margin: 12px 8px 22px; background: var(--fd-border); border-radius: 4px; }
.price_slider_wrapper .ui-slider-range { position: absolute; height: 100%; background: var(--fd-primary); border-radius: 4px; }
.price_slider_wrapper .ui-slider-handle { position: absolute; top: -7px; width: 18px; height: 18px; margin-inline-start: -9px; background: #fff; border: 3px solid var(--fd-primary); border-radius: 50%; cursor: grab; outline: 0; }
.price_slider_amount { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; font-size: .85rem; }
.price_slider_amount .button { min-height: 36px; padding: .4em 1.1em; font-size: .82rem; }
.widget_layered_nav li, .widget_product_categories li { display: flex; justify-content: space-between; }
.widget .count { font-size: .78rem; color: var(--fd-muted); }
.woocommerce-widget-layered-nav-list .chosen a { color: var(--fd-primary-dark); font-weight: 700; }

/* ---------- Single product ---------- */
.single-product .fd-shop { padding-top: 20px; }
.single-product div.product { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 20px 48px; align-items: start; }
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .up-sells,
.single-product div.product > .related,
.single-product div.product > section { grid-column: 1 / -1; }
.single-product div.product > .onsale { position: absolute; top: 18px; inset-inline-start: 18px; z-index: 5; }
.onsale { display: inline-block; padding: 4px 12px; font-size: .8rem; font-weight: 800; color: #fff; background: #d94848; border-radius: var(--fd-pill); }

.woocommerce-product-gallery { position: relative; margin: 0; opacity: 1 !important; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery .flex-viewport, .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:only-child {
	background: var(--fd-media-bg); border-radius: calc(var(--fd-radius) + 6px); overflow: hidden;
}
.woocommerce-product-gallery__image { background: var(--fd-media-bg); }
.woocommerce-product-gallery__image a { display: block; aspect-ratio: 1; }
.woocommerce-product-gallery__image img { width: 100%; height: 100% !important; object-fit: contain; }
.fd-blend-media .woocommerce-product-gallery__image img { mix-blend-mode: multiply; }
.woocommerce-product-gallery__trigger {
	position: absolute; top: 16px; inset-inline-end: 16px; z-index: 9;
	width: 42px; height: 42px; display: grid; place-items: center; font-size: 0;
	background: #fff; border-radius: 50%; box-shadow: var(--fd-shadow-sm);
}
.woocommerce-product-gallery__trigger::before {
	content: ""; width: 20px; height: 20px; background: var(--fd-dark);
	-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='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5M11 8v6M8 11h6'/%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='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5M11 8v6M8 11h6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.woocommerce-product-gallery__trigger img { display: none !important; }
.flex-control-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; }
.flex-control-thumbs li { aspect-ratio: 1; background: var(--fd-media-bg); border-radius: var(--fd-radius-sm); overflow: hidden; cursor: pointer; }
.flex-control-thumbs img { width: 100%; height: 100%; object-fit: contain; opacity: .55; border: 2px solid transparent; border-radius: var(--fd-radius-sm); transition: opacity .2s, border-color .2s; }
.fd-blend-media .flex-control-thumbs img { mix-blend-mode: multiply; }
.flex-control-thumbs img.flex-active, .flex-control-thumbs img:hover { opacity: 1; border-color: var(--fd-primary); }

.single-product .summary { position: sticky; top: 120px; display: flex; flex-direction: column; gap: 4px; }
.fd-single-brand { align-self: flex-start; padding: 4px 12px; font-size: .8rem; font-weight: 800; color: var(--fd-primary-dark); background: var(--fd-primary-soft); border-radius: var(--fd-pill); }
.product_title { margin: 8px 0 4px; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem); line-height: 1.5; }
.woocommerce-product-rating { display: flex; align-items: center; gap: 10px; font-size: .85rem; color: var(--fd-muted); margin-bottom: 4px; }
.summary > .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px; margin: 12px 0; font-size: 1.6rem; }
.summary > .price del { font-size: 1rem; }
.woocommerce-product-details__short-description { color: var(--fd-muted); padding-block: 12px; border-top: 1px dashed var(--fd-border); }
.woocommerce-product-details__short-description ul { padding-inline-start: 1.1em; }
.stock { display: inline-flex; align-items: center; gap: 6px; font-size: .88rem; font-weight: 700; color: var(--fd-success); }
.stock::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.stock.out-of-stock { color: var(--fd-danger); }
.stock.available-on-backorder { color: var(--fd-warning); }

form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 12px 0 8px; padding: 18px; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); }
form.cart .single_add_to_cart_button { flex: 1; min-height: 54px; font-size: 1rem; }
form.cart .single_add_to_cart_button::before {
	content: ""; width: 22px; height: 22px; background: currentColor;
	-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'%3E%3Cpath d='M5.5 7.5h13l-1 13h-11z'/%3E%3Cpath d='M9 7.5V7a3 3 0 0 1 6 0v.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='1.8'%3E%3Cpath d='M5.5 7.5h13l-1 13h-11z'/%3E%3Cpath d='M9 7.5V7a3 3 0 0 1 6 0v.5'/%3E%3C/svg%3E") center/contain no-repeat;
}
form.cart.variations_form { display: block; }
form.cart .variations { margin-bottom: 12px; border: 0; }
form.cart .variations tr { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; }
form.cart .variations th, form.cart .variations td { padding: 0; text-align: start; border: 0; }
form.cart .variations select { min-width: 220px; }
.reset_variations { display: inline-block; margin-top: 6px; font-size: .82rem; color: var(--fd-danger); }
.woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.woocommerce-variation-price .price { font-size: 1.3rem; }
.woocommerce-grouped-product-list { width: 100%; margin-bottom: 8px; }
.woocommerce-grouped-product-list td { padding: 8px 4px; border-bottom: 1px solid var(--fd-border); }

/* Quantity */
.quantity { display: inline-flex; align-items: center; height: 54px; background: var(--fd-soft); border-radius: var(--fd-pill); padding: 4px; }
.quantity .qty { width: 52px; min-height: 0; height: 100%; padding: 0; text-align: center; font-weight: 800; background: transparent; border: 0; box-shadow: none !important; -moz-appearance: textfield; }
.quantity .qty::-webkit-outer-spin-button, .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fd-qty-btn { width: 42px; height: 100%; display: grid; place-items: center; padding: 0; color: var(--fd-dark); background: var(--fd-surface); border: 0; border-radius: 50%; cursor: pointer; transition: background .2s, color .2s; }
.fd-qty-btn:hover { background: var(--fd-dark); color: #fff; }
.fd-qty-btn .fd-icon { width: 16px; height: 16px; }
.quantity.hidden { display: none; }

.fd-trust { display: grid; gap: 8px; margin: 8px 0 12px; padding: 16px 18px; list-style: none; background: var(--fd-soft); border-radius: var(--fd-radius); }
.fd-trust li { display: flex; align-items: center; gap: 10px; font-size: .88rem; font-weight: 600; }
.fd-trust .fd-icon { color: var(--fd-primary-dark); width: 22px; height: 22px; }

.product_meta { display: flex; flex-direction: column; gap: 4px; padding-top: 12px; font-size: .85rem; color: var(--fd-muted); border-top: 1px dashed var(--fd-border); }
.product_meta a { color: var(--fd-dark); font-weight: 600; }
.product_meta a:hover { color: var(--fd-primary); }

/* Tabs */
.woocommerce-tabs { margin-top: 32px; padding: clamp(18px, 3vw, 32px); background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); }
.woocommerce-tabs ul.tabs { display: flex; gap: 6px; margin: 0 0 24px; padding: 0 0 0; list-style: none; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--fd-border); }
.woocommerce-tabs ul.tabs::before, .woocommerce-tabs ul.tabs::after { content: none; }
.woocommerce-tabs ul.tabs li { flex-shrink: 0; margin: 0; padding: 0; background: none; border: 0; }
.woocommerce-tabs ul.tabs li a { position: relative; display: block; padding: 12px 18px; font-weight: 700; color: var(--fd-muted); }
.woocommerce-tabs ul.tabs li.active a { color: var(--fd-dark); }
.woocommerce-tabs ul.tabs li.active a::after { content: ""; position: absolute; inset-inline: 10px; bottom: -1px; height: 3px; background: var(--fd-primary); border-radius: 3px 3px 0 0; }
.woocommerce-Tabs-panel > h2:first-child { font-size: 1.15rem; }
.woocommerce-Tabs-panel { line-height: 2; }
.woocommerce-product-attributes { border: 1px solid var(--fd-border); border-radius: var(--fd-radius-sm); overflow: hidden; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { padding: 12px 16px; text-align: start; border-bottom: 1px solid var(--fd-border); }
.woocommerce-product-attributes th { width: 30%; background: var(--fd-soft); font-weight: 700; }
.woocommerce-product-attributes td p { margin: 0; }
.woocommerce-product-attributes tr:last-child th, .woocommerce-product-attributes tr:last-child td { border-bottom: 0; }

/* Reviews */
#reviews .commentlist { margin: 0 0 24px; padding: 0; list-style: none; }
#reviews .commentlist li .comment_container { display: flex; gap: 14px; padding: 16px; margin-bottom: 12px; background: var(--fd-soft); border-radius: var(--fd-radius-sm); }
#reviews .commentlist li img.avatar { width: 48px; height: 48px; border-radius: 50%; }
#reviews .comment-text { flex: 1; }
#reviews .comment-text .meta { font-size: .82rem; color: var(--fd-muted); margin-bottom: 4px; }
#reviews .comment-text .star-rating { float: inline-end; }
#review_form_wrapper { padding: 20px; border: 1px dashed var(--fd-border); border-radius: var(--fd-radius-sm); }
#review_form .comment-reply-title { display: block; font-weight: 800; font-size: 1.05rem; margin-bottom: 12px; }

.related > h2, .up-sells > h2, .cross-sells > h2 { margin: 48px 0 20px; font-size: clamp(1.2rem, 1rem + .8vw, 1.6rem); }

/* ---------- Checkout steps ---------- */
.fd-steps { display: flex; justify-content: center; gap: 0; margin: 0 auto 32px; padding: 0; max-width: 560px; list-style: none; counter-reset: zt; }
.fd-steps li { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; font-size: .82rem; font-weight: 700; color: var(--fd-muted); white-space: nowrap; }
.fd-steps li span { position: relative; z-index: 1; width: 38px; height: 38px; display: grid; place-items: center; font-weight: 800; background: var(--fd-surface); border: 2px solid var(--fd-border); border-radius: 50%; }
.fd-steps li:not(:last-child)::after { content: ""; position: absolute; top: 18px; inset-inline-start: calc(50% + 24px); inset-inline-end: calc(-50% + 24px); height: 2px; background: var(--fd-border); }
.fd-steps li.is-done span { background: var(--fd-primary); border-color: var(--fd-primary); color: #fff; }
.fd-steps li.is-done::after { background: var(--fd-primary); }
.fd-steps li.is-current { color: var(--fd-dark); }
.fd-steps li.is-current span { border-color: var(--fd-dark); background: var(--fd-dark); color: #fff; box-shadow: 0 0 0 5px rgba(var(--fd-dark-rgb), .08); }

/* ---------- Free shipping bar ---------- */
.fd-fsb { margin-bottom: 20px; padding: 14px 16px; background: var(--fd-warning-bg); border-radius: var(--fd-radius-sm); }
.fd-fsb[hidden] { display: none; }
.fd-fsb__text { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: .86rem; font-weight: 600; }
.fd-fsb__text .fd-icon { color: var(--fd-warning); }
.fd-fsb__bar { display: block; height: 6px; background: rgba(183, 121, 31, .18); border-radius: 6px; overflow: hidden; }
.fd-fsb__bar span { display: block; height: 100%; background: linear-gradient(90deg, #e3a43a, var(--fd-warning)); border-radius: 6px; transition: width .6s var(--fd-ease); }
.fd-fsb.is-done { background: var(--fd-success-bg); }
.fd-fsb.is-done .fd-icon { color: var(--fd-success); }
.fd-fsb.is-done .fd-fsb__bar span { background: var(--fd-success); }

/* ---------- Cart page ---------- */
.fd-wc-page .woocommerce { display: block; }
.woocommerce-cart .fd-wc-page .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 28px; align-items: start; }
.woocommerce-cart .fd-wc-page .woocommerce > * { grid-column: 1 / -1; }
.woocommerce-cart .fd-wc-page .woocommerce > .woocommerce-cart-form { grid-column: 1; }
.woocommerce-cart .fd-wc-page .woocommerce > .cart-collaterals { grid-column: 2; grid-row: span 1; position: sticky; top: 120px; }
.woocommerce-cart .fd-wc-page .woocommerce > .woocommerce-cart-form ~ .cart-collaterals { grid-row: auto; }

.woocommerce-cart-form { background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); padding: 8px 20px; }
.shop_table { border: 0; }
.shop_table th { padding: 14px 8px; font-size: .82rem; font-weight: 700; color: var(--fd-muted); text-align: start; border-bottom: 1px solid var(--fd-border); }
.shop_table td { padding: 16px 8px; vertical-align: middle; border-bottom: 1px solid var(--fd-border); }
.shop_table tr:last-child td { border-bottom: 0; }
.woocommerce-cart-form .product-thumbnail { width: 96px; }
.woocommerce-cart-form .product-thumbnail a, .woocommerce-cart-form .product-thumbnail > img { display: block; width: 84px; aspect-ratio: 1; background: var(--fd-media-bg); border-radius: var(--fd-radius-sm); overflow: hidden; }
.woocommerce-cart-form .product-thumbnail img { width: 100%; height: 100%; object-fit: contain; padding: 6px; }
.fd-blend-media .woocommerce-cart-form .product-thumbnail img, .fd-blend-media .woocommerce-mini-cart img { mix-blend-mode: multiply; }
.woocommerce-cart-form .product-name a { font-weight: 700; color: var(--fd-dark); }
.woocommerce-cart-form .product-name .variation { margin: 4px 0 0; font-size: .8rem; color: var(--fd-muted); }
.woocommerce-cart-form .product-name .variation dt, .woocommerce-cart-form .product-name .variation dd { display: inline; margin: 0; }
.woocommerce-cart-form .product-name .variation dd p { display: inline; margin: 0; }
.woocommerce-cart-form .product-subtotal { font-weight: 800; color: var(--fd-dark); }
.woocommerce-cart-form .quantity { height: 44px; }
.woocommerce-cart-form .fd-qty-btn { width: 34px; }
.woocommerce-cart-form .quantity .qty { width: 40px; }
.woocommerce-cart-form a.remove {
	width: 36px; height: 36px; display: grid; place-items: center; font-size: 0; color: var(--fd-muted);
	background: var(--fd-soft); border-radius: 50%; transition: all .2s;
}
.woocommerce-cart-form a.remove::before {
	content: ""; width: 18px; height: 18px; background: currentColor;
	-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'%3E%3Cpath d='M3 6h18M8 6V4h8v2M6 6l1 15h10l1-15'/%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'%3E%3Cpath d='M3 6h18M8 6V4h8v2M6 6l1 15h10l1-15'/%3E%3C/svg%3E") center/contain no-repeat;
}
.woocommerce-cart-form a.remove:hover { background: var(--fd-danger-bg); color: var(--fd-danger); }
.woocommerce-cart-form td.actions { padding-top: 18px; }
.woocommerce-cart-form .coupon { display: inline-flex; gap: 8px; align-items: center; }
.woocommerce-cart-form .coupon label { display: none; }
.woocommerce-cart-form .coupon .input-text { width: 200px; min-height: 44px; }
.woocommerce-cart-form .coupon .button, .woocommerce-cart-form button[name="update_cart"] { min-height: 44px; white-space: nowrap; }
.woocommerce-cart-form button[name="update_cart"] { float: inline-end; --_bg: transparent; --_fg: var(--fd-dark); border-color: var(--fd-border); }
.woocommerce-cart-form button[name="update_cart"]:not(:disabled):hover { --_bg: var(--fd-dark); color: #fff; }
.fd-auto-update button[name="update_cart"] { display: none; }

.cart-collaterals .cart_totals, .woocommerce-checkout-review-order, .fd-summary-box {
	padding: 22px; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); box-shadow: var(--fd-shadow-sm);
}
.cart_totals > h2 { font-size: 1.1rem; margin-bottom: 8px; }
.cart_totals table th, .cart_totals table td { padding: 12px 0; font-size: .9rem; border-bottom: 1px dashed var(--fd-border); }
.cart_totals table td { text-align: end; }
.cart_totals .order-total th, .cart_totals .order-total td { font-size: 1.05rem; font-weight: 800; color: var(--fd-dark); border-bottom: 0; }
.cart_totals .order-total .amount { font-size: 1.2rem; }
.woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
.woocommerce-shipping-methods li { display: flex; align-items: center; justify-content: flex-end; gap: 6px; padding: 3px 0; }
.woocommerce-shipping-methods label { margin: 0; font-weight: 500; }
.woocommerce-shipping-destination, .shipping-calculator-button { font-size: .8rem; color: var(--fd-muted); }
.shipping-calculator-form { margin-top: 10px; text-align: start; }
.shipping-calculator-form p { margin-bottom: 8px; }
.wc-proceed-to-checkout { padding-top: 14px; }
.wc-proceed-to-checkout .checkout-button { width: 100%; min-height: 54px; font-size: 1rem; --_bg: var(--fd-primary); }
.wc-proceed-to-checkout .checkout-button:hover { --_bg: var(--fd-dark); }

.cart-empty.woocommerce-info { flex-direction: column; justify-content: center; padding: 56px 20px 16px; font-size: 1.05rem; font-weight: 700; text-align: center; background: transparent; border: 0; }
.cart-empty.woocommerce-info::before {
	position: static; width: 88px; height: 88px; margin-bottom: 8px; background: var(--fd-primary);
	--_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.2'%3E%3Cpath d='M5.5 7.5h13l-1 13h-11z'/%3E%3Cpath d='M9 7.5V7a3 3 0 0 1 6 0v.5'/%3E%3C/svg%3E");
}
.return-to-shop { text-align: center; margin-bottom: 40px; }

/* ---------- Mini cart (drawer) ---------- */
#fd-cart-drawer .fd-drawer__body { display: flex; flex-direction: column; }
.fd-drawer .widget_shopping_cart_content { display: flex; flex-direction: column; flex: 1 0 auto; }
.woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.woocommerce-mini-cart-item {
	position: relative; display: grid; grid-template-columns: 72px 1fr; grid-template-rows: auto auto; column-gap: 14px;
	padding: 14px 0; padding-inline-end: 34px; border-bottom: 1px solid var(--fd-border);
}
.woocommerce-mini-cart-item > a:not(.remove) { display: contents; font-weight: 700; font-size: .9rem; line-height: 1.6; color: var(--fd-dark); }
.woocommerce-mini-cart-item img { grid-row: 1 / span 2; width: 72px !important; height: 72px !important; object-fit: contain; padding: 4px; background: var(--fd-media-bg); border-radius: var(--fd-radius-sm); }
.woocommerce-mini-cart-item .quantity { height: auto; padding: 0; background: none; font-size: .82rem; color: var(--fd-muted); }
.woocommerce-mini-cart-item .variation { grid-column: 2; margin: 0; font-size: .78rem; color: var(--fd-muted); }
.woocommerce-mini-cart-item .variation dt, .woocommerce-mini-cart-item .variation dd { display: inline; margin: 0; }
.woocommerce-mini-cart-item .variation p { display: inline; margin: 0; }
.woocommerce-mini-cart-item a.remove {
	position: absolute; top: 14px; inset-inline-end: 0; width: 28px; height: 28px; display: grid; place-items: center;
	font-size: 18px; line-height: 1; color: var(--fd-muted); background: var(--fd-soft); border-radius: 50%;
}
.woocommerce-mini-cart-item a.remove:hover { background: var(--fd-danger-bg); color: var(--fd-danger); }
.woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: center; margin: auto 0 0; padding: 18px 0 12px; font-size: 1rem; }
.woocommerce-mini-cart__total strong { font-weight: 600; color: var(--fd-muted); }
.woocommerce-mini-cart__total .amount { font-weight: 800; font-size: 1.15rem; color: var(--fd-dark); }
.woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
.woocommerce-mini-cart__buttons .button { width: 100%; }
.woocommerce-mini-cart__buttons .button:not(.checkout) { --_bg: transparent; --_fg: var(--fd-dark); border-color: var(--fd-border); }
.woocommerce-mini-cart__buttons .button:not(.checkout):hover { --_bg: var(--fd-dark); color: #fff; }
.woocommerce-mini-cart__buttons .checkout { --_bg: var(--fd-primary); }
.woocommerce-mini-cart__empty-message { padding: 48px 0; text-align: center; color: var(--fd-muted); }
.fd-drawer .blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; }

/* ---------- Checkout ---------- */
.woocommerce-form-coupon-toggle .woocommerce-info, .woocommerce-form-login-toggle .woocommerce-info { background: var(--fd-surface); border-color: var(--fd-border); }
form.checkout_coupon, form.woocommerce-form-login { margin-bottom: 24px; padding: 20px; background: var(--fd-surface); border: 1px dashed var(--fd-border); border-radius: var(--fd-radius); }
form.checkout_coupon { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
form.checkout_coupon p { margin: 0; }
form.checkout_coupon .form-row-first { flex: 1; }

form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; grid-template-rows: auto auto 1fr; column-gap: 28px; align-items: start; }
form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; grid-row: 1; }
form.checkout > #customer_details { grid-column: 1; grid-row: 2 / span 2; }
form.checkout > #order_review_heading { grid-column: 2; grid-row: 2; margin: 0; padding: 22px 22px 0; font-size: 1.1rem; background: var(--fd-surface); border: 1px solid var(--fd-border); border-bottom: 0; border-radius: var(--fd-radius) var(--fd-radius) 0 0; }
form.checkout > #order_review { grid-column: 2; grid-row: 3; border-top: 0; border-radius: 0 0 var(--fd-radius) var(--fd-radius); position: sticky; top: 120px; }
.col2-set { display: grid; gap: 20px; }
.col2-set::before, .col2-set::after { content: none; }
.col2-set .col-1, .col2-set .col-2 { width: auto; float: none; max-width: none; padding: 0; }
#customer_details .col-1, #customer_details .col-2 { padding: 22px; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); }
#customer_details h3 { font-size: 1.1rem; margin-bottom: 16px; }
#ship-to-different-address { font-size: 1rem; }
#ship-to-different-address label { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, .woocommerce-additional-fields__field-wrapper {
	display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px;
}
.form-row { margin: 0 0 14px; padding: 0; }
.form-row-wide, .woocommerce-additional-fields__field-wrapper .form-row, .form-row.notes, #billing_address_1_field, #billing_address_2_field, #shipping_address_1_field, #shipping_address_2_field, #billing_country_field, #shipping_country_field { grid-column: 1 / -1; }
.form-row-first, .form-row-last { width: auto !important; float: none !important; }
.form-row label .required { color: var(--fd-danger); text-decoration: none; border: 0; }
.form-row label .optional { font-weight: 400; font-size: .8em; color: var(--fd-muted); }
.form-row.woocommerce-invalid input.input-text, .form-row.woocommerce-invalid select { border-color: var(--fd-danger); }
.form-row.woocommerce-validated input.input-text { border-color: rgba(47, 133, 90, .5); }
.form-row .woocommerce-input-wrapper { display: block; }
.woocommerce-input-wrapper .description { display: block; margin-top: 4px; font-size: .78rem; color: var(--fd-muted); }

.woocommerce-checkout-review-order-table { margin-bottom: 18px; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: 12px 0; font-size: .88rem; border-bottom: 1px dashed var(--fd-border); }
.woocommerce-checkout-review-order-table td:last-child, .woocommerce-checkout-review-order-table th:last-child { text-align: end; }
.woocommerce-checkout-review-order-table .product-name { color: var(--fd-dark); font-weight: 600; }
.woocommerce-checkout-review-order-table .product-quantity { color: var(--fd-muted); font-weight: 700; }
.woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout-review-order-table .order-total td { font-size: 1.05rem; font-weight: 800; color: var(--fd-dark); border-bottom: 0; }

#payment { background: none; }
#payment .wc_payment_methods { margin: 0 0 14px; padding: 0; list-style: none; border: 0; }
#payment .wc_payment_method { margin-bottom: 10px; padding: 14px 16px; background: var(--fd-soft); border: 2px solid transparent; border-radius: var(--fd-radius-sm); transition: border-color .2s, background .2s; }
#payment .wc_payment_method:has(input:checked) { background: var(--fd-surface); border-color: var(--fd-primary); }
#payment .wc_payment_method > label { display: inline-flex; align-items: center; gap: 8px; margin: 0; cursor: pointer; font-weight: 700; }
#payment .wc_payment_method > label img { max-height: 28px; width: auto; }
#payment .payment_box { margin-top: 10px; padding: 0; font-size: .84rem; color: var(--fd-muted); background: none; }
#payment .payment_box::before { content: none; }
#payment .payment_box p:last-child { margin: 0; }
#payment .place-order { margin: 0; padding: 0; }
.woocommerce-terms-and-conditions-wrapper { font-size: .82rem; color: var(--fd-muted); margin-bottom: 14px; }
.woocommerce-terms-and-conditions-wrapper .woocommerce-form__label-for-checkbox { display: flex; gap: 8px; align-items: flex-start; font-weight: 500; }
#place_order { width: 100%; min-height: 56px; font-size: 1.02rem; --_bg: var(--fd-primary); }
#place_order:hover { --_bg: var(--fd-dark); }
#place_order::before {
	content: ""; width: 20px; height: 20px; background: currentColor;
	-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='2'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%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='2'%3E%3Crect x='4' y='10' width='16' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* select2 (country/state) */
.select2-container .select2-selection--single { height: 48px; border: 1px solid var(--fd-border); border-radius: var(--fd-radius-sm); }
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-inline: 14px 36px; font-family: var(--fd-font); color: var(--fd-text); }
.select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
.select2-container--default.select2-container--focus .select2-selection--single, .select2-container--open .select2-selection--single { border-color: var(--fd-primary); }
.select2-dropdown { font-family: var(--fd-font); border-color: var(--fd-border); border-radius: var(--fd-radius-sm); overflow: hidden; box-shadow: var(--fd-shadow); }
.select2-container--default .select2-results__option--highlighted[aria-selected], .select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--fd-primary); }
.select2-search--dropdown .select2-search__field { min-height: 40px; border-radius: var(--fd-radius-xs); }

/* Order pay / order received */
.woocommerce-order-pay #order_review { max-width: 760px; margin-inline: auto; }
.woocommerce-order { max-width: 860px; margin-inline: auto; }
.woocommerce-thankyou-order-received {
	display: flex; flex-direction: column; align-items: center; gap: 12px;
	padding: 32px 20px; margin-bottom: 24px; font-size: 1.15rem; font-weight: 800; text-align: center; color: var(--fd-dark);
	background: var(--fd-success-bg); border-radius: var(--fd-radius);
}
.woocommerce-thankyou-order-received::before {
	content: ""; width: 64px; height: 64px; background: var(--fd-success);
	-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.6'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12 3 3 5-6'/%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.6'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E") center/contain no-repeat;
}
ul.woocommerce-order-overview, ul.order_details {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 0 0 28px; padding: 0; list-style: none;
}
ul.woocommerce-order-overview li, ul.order_details li { padding: 14px; font-size: .8rem; color: var(--fd-muted); background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius-sm); }
ul.woocommerce-order-overview li strong, ul.order_details li strong { display: block; margin-top: 4px; font-size: .95rem; color: var(--fd-dark); }
.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-bacs-bank-details { margin-bottom: 24px; padding: 22px; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); }
.woocommerce-order-details__title, .woocommerce-column__title, .wc-bacs-bank-details-heading { font-size: 1.1rem; }
.woocommerce-table--order-details th, .woocommerce-table--order-details td { padding: 12px 6px; font-size: .9rem; border-bottom: 1px dashed var(--fd-border); }
.woocommerce-table--order-details td:last-child, .woocommerce-table--order-details tfoot td { text-align: end; }
.woocommerce-table--order-details tfoot tr:last-child th, .woocommerce-table--order-details tfoot tr:last-child td { font-weight: 800; color: var(--fd-dark); border-bottom: 0; }
.woocommerce-customer-details address { padding: 16px; font-style: normal; line-height: 2; background: var(--fd-soft); border: 0; border-radius: var(--fd-radius-sm); }
.woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.woocommerce-customer-details--phone, .woocommerce-customer-details--email { margin: 6px 0 0; direction: ltr; text-align: end; }

/* ---------- My account ---------- */
.woocommerce-account .fd-wc-page .woocommerce { display: grid; grid-template-columns: 280px minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 28px; align-items: start; }
.woocommerce-account .fd-wc-page .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
/* User card + navigation share the start column; content spans both rows. */
.woocommerce-account .fd-wc-page .woocommerce > .fd-account-user { grid-column: 1; grid-row: 1; }
.woocommerce-account .fd-wc-page .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; grid-row: 2; }
.woocommerce-account .fd-wc-page .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; grid-row: 1 / span 2; }
.woocommerce-account:not(.logged-in) .fd-wc-page .woocommerce { display: block; }

.fd-account-user { display: flex; align-items: center; gap: 12px; padding: 18px; margin-bottom: 10px; background: linear-gradient(135deg, var(--fd-dark), #1f3a47); color: #fff; border-radius: var(--fd-radius); }
.fd-account-user__avatar img { width: 54px; height: 54px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .3); }
.fd-account-user strong { display: block; font-size: 1rem; }
.fd-account-user span { display: block; font-size: .8rem; color: rgba(255, 255, 255, .7); direction: ltr; text-align: end; }
[dir="rtl"] .fd-account-user span { text-align: right; }

.woocommerce-MyAccount-navigation { position: sticky; top: 120px; }
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 8px; list-style: none; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); }
.woocommerce-MyAccount-navigation-link a {
	display: flex; align-items: center; gap: 12px; padding: 12px 14px;
	font-size: .92rem; font-weight: 700; color: var(--fd-text); border-radius: var(--fd-radius-sm);
	transition: background .2s, color .2s;
}
.woocommerce-MyAccount-navigation-link a::before {
	content: ""; flex-shrink: 0; width: 22px; height: 22px; background: currentColor; opacity: .7;
	-webkit-mask: var(--_icon) center/contain no-repeat; mask: var(--_icon) center/contain no-repeat;
	--_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.7'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E");
}
.woocommerce-MyAccount-navigation-link a:hover { background: var(--fd-soft); color: var(--fd-dark); }
.woocommerce-MyAccount-navigation-link.is-active a { background: var(--fd-primary-soft); color: var(--fd-primary-dark); }
.woocommerce-MyAccount-navigation-link.is-active a::before { opacity: 1; }
.woocommerce-MyAccount-navigation-link--dashboard a::before { --_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.7'%3E%3Cpath d='M3 10.5 12 3l9 7.5V21h-6v-6H9v6H3z'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--orders a::before { --_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.7'%3E%3Cpath d='M5 2h14v20l-3-2-2 2-2-2-2 2-2-2-3 2z'/%3E%3Cpath d='M9 7h6M9 11h6M9 15h4'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--downloads a::before { --_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.7'%3E%3Cpath d='M12 3v12m-5-5 5 5 5-5M4 21h16'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-address a::before { --_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.7'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 1 0-14 0c0 5.8 7 12 7 12z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--payment-methods a::before { --_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.7'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--edit-account a::before { --_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.7'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--fd-danger); }
.woocommerce-MyAccount-navigation-link--customer-logout a::before { --_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.7'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4'/%3E%3Cpath d='m16 17 5-5-5-5M21 12H9'/%3E%3C/svg%3E"); }
.woocommerce-MyAccount-navigation-link--customer-logout a:hover { background: var(--fd-danger-bg); color: var(--fd-danger); }

.woocommerce-MyAccount-content { min-width: 0; padding: clamp(18px, 3vw, 30px); background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); }
.woocommerce-MyAccount-content > h2:first-child, .woocommerce-MyAccount-content > h3:first-child, .woocommerce-MyAccount-content legend { font-size: 1.15rem; }

/* Dashboard */
.fd-dash-hello { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.fd-dash-hello h2 { font-size: 1.3rem; margin-bottom: 4px; }
.fd-dash-hello p { margin: 0; color: var(--fd-muted); font-size: .9rem; }
.fd-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 24px; }
.fd-stat { display: flex; flex-direction: column; gap: 2px; padding: 18px; background: var(--fd-soft); border-radius: var(--fd-radius); }
.fd-stat__icon { width: 42px; height: 42px; display: grid; place-items: center; margin-bottom: 8px; color: var(--fd-primary-dark); background: var(--fd-surface); border-radius: 12px; }
.fd-stat strong { font-size: 1.35rem; font-weight: 900; color: var(--fd-dark); line-height: 1.4; }
.fd-stat strong .woocommerce-Price-currencySymbol { font-size: .6em; font-weight: 600; color: var(--fd-muted); }
.fd-stat > span:last-child { font-size: .82rem; color: var(--fd-muted); }
.fd-dash-box { margin-bottom: 24px; padding: 18px; border: 1px solid var(--fd-border); border-radius: var(--fd-radius); }
.fd-dash-box__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
.fd-dash-box__head h3 { margin: 0; font-size: 1.05rem; }
.fd-order-list { margin: 0; padding: 0; list-style: none; }
.fd-order-row { display: grid; grid-template-columns: auto 1fr auto auto auto; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px dashed var(--fd-border); }
.fd-order-row:last-child { border-bottom: 0; }
.fd-order-row__thumbs { display: flex; }
.fd-order-row__thumbs .fd-media { width: 46px; height: 46px; border-radius: 12px; border: 2px solid var(--fd-surface); }
.fd-order-row__thumbs .fd-media + .fd-media { margin-inline-start: -14px; }
.fd-order-row__thumbs img { object-fit: contain; padding: 3px; }
.fd-order-row__info strong { display: block; font-size: .92rem; color: var(--fd-dark); }
.fd-order-row__info span { font-size: .8rem; color: var(--fd-muted); }
.fd-order-row__total { font-weight: 800; font-size: .92rem; color: var(--fd-dark); }
.fd-dash-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.fd-dash-links a { display: flex; flex-direction: column; gap: 2px; padding: 18px; border: 1px solid var(--fd-border); border-radius: var(--fd-radius); transition: border-color .2s, box-shadow .2s; }
.fd-dash-links a:hover { border-color: var(--fd-primary); box-shadow: var(--fd-shadow-sm); color: inherit; }
.fd-dash-links .fd-icon { color: var(--fd-primary-dark); width: 28px; height: 28px; margin-bottom: 8px; }
.fd-dash-links strong { color: var(--fd-dark); }
.fd-dash-links span { font-size: .8rem; color: var(--fd-muted); }

/* Status pills */
.fd-status { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px; font-size: .78rem; font-weight: 800; white-space: nowrap; color: var(--fd-muted); background: var(--fd-soft); border-radius: var(--fd-pill); }
.fd-status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.fd-status--processing { color: var(--fd-info); background: var(--fd-info-bg); }
.fd-status--shipped { color: #6b46c1; background: #f1ebfd; }
.fd-status--completed { color: var(--fd-success); background: var(--fd-success-bg); }
.fd-status--on-hold, .fd-status--pending { color: var(--fd-warning); background: var(--fd-warning-bg); }
.fd-status--failed, .fd-status--cancelled, .fd-status--refunded { color: var(--fd-danger); background: var(--fd-danger-bg); }

/* Orders table */
.woocommerce-orders-table { font-size: .9rem; }
.woocommerce-orders-table th { white-space: nowrap; }
.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a { font-weight: 800; color: var(--fd-dark); }
.woocommerce-orders-table__cell-order-actions { text-align: end; }
.woocommerce-orders-table .button, .woocommerce-MyAccount-content .order-again .button { min-height: 36px; padding: .4em 1em; font-size: .8rem; margin: 2px; }
.woocommerce-orders-table .button.view { --_bg: transparent; --_fg: var(--fd-dark); border-color: var(--fd-border); }
.woocommerce-orders-table .button.view:hover { --_bg: var(--fd-dark); color: #fff; }
.woocommerce-orders-table .button.pay { --_bg: var(--fd-primary); }
.woocommerce-MyAccount-content .woocommerce-pagination { display: flex; justify-content: space-between; margin-top: 16px; }
.woocommerce-MyAccount-content mark { background: none; font-weight: 800; color: var(--fd-dark); }

/* View order + tracker */
.fd-tracker { display: flex; margin: 4px 0 28px; padding: 0; list-style: none; }
.fd-tracker li { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; font-size: .8rem; font-weight: 700; color: var(--fd-muted); }
.fd-tracker li:not(:last-child)::after { content: ""; position: absolute; top: 24px; inset-inline-start: calc(50% + 30px); inset-inline-end: calc(-50% + 30px); height: 3px; border-radius: 3px; background: var(--fd-border); }
.fd-tracker__dot { position: relative; z-index: 1; width: 50px; height: 50px; display: grid; place-items: center; background: var(--fd-soft); border-radius: 50%; }
.fd-tracker__dot .fd-icon { width: 24px; height: 24px; }
.fd-tracker li.is-done { color: var(--fd-dark); }
.fd-tracker li.is-done .fd-tracker__dot { background: var(--fd-primary); color: #fff; }
.fd-tracker li.is-done::after { background: var(--fd-primary); }
.fd-tracker li.is-current { color: var(--fd-dark); }
.fd-tracker li.is-current .fd-tracker__dot { background: var(--fd-dark); color: #fff; box-shadow: 0 0 0 6px rgba(var(--fd-dark-rgb), .08); }
.fd-tracker-alert { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 20px; padding: 14px 16px; font-weight: 700; font-size: .9rem; border-radius: var(--fd-radius-sm); background: var(--fd-danger-bg); color: var(--fd-danger); }
.fd-tracker-alert--pending { background: var(--fd-warning-bg); color: var(--fd-warning); }
.fd-tracker-alert .fd-btn { margin-inline-start: auto; }
.fd-tracking-code { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 20px; padding: 14px 16px; font-size: .9rem; background: #f1ebfd; border-radius: var(--fd-radius-sm); }
.fd-tracking-code .fd-icon { color: #6b46c1; }
.fd-tracking-code code { font-size: 1rem; font-weight: 800; background: #fff; letter-spacing: .05em; cursor: copy; }
.woocommerce-MyAccount-content .woocommerce-order-details, .woocommerce-MyAccount-content .woocommerce-customer-details { padding: 0; border: 0; }
.woocommerce-OrderUpdates { margin: 0 0 24px; padding: 0; list-style: none; }
.woocommerce-OrderUpdate { padding: 14px; margin-bottom: 10px; background: var(--fd-soft); border-radius: var(--fd-radius-sm); }
.woocommerce-OrderUpdate-meta { font-size: .78rem; color: var(--fd-muted); margin: 0 0 4px; }

/* Addresses */
.woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.woocommerce-Address { padding: 18px; border: 1px solid var(--fd-border); border-radius: var(--fd-radius); }
.woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.woocommerce-Address-title h2, .woocommerce-Address-title h3 { margin: 0; font-size: 1rem; }
.woocommerce-Address-title .edit { font-size: .82rem; font-weight: 700; color: var(--fd-primary-dark); }
.woocommerce-Address address { font-style: normal; line-height: 2; color: var(--fd-muted); }

/* Account forms */
.woocommerce-EditAccountForm, .woocommerce-address-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.woocommerce-EditAccountForm > *, .woocommerce-address-fields > * { grid-column: 1 / -1; }
.woocommerce-EditAccountForm > .form-row-first { grid-column: 1; }
.woocommerce-EditAccountForm > .form-row-last { grid-column: 2; }
.woocommerce-EditAccountForm fieldset { margin: 12px 0; padding: 18px; border: 1px dashed var(--fd-border); border-radius: var(--fd-radius-sm); }
.woocommerce-EditAccountForm em { display: block; margin-top: 4px; font-size: .78rem; color: var(--fd-muted); font-style: normal; }
.woocommerce-EditAccountForm .button, .woocommerce-address-fields .button { justify-self: start; }

/* Login / register */
.fd-auth-intro { max-width: 560px; margin: 0 auto 28px; text-align: center; }
.fd-auth-intro .fd-icon { width: 56px; height: 56px; padding: 14px; box-sizing: content-box; color: var(--fd-primary-dark); background: var(--fd-primary-soft); border-radius: 50%; margin-bottom: 12px; }
.fd-auth-intro h2 { margin-bottom: 4px; }
.fd-auth-intro p { color: var(--fd-muted); }
#customer_login { grid-template-columns: 1fr 1fr; max-width: 920px; margin-inline: auto; }
#customer_login > div { padding: 28px; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); box-shadow: var(--fd-shadow-sm); }
#customer_login h2 { font-size: 1.15rem; }
.woocommerce-form-login, .woocommerce-form-register { margin: 0; }
.woocommerce-form-login .form-row, .woocommerce-form-register .form-row { margin-bottom: 14px; }
.woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; font-weight: 500; }
.woocommerce-form-login__submit, .woocommerce-form-register__submit { width: 100%; margin-top: 8px !important; float: none !important; }
.woocommerce-LostPassword { margin: 14px 0 0; text-align: center; font-size: .86rem; }
.woocommerce-LostPassword a { color: var(--fd-primary-dark); }
.woocommerce-privacy-policy-text { font-size: .8rem; color: var(--fd-muted); }
.woocommerce-account:not(.logged-in) .woocommerce > form.woocommerce-form-login, form.lost_reset_password { max-width: 460px; margin: 0 auto; padding: 28px; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); }
.woocommerce-password-strength { margin-top: 6px; padding: 6px 10px; font-size: .8rem; border-radius: var(--fd-radius-xs); }
.woocommerce-password-strength.strong { background: var(--fd-success-bg); color: var(--fd-success); }
.woocommerce-password-strength.short, .woocommerce-password-strength.bad { background: var(--fd-danger-bg); color: var(--fd-danger); }
.woocommerce-password-strength.good { background: var(--fd-warning-bg); color: var(--fd-warning); }
.show-password-input { position: absolute; inset-inline-end: 12px; top: 50%; transform: translateY(-50%); background: none; border: 0; cursor: pointer; opacity: .6; }
.password-input { position: relative; display: block; }

/* ---------- Payment result page ---------- */
.fd-result-steps { padding-top: 32px; }
.fd-result { max-width: 760px; margin: 0 auto 56px; padding: clamp(22px, 4vw, 40px); background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: calc(var(--fd-radius) + 6px); box-shadow: var(--fd-shadow); }
.fd-result__head { text-align: center; padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px dashed var(--fd-border); }
.fd-result__icon { display: inline-grid; place-items: center; width: 96px; height: 96px; margin-bottom: 16px; border-radius: 50%; color: var(--fd-success); background: var(--fd-success-bg); animation: fd-pop .6s var(--fd-ease) both; }
.fd-result__icon .fd-icon { width: 54px; height: 54px; stroke-width: 1.5; }
.fd-result--failed .fd-result__icon, .fd-result--invalid .fd-result__icon { color: var(--fd-danger); background: var(--fd-danger-bg); }
.fd-result--pending .fd-result__icon { color: var(--fd-warning); background: var(--fd-warning-bg); }
.fd-result--success .fd-result__icon { box-shadow: 0 0 0 12px rgba(47, 133, 90, .07); }
.fd-result__head h1 { font-size: clamp(1.3rem, 1.1rem + 1vw, 1.8rem); margin-bottom: 8px; }
.fd-result__head p { max-width: 520px; margin: 0 auto; color: var(--fd-muted); }
@keyframes fd-pop { from { transform: scale(.6); opacity: 0; } }
.fd-result__details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0 0 24px; }
.fd-result__details > div { padding: 14px 16px; background: var(--fd-soft); border-radius: var(--fd-radius-sm); }
.fd-result__details dt { font-size: .78rem; color: var(--fd-muted); }
.fd-result__details dd { margin: 2px 0 0; font-weight: 800; color: var(--fd-dark); word-break: break-word; }
.fd-result__details code { font-size: 1rem; background: var(--fd-surface); cursor: copy; }
.fd-result__reason { grid-column: 1 / -1; background: var(--fd-danger-bg) !important; }
.fd-result__reason dd { color: var(--fd-danger); font-weight: 700; }
.fd-result__items h2 { font-size: 1rem; }
.fd-result__items ul { margin: 0 0 24px; padding: 0; list-style: none; }
.fd-result__items li { display: flex; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--fd-border); }
.fd-result__items .fd-media { flex-shrink: 0; width: 54px; height: 54px; border-radius: 12px; }
.fd-result__items .fd-media img { object-fit: contain; padding: 4px; }
.fd-result__item-name { flex: 1; font-weight: 600; font-size: .9rem; }
.fd-result__item-name small { color: var(--fd-muted); margin-inline-start: 6px; }
.fd-result__item-total { font-weight: 800; font-size: .9rem; }
.fd-result__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }

.fd-copied { position: relative; }
.fd-copied::after { content: attr(data-fd-copied); position: absolute; bottom: calc(100% + 6px); inset-inline-start: 50%; transform: translateX(50%); padding: 4px 10px; font-family: var(--fd-font); font-size: .72rem; color: #fff; white-space: nowrap; background: var(--fd-dark); border-radius: 6px; }
html:not([dir="rtl"]) .fd-copied::after { transform: translateX(-50%); }

/* ---------- WooCommerce blocks (when the store keeps Cart/Checkout blocks) ---------- */
.wc-block-components-button:not(.is-link) { border-radius: var(--fd-pill) !important; font-family: var(--fd-font) !important; font-weight: 700 !important; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--fd-primary) !important; color: #fff !important; min-height: 54px; }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-block-components-select select { border-radius: var(--fd-radius-sm) !important; font-family: var(--fd-font) !important; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar { padding: 20px; background: var(--fd-surface); border: 1px solid var(--fd-border); border-radius: var(--fd-radius); }
.wc-block-components-product-image img { background: var(--fd-media-bg); border-radius: var(--fd-radius-sm); object-fit: contain; }
.wp-block-woocommerce-checkout, .wp-block-woocommerce-cart { font-family: var(--fd-font); }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1200px) {
	ul.products.columns-5, ul.products.columns-6 { --fd-cols: 4; }
	form.checkout { grid-template-columns: minmax(0, 1fr) 360px; }
}

@media (max-width: 991px) {
	ul.products, ul.products.columns-4, ul.products.columns-5, ul.products.columns-6, ul.products.columns-3 { --fd-cols: 3; gap: 16px; }
	.fd-products-block { --fd-cols: 3 !important; }
	.fd-carousel ul.products { grid-auto-columns: calc((100% - 2 * 16px) / 2.4); }

	.fd-shop--sidebar { grid-template-columns: minmax(0, 1fr); }
	.fd-shop__sidebar.fd-drawer { position: fixed; z-index: 1000; }
	.fd-shop__sidebar-head { display: flex; }
	.fd-shop__sidebar .fd-drawer__body { padding: 16px; overflow-y: auto; }
	.fd-shop__sidebar .widget { padding: 0 0 16px; border: 0; border-bottom: 1px solid var(--fd-border); border-radius: 0; }
	.fd-shop-toolbar__filter { display: inline-flex; }

	.single-product div.product { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.single-product .summary { position: static; }

	.woocommerce-cart .fd-wc-page .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-cart .fd-wc-page .woocommerce > .woocommerce-cart-form, .woocommerce-cart .fd-wc-page .woocommerce > .cart-collaterals { grid-column: 1; position: static; }

	form.checkout { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
	form.checkout > #customer_details, form.checkout > #order_review_heading, form.checkout > #order_review { grid-column: 1; grid-row: auto; position: static; }
	form.checkout > #order_review_heading { margin-top: 20px; }

	.woocommerce-account .fd-wc-page .woocommerce { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; row-gap: 16px; }
	.woocommerce-account .fd-wc-page .woocommerce > * { grid-column: 1 !important; grid-row: auto !important; }
	.woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-MyAccount-navigation ul { display: flex; overflow-x: auto; gap: 4px; scrollbar-width: none; }
	.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.woocommerce-MyAccount-navigation-link a { white-space: nowrap; padding: 10px 12px; font-size: .85rem; }
	.fd-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
	/* Responsive cart table: each row becomes a card */
	.woocommerce-cart-form { padding: 4px 14px; }
	.woocommerce-cart-form .shop_table, .woocommerce-cart-form .shop_table tbody { display: block; width: 100%; }
	.woocommerce-cart-form .shop_table tr:not(.cart_item) { display: block; }
	.woocommerce-cart-form .shop_table thead { display: none; }
	.woocommerce-cart-form .shop_table tr.cart_item {
		position: relative; display: grid; grid-template-columns: 84px 1fr; grid-template-areas: "thumb name" "thumb price" "thumb qty" "thumb subtotal";
		column-gap: 14px; padding: 16px 0; padding-inline-end: 40px; border-bottom: 1px solid var(--fd-border);
	}
	.woocommerce-cart-form .shop_table tr.cart_item td { display: block; padding: 2px 0; border: 0; text-align: start !important; }
	.woocommerce-cart-form .shop_table tr.cart_item td::before { content: none !important; }
	.woocommerce-cart-form td.product-remove { position: absolute; top: 14px; inset-inline-end: 0; }
	.woocommerce-cart-form td.product-thumbnail { grid-area: thumb; display: block !important; width: auto; }
	.woocommerce-cart-form td.product-name { grid-area: name; }
	.woocommerce-cart-form td.product-price { grid-area: price; font-size: .85rem; color: var(--fd-muted); }
	.woocommerce-cart-form td.product-quantity { grid-area: qty; padding-top: 8px !important; }
	.woocommerce-cart-form td.product-subtotal { grid-area: subtotal; }
	.woocommerce-cart-form td.actions { display: block; }
	.woocommerce-cart-form .coupon { display: flex; width: 100%; margin-bottom: 10px; }
	.woocommerce-cart-form .coupon .input-text { flex: 1; width: auto; min-width: 0; }
	.woocommerce-cart-form .coupon .button { flex-shrink: 0; padding-inline: 1em; }
	.woocommerce-cart-form button[name="update_cart"] { float: none; width: 100%; }

	.shop_table_responsive:not(.woocommerce-cart-form__contents) thead { display: none; }
	.shop_table_responsive:not(.woocommerce-cart-form__contents) tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--fd-border); }
	.shop_table_responsive:not(.woocommerce-cart-form__contents) td { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border: 0; text-align: end !important; }
	.shop_table_responsive:not(.woocommerce-cart-form__contents) td::before { content: attr(data-title); font-weight: 700; color: var(--fd-muted); }
	.shop_table_responsive:not(.woocommerce-cart-form__contents) tbody th { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border: 0; }
	.shop_table_responsive:not(.woocommerce-cart-form__contents) tbody th[data-title]::before { content: attr(data-title); font-weight: 700; color: var(--fd-muted); }
	.cart_totals .shop_table_responsive tbody th { display: none; }
	.woocommerce-orders-table__cell-order-actions::before { content: none !important; }
	.woocommerce-orders-table__cell-order-actions { justify-content: flex-start !important; }

	.fd-order-row { grid-template-columns: auto 1fr auto; row-gap: 6px; }
	.fd-order-row__total { grid-column: 2; }
	.fd-order-row .fd-btn { grid-column: 3; grid-row: 2; }
	.fd-dash-links { grid-template-columns: minmax(0, 1fr); }
	.fd-dash-hello { flex-direction: column; }
	.woocommerce-Addresses, .woocommerce-customer-details .woocommerce-columns, #customer_login { grid-template-columns: minmax(0, 1fr); }
	.fd-result__details { grid-template-columns: minmax(0, 1fr); }
	.fd-tracker li { font-size: .72rem; }
	.fd-tracker__dot { width: 40px; height: 40px; }
	.fd-tracker li:not(:last-child)::after { top: 19px; inset-inline-start: calc(50% + 24px); inset-inline-end: calc(-50% + 24px); }
}

@media (max-width: 600px) {
	ul.products, ul.products[class*="columns-"] { --fd-cols: 2 !important; gap: 10px; }
	.fd-products-block { --fd-cols: 2 !important; }
	.fd-carousel ul.products { grid-auto-columns: calc((100% - 10px) / 1.7); gap: 10px; }
	.fd-card { padding: 6px; border-radius: var(--fd-radius); }
	.fd-card__media { border-radius: calc(var(--fd-radius) - 4px); }
	.fd-card__body { padding: 10px 4px 2px; }
	.fd-card__title { font-size: .84rem; }
	.fd-card__footer { flex-wrap: wrap; }
	.fd-card__action .button { width: 38px; height: 38px; min-height: 38px; border-radius: 12px; }
	.fd-card:hover { transform: none; }
	.price { font-size: .9rem; }
	.fd-badge { font-size: .68rem; padding: 2px 8px; }

	.fd-shop-toolbar { padding: 8px; gap: 8px; }
	.fd-shop-toolbar .woocommerce-result-count { display: none; }
	.fd-shop-toolbar .woocommerce-ordering { flex: 1; }
	.fd-shop-toolbar .woocommerce-ordering select { min-width: 0; }

	form.cart { padding: 14px; }
	form.cart .single_add_to_cart_button { min-height: 50px; }
	.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper, .woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm, .woocommerce-address-fields { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-EditAccountForm > .form-row-first, .woocommerce-EditAccountForm > .form-row-last { grid-column: 1; }
	#customer_details .col-1, #customer_details .col-2, .cart-collaterals .cart_totals, .woocommerce-checkout-review-order { padding: 16px; }
	.fd-steps li { font-size: .72rem; white-space: normal; text-align: center; line-height: 1.5; }
	.fd-stat { padding: 14px; }
	.fd-stat strong { font-size: 1.1rem; }
	.woocommerce-mini-cart__buttons { grid-template-columns: minmax(0, 1fr); }
}
