/* Native WooCommerce compatibility surface; full commerce layout arrives in Phases 2–5.
   WooCommerce's unlayered stylesheet requires unlayered selectors here. */
.fs-site .woocommerce a.button, .fs-site .woocommerce button.button, .fs-site .woocommerce input.button, .fs-site .woocommerce a.button.alt, .fs-site .woocommerce button.button.alt, .fs-site .woocommerce input.button.alt, .fs-site .woocommerce .widget_shopping_cart .buttons a { border: 1px solid var(--fs-color-button-bg); border-radius: 0; background: var(--fs-color-button-bg); color: var(--fs-color-button-text); min-block-size: 44px; padding: .875rem 1.25rem; font-family: var(--fs-font-ui); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; line-height: 1.4; font-weight: 600; text-align: center; }
.fs-site .woocommerce a.button:hover, .fs-site .woocommerce button.button:hover, .fs-site .woocommerce input.button:hover { border-color: var(--fs-color-button-hover-bg); background: var(--fs-color-button-hover-bg); color: var(--fs-color-button-hover-text); }
.fs-site .woocommerce input.input-text, .fs-site .woocommerce textarea { border: 1px solid var(--fs-color-line); border-radius: 0; padding: .75rem; }
.fs-site .woocommerce div.product p.price, .fs-site .woocommerce div.product span.price, .fs-site .woocommerce ul.products li.product .price { color: var(--fs-color-text); font-variant-numeric: tabular-nums; }
.fs-site .woocommerce span.onsale { background: var(--fs-color-sale); color: var(--fs-color-inverse); }
.fs-site .woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 0; background: var(--fs-color-surface); }
.fs-site .woocommerce form.checkout_coupon, .fs-site .woocommerce form.login, .fs-site .woocommerce form.register { border-radius: 0; }
.fs-site .woocommerce #respond input#submit { border-radius: 0; }
.fs-site .widget_shopping_cart_content .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.fs-site .widget_shopping_cart_content .woocommerce-mini-cart-item { position: relative; padding: 1rem 2rem 1rem 0; border-block-end: 1px solid var(--fs-color-line-soft); }
.fs-site .widget_shopping_cart_content .woocommerce-mini-cart-item > a:not(.remove) { display: block; min-block-size: 44px; text-decoration: none; }
.fs-site .widget_shopping_cart_content .woocommerce-mini-cart-item img { float: inline-start; inline-size: 60px; block-size: 75px; object-fit: contain; margin-inline-end: 1rem; background: var(--fs-color-surface); }
.fs-site .widget_shopping_cart_content .quantity { display: block; font-size: .875rem; }
.fs-site .widget_shopping_cart_content .remove { position: absolute; inset-inline-end: -.25rem; inset-block-start: .75rem; display: grid; place-items: center; inline-size: 44px; block-size: 44px; font-size: 1.5rem; text-decoration: none; }
.fs-site .widget_shopping_cart_content .woocommerce-mini-cart-item::after { content: ""; display: table; clear: both; }
.fs-site .widget_shopping_cart_content .total { padding-block: 1rem; }
.fs-site .widget_shopping_cart_content .buttons { display: grid; gap: .75rem; }
.fs-site .widget_shopping_cart_content .buttons a { display: flex; align-items: center; justify-content: center; min-block-size: 44px; padding: .875rem 1rem; border: 1px solid var(--fs-color-button-bg); background: var(--fs-color-button-bg); color: var(--fs-color-button-text); text-decoration: none; }
.fs-site .fs-text-link { display: inline-flex; align-items: center; min-block-size: 44px; }
.fs-site .woocommerce ul.products { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1rem; }
.fs-site .woocommerce ul.products::before, .fs-site .woocommerce ul.products::after { display: none; }
.fs-site .woocommerce ul.products li.product { float: none; inline-size: auto; margin: 0; min-inline-size: 0; }
.fs-site .woocommerce ul.products li.product .button { display: inline-flex; max-inline-size: 100%; min-block-size: 44px; align-items: center; justify-content: center; padding-inline: .75rem; font-size: .6875rem; }
.fs-site .woocommerce ul.products li.product h2 { overflow-wrap: anywhere; }
@media(min-width:900px) { .fs-site .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(min-width:1200px) { .fs-site .woocommerce ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:600px) { .fs-site .woocommerce .woocommerce-result-count, .fs-site .woocommerce .woocommerce-ordering { float:none; margin-block-end:1rem; } .fs-site .woocommerce .woocommerce-ordering select { inline-size:100%; } }

/* BAG drawer: compact empty state and a clearer purchase summary. */
.fs-site .fs-bag-dialog {
	inline-size: min(100%, 480px);
	max-inline-size: 100%;
	border-inline-start: 1px solid var(--fs-color-line);
	background: var(--fs-color-bg);
	box-shadow: -22px 0 60px rgb(45 41 38 / 14%);
}
.fs-site .fs-bag-dialog::backdrop {
	background: rgb(22 20 18 / 42%);
	backdrop-filter: blur(2px);
}
.fs-site .fs-bag-dialog__heading {
	min-block-size: 116px;
	align-items: flex-start;
	padding: 24px 28px 20px;
	border-block-end: 1px solid var(--fs-color-line);
}
.fs-site .fs-bag-dialog__heading > div { min-inline-size: 0; }
.fs-site .fs-bag-dialog__eyebrow {
	display: flex;
	align-items: center;
	gap: 5px;
	margin: 0 0 8px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .16em;
	line-height: 1;
	text-transform: uppercase;
}
.fs-site .fs-bag-dialog__eyebrow .fs-bag-count { font: inherit; }
.fs-site .fs-bag-dialog__heading h2 {
	margin: 0;
	font-size: clamp(26px, 4vw, 36px);
	font-weight: 400;
	line-height: 1.05;
}
.fs-site .fs-bag-dialog__heading .fs-icon-button {
	inline-size: 48px;
	block-size: 48px;
	margin-block-start: 0;
	border: 1px solid var(--fs-color-line);
	background: transparent;
}
.fs-site .fs-bag-dialog__heading .fs-icon-button:hover { background: var(--fs-color-surface); }
.fs-site .fs-bag-dialog__content {
	display: flex;
	min-block-size: 0;
	block-size: calc(100dvh - 116px);
	flex-direction: column;
	padding: 0 28px 28px;
	overflow: hidden;
}
.fs-site .fs-bag-dialog .widget_shopping_cart_content {
	display: flex;
	min-block-size: 0;
	flex: 1;
	flex-direction: column;
}
.fs-site .fs-bag-dialog .woocommerce-mini-cart {
	min-block-size: 0;
	margin: 0;
	padding: 6px 0;
	list-style: none;
	overflow: auto;
	scrollbar-width: thin;
}
.fs-site .fs-bag-dialog .woocommerce-mini-cart-item {
	display: grid;
	position: relative;
	grid-template-columns: 88px minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	column-gap: 16px;
	min-block-size: 126px;
	padding: 18px 38px 18px 0;
	border-block-end: 1px solid var(--fs-color-line-soft);
}
.fs-site .fs-bag-dialog .woocommerce-mini-cart-item > a:not(.remove) {
	display: contents;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
	text-transform: uppercase;
}
.fs-site .fs-bag-dialog .woocommerce-mini-cart-item img {
	grid-column: 1;
	grid-row: 1 / span 2;
	float: none;
	inline-size: 88px;
	block-size: 108px;
	margin: 0;
	object-fit: contain;
	background: var(--fs-card-gradient);
}
.fs-site .fs-bag-dialog .woocommerce-mini-cart-item .quantity {
	display: block;
	grid-column: 2;
	align-self: end;
	margin-block-start: 10px;
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}
.fs-site .fs-bag-dialog .woocommerce-mini-cart-item .remove {
	display: grid;
	position: absolute;
	inset-block-start: 12px;
	inset-inline-end: -6px;
	place-items: center;
	inline-size: 40px;
	block-size: 40px;
	border: 0;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
}
.fs-site .fs-bag-dialog .woocommerce-mini-cart-item::after { display: none; }
.fs-site .fs-bag-dialog .widget_shopping_cart_content .total {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin: auto 0 0;
	padding: 20px 0;
	border-block-start: 1px solid var(--fs-color-line);
	font-size: 15px;
}
.fs-site .fs-bag-dialog .widget_shopping_cart_content .total strong {
	font-size: 10px;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.fs-site .fs-bag-dialog .widget_shopping_cart_content .buttons {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin: 0;
}
.fs-site .fs-bag-dialog .widget_shopping_cart_content .buttons a {
	display: flex;
	min-block-size: 50px;
	align-items: center;
	justify-content: center;
	padding: 12px;
	border: 1px solid var(--fs-color-button-bg);
	background: transparent;
	color: var(--fs-color-text);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .1em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}
.fs-site .fs-bag-dialog .widget_shopping_cart_content .buttons a.checkout {
	background: var(--fs-color-button-bg);
	color: var(--fs-color-button-text);
}
.fs-site .fs-bag-dialog .widget_shopping_cart_content .buttons a:hover {
	background: var(--fs-color-surface);
	color: var(--fs-color-text);
}
.fs-site .fs-bag-dialog .widget_shopping_cart_content .buttons a.checkout:hover {
	background: var(--fs-color-button-hover-bg);
	color: var(--fs-color-button-hover-text);
}
.fs-site .fs-bag-dialog .woocommerce-mini-cart__empty-message {
	display: flex;
	min-block-size: 290px;
	align-items: center;
	justify-content: center;
	flex: 1;
	flex-direction: column;
	margin: 0;
	padding: 48px 24px;
	font-size: 18px;
	line-height: 1.4;
	text-align: center;
}
.fs-site .fs-bag-dialog .woocommerce-mini-cart__empty-message::before {
	content: "";
	inline-size: 66px;
	block-size: 72px;
	margin-block-end: 24px;
	border: 1.5px solid currentColor;
	border-radius: 3px 3px 18px 18px;
	background: linear-gradient(currentColor,currentColor) 50% 18px / 18px 1.5px no-repeat;
	clip-path: polygon(0 18%,25% 18%,25% 0,75% 0,75% 18%,100% 18%,100% 100%,0 100%);
	opacity: .82;
}
.fs-site .fs-bag-dialog__empty-actions {
	display: none;
	grid-template-columns: 1fr;
	gap: 8px;
	padding-block-start: 12px;
}
.fs-site .fs-bag-dialog[data-fs-empty="true"] .fs-bag-dialog__empty-actions { display: grid; }
.fs-site .fs-bag-dialog__shop,
.fs-site .fs-bag-dialog__empty-actions .fs-text-link {
	display: flex;
	min-block-size: 50px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--fs-color-button-bg);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-decoration: none;
	text-transform: uppercase;
}
.fs-site .fs-bag-dialog__shop { background: var(--fs-color-button-bg); color: var(--fs-color-button-text); }
.fs-site .fs-bag-dialog__empty-actions .fs-text-link { background: transparent; color: var(--fs-color-text); }
@media(max-width:520px) {
	.fs-site .fs-bag-dialog__heading { min-block-size: 102px; padding: 19px 20px 16px; }
	.fs-site .fs-bag-dialog__heading h2 { font-size: 28px; }
	.fs-site .fs-bag-dialog__content { block-size: calc(100dvh - 102px); padding: 0 20px 20px; }
	.fs-site .fs-bag-dialog .woocommerce-mini-cart-item { grid-template-columns: 76px minmax(0,1fr); min-block-size: 112px; padding-block: 14px; }
	.fs-site .fs-bag-dialog .woocommerce-mini-cart-item img { inline-size: 76px; block-size: 92px; }
	.fs-site .fs-bag-dialog .widget_shopping_cart_content .buttons { grid-template-columns: 1fr; }
}
