/* ============================================================
   Fond Shop - WooCommerce integration + responsive refinements
   Loaded after WooCommerce's own stylesheets.
   ============================================================ */

/* ---------- Screen reader / skip link ---------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}
.skip-link:focus {
	position: static !important;
	width: auto; height: auto;
	margin: 0; padding: 10px 16px;
	background: #123f6d; color: #fff;
	z-index: 999;
}
body.drawer-open { overflow: hidden; }

/* ---------- Breadcrumbs / archive header ---------- */
.crumbs {
	font-size: 12.5px;
	color: var(--muted);
	padding: 16px 0 0;
}
.crumbs a { color: var(--muted); }
.crumbs a:hover { color: var(--primary); text-decoration: underline; }
.crumbs span { margin: 0 6px; opacity: .6; }

.archive-head .archive-title { padding: 10px 0 18px; }
.archive-title h1 {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -.3px;
	color: var(--ink);
	margin-bottom: 4px;
}
.archive-title p { color: var(--muted); font-size: 13.5px; }

/* ---------- Shop toolbar ---------- */
.woo-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 12px 14px;
	margin-bottom: 16px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	flex-wrap: wrap;
}
.woo-toolbar .woocommerce-result-count,
.woo-toolbar .woocommerce-ordering { margin: 0; }
.woo-toolbar .woocommerce-result-count { font-size: 13px; color: var(--muted); }
.woo-toolbar select.orderby,
.woo-toolbar .woocommerce-ordering select {
	height: 36px;
	padding: 0 10px;
	border: 1px solid var(--line);
	border-radius: 4px;
	background: #fff;
	font-size: 13px;
	color: var(--ink);
}

/* ---------- Page content wrappers ---------- */
.woo-content { padding-top: 4px; }
.page-wrap { padding-top: 18px; padding-bottom: 40px; }
.page-content { font-size: 14.5px; color: var(--ink-2); line-height: 1.75; }
.page-content h2, .page-content h3 { color: var(--ink); margin: 22px 0 10px; }
.page-content p { margin-bottom: 14px; }
.page-content ul { margin: 0 0 16px 20px; list-style: disc; }
.page-content a { color: var(--primary); text-decoration: underline; }

/* ---------- Pagination ---------- */
.pager { padding: 10px 0 30px; }
.woocommerce-pagination,
.pager .nav-links { text-align: center; padding: 20px 0 10px; }
.woocommerce-pagination ul.page-numbers,
.pager .nav-links {
	display: flex; justify-content: center; gap: 12px; flex-wrap: wrap;
	row-gap: 10px;
}
.woocommerce-pagination .page-numbers,
.pager .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 12px; margin: 0 2px;
	border: 1px solid var(--line); border-radius: 4px;
	font-size: 13px; color: var(--ink-2); background: #fff;
}
.woocommerce-pagination .page-numbers.current,
.pager .page-numbers.current {
	background: var(--primary); border-color: var(--primary); color: #fff;
}
.woocommerce-pagination .page-numbers:hover,
.pager .page-numbers:hover { border-color: var(--primary); color: var(--primary); }

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper { margin-bottom: 12px; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.fs-notice {
	border-top-color: var(--primary) !important;
	background: #f3f7fb;
	border-radius: var(--radius);
	padding: 12px 16px !important;
	font-size: 13.5px;
	color: var(--ink);
	margin-bottom: 14px !important;
	display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
}
.woocommerce-message::before,
.woocommerce-info::before { color: var(--primary) !important; }
.woocommerce-error { border-top-color: var(--sale) !important; background: #fdf1f1; }
.fs-notice { background: #fff8ed; border-top-color: var(--accent) !important; }
.woocommerce-message .button,
.woocommerce-info .button {
	background: var(--primary); color: #fff; border-radius: 4px;
	padding: 7px 14px; font-size: 12.5px; order: 9;
}
.woocommerce-message .button:hover { background: var(--primary-dark); color: #fff; }

/* ---------- Buttons ---------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	background: var(--accent);
	color: #fff;
	border-radius: 4px;
	font-weight: 700;
	font-size: 13.5px;
	padding: 12px 22px;
	transition: .18s;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
	background: var(--accent-dark);
	color: #fff;
}
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: var(--accent);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover { background: var(--accent-dark); }
.woocommerce .button.disabled,
.woocommerce .button:disabled { opacity: .55; }

/* ---------- Quantity ---------- */
.woocommerce .quantity .qty {
	height: 42px;
	border: 1px solid var(--line);
	border-radius: 4px;
	padding: 0 8px;
	text-align: center;
	width: 68px;
}

/* ---------- Single product ---------- */
.single-product .woocommerce-content { padding-top: 6px; }
.woocommerce div.product { position: relative; }
.woocommerce div.product .product_title {
	font-size: 25px; font-weight: 800; color: var(--ink);
	letter-spacing: -.3px; margin-bottom: 8px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--sale); font-size: 24px; font-weight: 800;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del {
	color: var(--muted); font-size: 16px; font-weight: 600;
}
.woocommerce div.product p.price ins { text-decoration: none; }
.woocommerce div.product .woocommerce-product-rating { font-size: 13px; margin-bottom: 12px; }
.woocommerce .woocommerce-product-rating .star-rating { color: var(--accent); }
.woocommerce div.product form.cart { margin: 18px 0; }
.woocommerce div.product form.cart .button {
	height: 46px; padding: 0 26px; display: inline-flex; align-items: center;
}
.woocommerce div.product .product_meta {
	font-size: 12.5px; color: var(--muted); padding-top: 12px;
	border-top: 1px solid var(--line); margin-top: 18px;
}
.woocommerce div.product .product_meta a { color: var(--primary); }
.woocommerce div.product .woocommerce-tabs { margin-top: 34px; }
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0; margin: 0 0 -1px; border: none;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: #f2f5f8; border: 1px solid var(--line); border-radius: 5px 5px 0 0;
	margin: 0 4px 0 0; padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	padding: 11px 18px; font-weight: 700; font-size: 13.5px; color: var(--ink-2);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: #fff; border-bottom-color: #fff; z-index: 2;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--primary); }
.woocommerce div.product .woocommerce-tabs .panel {
	background: #fff; border: 1px solid var(--line); border-radius: 0 6px 6px 6px;
	padding: 20px; margin: 0; box-shadow: none; font-size: 14px; color: var(--ink-2);
}
.woocommerce div.product .woocommerce-tabs .panel h2 { font-size: 16px; margin-bottom: 10px; }
.woocommerce div.product .images .woocommerce-product-gallery__wrapper { border-radius: var(--radius); }
.woocommerce div.product .images img { border-radius: var(--radius); }
.woocommerce span.onsale {
	background: var(--sale); border-radius: 3px; padding: 4px 10px;
	font-size: 11.5px; font-weight: 800; min-height: 0; min-width: 0; line-height: 1.5;
}
.woocommerce .related.products > h2,
.woocommerce .up-sells > h2,
.woocommerce .cross-sells > h2 { font-size: 19px; font-weight: 800; margin-bottom: 14px; }
.woocommerce .related.products ul.products,
.woocommerce .up-sells ul.products {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; padding: 0; margin: 0;
}
.woocommerce ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; }

/* Related product cards reuse the theme card look */
.woocommerce ul.products li.product a.woocommerce-loop-product__link { display: block; }
.woocommerce ul.products li.product img {
	border-radius: var(--radius); background: #f4f6f9; margin-bottom: 0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 13.5px; font-weight: 600; color: var(--ink); padding: 8px 0 0; line-height: 1.35;
}
.woocommerce ul.products li.product .price {
	font-size: 15px; font-weight: 800; color: var(--sale); margin-bottom: 6px;
}
.woocommerce ul.products li.product .price del { color: var(--muted); font-size: 12.5px; }
.woocommerce ul.products li.product .button {
	display: block; width: 100%; font-size: 12.5px; padding: 9px 10px; margin-top: 6px;
}
.woocommerce ul.products li.product .onsale { top: 8px; left: 8px; right: auto; }

/* ---------- Cart ---------- */
.woocommerce-cart .woo-content,
.woocommerce-checkout .woo-content { padding: 10px 0 40px; }
.woocommerce table.shop_table {
	border: 1px solid var(--line); border-radius: var(--radius);
	border-collapse: separate; overflow: hidden; font-size: 14px;
}
.woocommerce table.shop_table th {
	background: #f5f8fa; font-size: 12.5px; text-transform: uppercase;
	letter-spacing: .04em; color: var(--ink-2); padding: 12px;
}
.woocommerce table.shop_table td { padding: 12px; border-top: 1px solid var(--line); }
.woocommerce table.shop_table td.product-name a { color: var(--ink); font-weight: 600; }
.woocommerce table.shop_table td.product-name a:hover { color: var(--primary); }
.woocommerce table.shop_table img { width: 62px; border-radius: 4px; }
.woocommerce .cart-collaterals .cart_totals table th { width: 40%; }
.woocommerce .cart-collaterals h2 { font-size: 17px; font-weight: 800; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	font-size: 15px; padding: 15px 24px; border-radius: 5px;
}
.woocommerce-cart .cart-collaterals .cart_totals { width: 100%; }
.woocommerce .cart-collaterals { display: grid; grid-template-columns: 1fr; gap: 20px; }

/* ---------- Checkout ---------- */
.woocommerce-checkout #customer_details { font-size: 14px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	height: 42px; border: 1px solid var(--line); border-radius: 4px;
	padding: 0 12px; font-size: 14px; background: #fff;
}
.woocommerce form .form-row textarea { height: auto; padding: 10px 12px; }
.woocommerce form .form-row label { font-size: 13px; font-weight: 600; color: var(--ink-2); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: #cfe3d4; }
.woocommerce-checkout #payment { background: #f7f9fb; border-radius: var(--radius); }
.woocommerce-checkout #payment div.payment_box { background: #eef3f8; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--line); }

/* ---------- My account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 22%; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul { padding: 0; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	padding: 12px 16px; font-size: 13.5px; border-bottom: 1px solid var(--line);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--primary); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-content { width: 74%; font-size: 14px; }
.u-column1, .u-column2 { max-width: 100%; }

/* ---------- Star rating ---------- */
.woocommerce .star-rating { font-size: 13px; }
.woocommerce p.stars a { color: var(--accent); }

/* ---------- Reviews ---------- */
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-radius: var(--radius); }
.woocommerce #review_form #respond p.comment-form-comment textarea { border: 1px solid var(--line); border-radius: 4px; }

/* ---------- Sale / featured flags already in theme ---------- */
.card .add {
	display: flex; align-items: center; justify-content: center; gap: 7px;
	text-align: center; text-decoration: none;
}
.card .add svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.card .add.out { background: #eef1f4; color: var(--muted); cursor: default; }

/* ============================================================
   Mobile drawer: accordion markup produced by the mega walker
   ============================================================ */
.drawer-list .drawer-item { border-bottom: 1px solid var(--line); }
.drawer-list .d1-row { display: flex; align-items: stretch; }
.drawer-list .d1 { flex: 1; display: flex; align-items: center; }
.drawer-list .d1-toggle {
	width: 46px; flex: 0 0 46px;
	display: flex; align-items: center; justify-content: center;
	background: none; border: none; cursor: pointer; color: var(--muted);
}
.drawer-list .d1-toggle svg {
	width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2;
	transition: transform .22s ease;
}
.drawer-list .d1-toggle.open svg { transform: rotate(180deg); color: var(--primary); }
.drawer-list .d2 { display: none; background: #f7f9fb; padding: 2px 0 6px; }
.drawer-list .d2.open { display: block; }
.drawer-list .d2-group { padding: 2px 0; }
.drawer-list .d2-group + .d2-group { border-top: 1px solid rgba(15, 30, 60, .06); }
.drawer-list .d2-head {
	display: block; padding: 10px 16px 4px 16px;
	font-size: 11.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em;
	color: var(--primary);
}
.drawer-list .d3 { padding-left: 0; }
.drawer-list .d3-link {
	display: block; padding: 8px 16px 8px 28px; font-size: 13px; color: var(--ink-2);
}
.drawer-list .d3-link:hover { color: var(--primary); background: #fff; }
.drawer-foot {
	border-top: 1px solid var(--line); padding: 12px 16px;
	display: flex; flex-direction: column; gap: 9px; font-size: 13px; background: #fff;
}
.drawer-foot a { color: var(--ink-2); }
.drawer-foot a:hover { color: var(--primary); }

/* Touch devices: tap once to open the mega panel */
.nav-list li .mega.tap-open { display: block; }

/* ============================================================
   Responsive refinements
   ============================================================ */

/* ---------- Tablet ---------- */
@media (max-width: 1024px) {
	.woocommerce .related.products ul.products,
	.woocommerce .up-sells ul.products { grid-template-columns: repeat(3, 1fr); }
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content { width: 100%; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 0; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li { flex: 1 0 33%; }
	.archive-title h1 { font-size: 23px; }
}

/* ---------- Phone ---------- */
@media (max-width: 760px) {
	/* Header: burger + logo + icons on one compact row, search below */
	.header .wrap {
		height: auto;
		padding: 8px 12px;
		gap: 8px;
		flex-wrap: wrap;
		align-items: center;
	}
	.burger {
		order: 1;
		margin: 0;
		padding: 0 8px 0 0;
		font-size: 0;
		gap: 0;
		height: 40px;
	}
	.burger svg { width: 22px; height: 22px; }
	.header .logo {
		order: 2;
		margin-right: auto;
		gap: 7px;
	}
	.header .logo .logo-mark {
		width: 28px; height: 28px;
		font-size: 15px;
		border-radius: 6px;
	}
	.header .logo .logo-text b { font-size: 17px; }
	.header .logo .logo-text small { font-size: 8px; letter-spacing: .16em; }
	.header .logo img.custom-logo { max-height: 30px !important; width: auto !important; }

	.header-actions {
		order: 3;
		margin-left: 0;
		gap: 0;
	}
	.header-actions .ha {
		min-width: 40px;
		height: 40px;
		padding: 6px 7px;
		gap: 4px;
	}
	.header-actions .ha svg { width: 19px; height: 19px; }
	.header-actions .ha span { display: none; }
	.header-actions .badge { top: 2px; right: 2px; min-width: 15px; height: 15px; font-size: 9.5px; }

	/* Scoped to .header on purpose: <body> carries a "search" class on
	   search result pages, an unscoped .search rule would break the layout. */
	.header .search { order: 4; flex: 1 0 100%; height: 40px; max-width: none; }
	.header .search select { display: none; }
	.header .search input { padding: 0 12px; font-size: 13px; }
	.header .search button { width: 46px; }

	/* Nav bar: only the burger trigger row */
	.nav > .wrap { height: 44px; }
	.nav.fixed .wrap { height: 44px; }

	/* Content spacing */
	.wrap { padding: 0 12px; }
	.section { padding: 22px 0; }
	.hero { padding: 12px 0 0; }
	.hero .wrap { gap: 10px; }
	.slider { height: 240px; border-radius: 6px; }
	.slide-cap { left: 18px; max-width: 78%; }
	.slide-cap .kicker { font-size: 10px; margin-bottom: 6px; }
	.slide-cap h2 { font-size: 22px; margin-bottom: 8px; }
	.slide-cap p { font-size: 12.5px; margin-bottom: 14px; }
	.slide-cap .btn { padding: 9px 16px; font-size: 12.5px; }
	.side-banners { flex-direction: column; }
	.side-banners .sb { min-height: 110px; }

	.strip .wrap { grid-template-columns: repeat(2, 1fr); gap: 12px; padding: 14px 12px; }
	.strip-item { gap: 8px; }
	.strip-item svg { width: 22px; height: 22px; }

	.sec-head { margin-bottom: 14px; flex-wrap: wrap; gap: 8px; }
	.sec-head h3 { font-size: 17px; }
	.tabs { width: 100%; overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; }
	.tabs button { white-space: nowrap; }

	.cats { grid-template-columns: repeat(3, 1fr); gap: 10px; }
	.grid, .grid-4 { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.card { padding: 10px; }
	.card .title { font-size: 12.5px; }
	.card .add { font-size: 12px; padding: 8px 6px; }

	.deal { padding: 16px; gap: 12px; }
	.deal h3 { font-size: 17px; }
	.banner-row { gap: 10px; }
	.footer .f-bottom { flex-direction: column; align-items: flex-start; gap: 10px; }

	/* WooCommerce */
	.archive-title h1 { font-size: 20px; }
	.woo-toolbar { padding: 10px 12px; gap: 10px; }
	.woocommerce .related.products ul.products,
	.woocommerce .up-sells ul.products { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.woocommerce div.product .product_title { font-size: 20px; }
	.woocommerce div.product p.price,
	.woocommerce div.product span.price { font-size: 21px; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li a { padding: 9px 12px; font-size: 12.5px; }
	.woocommerce div.product .woocommerce-tabs .panel { padding: 14px; }
	.woocommerce table.shop_table th,
	.woocommerce table.shop_table td { padding: 8px; font-size: 12.5px; }
	.woocommerce table.shop_table img { width: 44px; }
	.woocommerce-cart .cart-collaterals { grid-template-columns: 1fr; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li { flex: 1 0 50%; }
	.woocommerce form .form-row { padding: 0; margin-bottom: 10px; }
	.woocommerce form .form-row-first,
	.woocommerce form .form-row-last { width: 100%; float: none; }
	.to-top { right: 12px; bottom: 16px; width: 38px; height: 38px; }
	.toast { left: 12px; right: 12px; bottom: 16px; transform: translateY(20px); max-width: none; }
	.toast.show { transform: translateY(0); }
}

/* ---------- Small phones ---------- */
@media (max-width: 420px) {
	.header .logo .logo-text b { font-size: 15.5px; }
	.header .logo .logo-text small { display: none; }
	.header .logo .logo-mark { width: 26px; height: 26px; font-size: 14px; }
	.header-actions .ha { min-width: 36px; padding: 5px; }
	.header-actions .ha svg { width: 18px; height: 18px; }
	.cats { grid-template-columns: repeat(2, 1fr); }
	.grid, .grid-4 { grid-template-columns: repeat(2, 1fr); gap: 8px; }
	.card .now { font-size: 15px; }
	.woocommerce .related.products ul.products { grid-template-columns: repeat(2, 1fr); }
	.deal .countdown .cd-unit b { font-size: 18px; }
}

/* ---------- Very large screens ---------- */
@media (min-width: 1600px) {
	.wrap { max-width: 1480px; }
}

/* ============================================================
   Fixes: related/upsell grids, sale badge, tab panel lists
   ============================================================ */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 14px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; content: none !important; }
.woocommerce ul.products li.product {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	padding: 10px !important;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	text-align: left;
	display: flex;
	flex-direction: column;
}
.woocommerce ul.products li.product a img { margin: 0 0 6px !important; width: 100%; }
.woocommerce ul.products li.product .star-rating { margin: 2px 0 4px; }
.woocommerce ul.products li.product .price { margin-bottom: 8px !important; }
.woocommerce ul.products li.product .button { margin-top: auto !important; }

/* Sale badge inside the card */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
.woocommerce div.product span.onsale {
	position: absolute !important;
	top: 8px !important;
	left: 8px !important;
	right: auto !important;
	margin: 0 !important;
	z-index: 3;
}
.card { position: relative; }

/* Rich text inside product tabs and page content */
.woocommerce div.product .woocommerce-tabs .panel ul,
.page-content ul { list-style: disc; margin: 0 0 14px 20px; }
.woocommerce div.product .woocommerce-tabs .panel li,
.page-content li { margin-bottom: 4px; }

/* Single product: saving badge + trust row */
.fs-price-note {
	display: inline-flex; align-items: center; gap: 6px;
	background: #fdecec; color: var(--sale);
	font-size: 12.5px; font-weight: 800;
	padding: 5px 10px; border-radius: 3px; margin: 6px 0 10px;
}
.fs-trust {
	display: flex; flex-wrap: wrap; gap: 8px 18px;
	margin: 14px 0 4px; padding: 12px 0;
	border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
	font-size: 12.5px; color: var(--ink-2);
}
.fs-trust span { display: inline-flex; align-items: center; gap: 6px; }
.fs-trust b { color: var(--ink); }
/* We accept module (payment methods) */
.fs-pay {
	display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px;
	margin: 10px 0 4px; padding: 0 0 2px;
	font-size: 12.5px; color: var(--ink-2);
}
.fs-pay-t { font-weight: 700; color: var(--ink); }
.pay-icons { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.pay-chip {
	display: inline-flex; align-items: center; justify-content: center; gap: 3px;
	height: 24px; min-width: 42px; padding: 0 9px;
	border: 1px solid var(--line); border-radius: 4px; background: #fff;
	font-style: normal; font-weight: 800; font-size: 11px; letter-spacing: .3px;
	color: var(--ink-2); line-height: 1;
}
.pay-chip svg { width: 27px; height: 17px; display: block; }
.pay-chip.visa { color: #1a1f71; font-style: italic; }
.pay-chip.amex { background: #2e77bc; border-color: #2e77bc; color: #fff; }
.pay-chip.paypal { color: #003087; font-style: italic; }
.pay-chip.paypal i { color: #009cde; font-style: italic; }
.pay-chip.tt { font-family: var(--mono, monospace); letter-spacing: 1px; }
.fs-stock { font-size: 12.5px; color: #2b7a46; font-weight: 700; margin-bottom: 6px; }
.fs-stock.low { color: #c46a12; }

@media (max-width: 1024px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 760px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
	.woocommerce ul.products li.product { padding: 8px !important; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 12.5px; }
	.woocommerce ul.products li.product .price { font-size: 14px; }
}

/* ============================================================
   Mobile header refinements (round 2)
   ============================================================ */
/* Never show an empty "0" badge */
.header-actions .badge[hidden],
.header-actions .badge.is-empty { display: none !important; }

/* Below the desktop breakpoint the mega bar is replaced by the drawer,
   so hide the now-empty nav strip. */
@media (max-width: 1024px) {
	.nav { display: none !important; }
}

/* Keep the compact header tidy on touch devices */
@media (max-width: 760px) {
	.header .wrap { min-height: 58px; }
	.header-actions { flex: 0 0 auto; }
	.header .logo { min-width: 0; }
	.drawer { width: 86vw; max-width: 340px; }
	.drawer-head { height: 48px; }
	.drawer-list .d1 { padding: 12px 14px; font-size: 13.5px; }
	.drawer-list .d2-head { padding: 9px 14px 3px; }
	.drawer-list .d3-link { padding: 7px 14px 7px 24px; }
}

/* Tablet: keep the category circles on a tidy 4-up grid */
@media (max-width: 1024px) and (min-width: 761px) {
	.cats { grid-template-columns: repeat(4, 1fr) !important; gap: 16px; }
	.grid, .grid-4 { grid-template-columns: repeat(3, 1fr) !important; }
	.banner-row { grid-template-columns: repeat(3, 1fr) !important; }
}

/* AJAX add to cart: the theme confirms with a toast, so hide WC's extra link */
.card a.added_to_cart { display: none !important; }
.card .add.loading { opacity: .75; pointer-events: none; }
.card .add.loading::after {
	content: ""; width: 12px; height: 12px; margin-left: 6px;
	border: 2px solid rgba(255,255,255,.5); border-top-color: #fff; border-radius: 50%;
	animation: fs-spin .7s linear infinite;
}
@keyframes fs-spin { to { transform: rotate(360deg); } }

/* ============================================================
   Single product: match the homepage container width
   ============================================================ */
/* Only vertical padding here - the horizontal gutter comes from .wrap so the
   single product page lines up with the homepage on every breakpoint. */
.fs-single { padding-top: 4px; padding-bottom: 42px; }
.fs-single > .type-product,
.fs-single > .product {
	display: grid;
	grid-template-columns: minmax(0, 500px) minmax(0, 1fr);
	grid-template-areas:
		"images summary"
		"tabs   tabs";
	column-gap: 30px;
	row-gap: 0;
	align-items: start;
}
.woocommerce div.product .images,
.woocommerce div.product div.images {
	grid-area: images;
	float: none !important;
	width: auto !important;
	max-width: 100%;
	margin: 0 0 18px !important;
}
.woocommerce div.product .summary.entry-summary,
.woocommerce div.product div.summary {
	grid-area: summary;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs {
	grid-area: tabs;
	width: auto !important;
	float: none !important;
	clear: both;
}
.woocommerce div.product > .products,
.woocommerce div.product > .upsells.products,
.woocommerce div.product > .related.products,
.woocommerce div.product > .woocommerce-product-gallery,
.woocommerce div.product > form.cart,
.woocommerce div.product > p.cart,
.woocommerce div.product > .woocommerce-message,
.woocommerce div.product > div[class*="wc-"] {
	grid-column: 1 / -1;
}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child,
.woocommerce div.product .woocommerce-tabs .panel > h2:first-of-type { display: none; }

@media (max-width: 1024px) {
	.fs-single > .type-product,
	.fs-single > .product { grid-template-columns: minmax(0, 1fr); grid-template-areas: "images" "summary" "tabs"; }
	.woocommerce div.product .images { margin-bottom: 16px !important; }
}

/* Phone: give the single product page a comfortable gutter so the gallery,
   price, tabs and related grid never sit flush against the screen edge. */
@media (max-width: 760px) {
	.wrap.fs-single { padding-left: 16px; padding-right: 16px; padding-bottom: 30px; }
	.fs-single .archive-head { padding: 12px 0 0; }
	.woocommerce div.product .woocommerce-tabs .panel { padding: 14px 2px; }
	.woocommerce div.product .related.products,
	.woocommerce div.product .up-sells { padding-top: 6px; }
}

/* ============================================================
   "All Categories" fly-out (desktop)
   ============================================================ */
.cat-wrap { position: relative; flex: 0 0 auto; display: flex; }
.cat-btn { white-space: nowrap; }
.cat-btn:hover { background: var(--primary-dark); }
.cat-btn .chev { width: 11px; height: 11px; transition: transform .18s; opacity: .85; }
.cat-wrap.is-open .cat-btn .chev { transform: rotate(180deg); }

.cat-drop {
	position: absolute; top: 100%; left: 0; z-index: 90;
	display: none;
	width: 860px; max-width: calc(100vw - 40px);
	background: #fff; border: 1px solid var(--line);
	border-radius: 0 var(--radius) var(--radius) var(--radius);
	box-shadow: 0 14px 34px rgba(15, 39, 64, .16);
	overflow: hidden;
}
.cat-wrap.is-open .cat-drop,
.cat-wrap:hover .cat-drop { display: block; }

.cat-drop-inner { position: relative; display: grid; grid-template-columns: 268px minmax(0, 1fr); min-height: 330px; }
.cd-list { border-right: 1px solid var(--line); background: #fafbfc; padding: 6px 0; }
.cd-item > .cd-head {
	display: flex; align-items: center; justify-content: space-between; gap: 8px;
	padding: 10px 14px; font-size: 13.5px; font-weight: 700; color: var(--ink);
}
.cd-item > .cd-head .chev { width: 11px; height: 11px; color: var(--muted); }
.cd-item:hover > .cd-head,
.cd-item.is-active > .cd-head { background: #fff; color: var(--primary); }
.cd-item.is-active > .cd-head .chev { color: var(--primary); }

.cd-panel {
	position: absolute; top: 0; bottom: 0; left: 268px; right: 0;
	display: none; padding: 16px 20px; background: #fff; overflow-y: auto;
}
.cd-item.is-active .cd-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 218px;
	grid-template-rows: auto auto auto;
	gap: 4px 20px;
	align-content: start;
}
.cd-panel > h4 { font-size: 13px; color: var(--primary); margin-bottom: 8px; grid-column: 1; }
.cd-panel .cd-cols { grid-column: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; }
.cd-panel .cd-all { grid-column: 1; align-self: end; }
.cd-popular {
	grid-column: 2; grid-row: 1 / span 3;
	border-left: 1px solid var(--line); padding-left: 16px;
}
.cd-popular h4 { font-size: 12.5px; color: var(--muted); text-transform: uppercase; letter-spacing: .05em; margin-bottom: 8px; }
.cd-popular ul { display: flex; flex-direction: column; gap: 7px; }
.cd-popular a { display: block; }
.cd-popular .cd-p-name { display: block; font-size: 12.4px; color: var(--ink-2); line-height: 1.35; }
.cd-popular a:hover .cd-p-name { color: var(--primary); text-decoration: underline; }
.cd-popular .cd-p-price { font-size: 12.4px; font-weight: 800; color: var(--sale); }
.cd-popular .cd-p-price del { color: var(--muted); font-weight: 600; font-size: 11.5px; }
.cd-popular .cd-p-price ins { text-decoration: none; }
.cd-panel .cd-cols a { display: block; font-size: 12.8px; color: var(--ink-2); padding: 3px 0; }
.cd-panel .cd-cols a:hover { color: var(--primary); text-decoration: underline; }
.cd-panel .cd-col-head { font-weight: 700; color: var(--ink) !important; margin-bottom: 3px; }
.cd-panel .cd-col-head:hover { color: var(--primary) !important; }
.cd-panel .cd-empty { font-size: 12.8px; color: var(--muted); }
.cd-panel .cd-all {
	display: inline-block; margin-top: 12px; font-size: 12.5px; font-weight: 700;
	color: var(--accent);
}
.cd-panel .cd-all:hover { text-decoration: underline; }

/* ============================================================
   Cart / Checkout blocks (WooCommerce ships these as blocks and
   styles them with WP's default #32373c buttons - re-skin them
   so they match the rest of the store.)
   ============================================================ */
.wc-block-components-button,
.wc-block-components-button.wp-element-button,
.wc-block-cart__submit-button,
.wc-block-components-totals-coupon__button,
.wc-block-components-express-payment .wc-block-components-button {
	background: var(--accent) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 4px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	box-shadow: none !important;
	text-decoration: none !important;
}
.wc-block-components-button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-totals-coupon__button:hover {
	background: var(--accent-dark) !important;
	color: #fff !important;
}
.wc-block-components-button *,
.wc-block-cart__submit-button * { color: inherit !important; }
.wc-block-components-button:disabled,
.wc-block-components-button.disabled { opacity: .55 !important; }

/* Panels + headings inside the blocks */
.wc-block-cart-items,
.wc-block-cart__totals-title,
.wc-block-components-totals-item__label { color: var(--ink); }
.wc-block-cart .wc-block-cart-items__header th,
.wc-block-cart .wc-block-cart-items__header span { color: var(--muted); font-weight: 700; }
.wc-block-cart .wc-block-cart-item__total,
.wc-block-cart .wc-block-components-product-price { color: var(--sale); font-weight: 800; }
.wc-block-components-sidebar-layout .wc-block-components-totals-wrapper,
.wc-block-components-sidebar-layout .wc-block-components-order-summary { }

.wc-block-cart .wc-block-cart__submit-button,
.wc-block-checkout .wc-block-components-button { width: 100%; }

.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-select__container select {
	border-radius: 4px !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus { outline: 2px solid var(--primary); outline-offset: -1px; }

/* Keep the block cart readable on phones */
@media (max-width: 760px) {
	.wc-block-cart .wc-block-cart-items__row,
	.wc-block-components-sidebar-layout,
	.wc-block-components-order-summary { font-size: 13.5px; }
	.wc-block-cart .wc-block-cart__submit-button { padding: 14px 16px !important; }
}

@media (max-width: 1024px) {
	.cat-drop { display: none !important; }
}


/* ---------- Watchsp overrides ---------- */
.woocommerce div.product form.cart .single_add_to_cart_button.button,
.woocommerce div.product form.cart button.single_add_to_cart_button{
	background:var(--accent);color:#fff;border:none;font-weight:700;letter-spacing:.02em;
}
.woocommerce div.product form.cart .single_add_to_cart_button.button:hover,
.woocommerce div.product form.cart button.single_add_to_cart_button:hover{background:var(--accent-dark);color:#fff}

/* 图库：缩略图统一方形，主图不变形 */
.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:10px}
.woocommerce div.product div.images .flex-control-thumbs li{width:100%;margin:0}
.woocommerce div.product div.images .flex-control-thumbs li img{
	width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border:1px solid var(--line);border-radius:4px;cursor:pointer
}
.woocommerce div.product div.images .flex-control-thumbs li img.flex-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.woocommerce div.product div.images img.wp-post-image{border-radius:6px;background:#fff}


/* ---------- 阶梯批发价表 ---------- */
.ws-tiers{margin:16px 0 6px;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
.ws-tiers-head{display:flex;align-items:baseline;gap:10px;padding:10px 14px;background:linear-gradient(90deg,#0b3a6b,#00213c);color:#fff}
.ws-tiers-head b{font-size:13.5px;letter-spacing:.02em}
.ws-tiers-head span{font-size:11.5px;opacity:.72}
.ws-tiers-list{list-style:none;margin:0;padding:0}
.ws-tier{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:9px 14px;border-top:1px solid var(--line);font-size:13px;cursor:pointer;transition:background .12s}
.ws-tier:hover{background:#f8f4ea}
.ws-tier.is-picked{background:#fdf6e7;box-shadow:inset 3px 0 0 var(--accent)}
.ws-tier .t-qty{color:var(--ink-2)}
.ws-tier .t-price{font-weight:800;color:var(--primary);white-space:nowrap}
.ws-tier .t-save{font-size:11px;color:#0a7a43;background:#e9f7ef;border-radius:10px;padding:2px 8px;white-space:nowrap;min-width:66px;text-align:center}
.ws-tier .t-save:only-child{background:none}

.ws-tier .t-save.is-none{background:none;color:#aab4be;min-width:0}
.ws-tiers-note{margin:0;padding:9px 14px;font-size:11.5px;color:var(--muted);background:#fbfcfd;border-top:1px solid var(--line)}
@media (max-width:760px){
  .ws-tier{grid-template-columns:1fr auto;gap:8px}
  .ws-tier .t-save{grid-column:2;justify-self:end}
}


/* ---------- 变体表单（属性色卡 + 下拉） ---------- */
.single-product .variations{width:100%;border-collapse:collapse;margin:4px 0 12px;table-layout:auto}
.single-product .variations th,
.single-product .variations td{background:none;border:0;padding:7px 0;vertical-align:middle}
.single-product .variations th.label,
.single-product .variations td.label{width:112px;text-align:left;padding-right:14px;vertical-align:top;padding-top:12px}
.single-product .variations th.label label,
.single-product .variations td.label label{
  font-size:12.5px;font-weight:700;color:var(--ink-2);text-align:left;margin:0;letter-spacing:.01em
}
.single-product .variations td.value{padding-left:0}
.single-product form.cart .variations td.value select{
  width:240px;
  min-width:0 !important;
  max-width:100%;
  height:40px;border:1px solid var(--line);border-radius:4px;
  padding:0 32px 0 12px;font-size:13.5px;color:var(--ink);background:#fff;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:14px
}
.single-product .variations .reset_variations{font-size:12px;color:var(--muted);margin-left:10px}
.single-product .woocommerce-variation-price{margin:2px 0 10px}
.ws-swatches{width:100%}

/* ---- Live price box (tier x qty recalculation) ---- */
.fs-live-price{margin-top:12px;border:1px solid var(--line);border-radius:6px;background:#faf7f0;padding:10px 14px;font-size:13.5px}
.fs-live-price .lp-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;gap:16px}
.fs-live-price .lp-total{border-top:1px dashed var(--line);margin-top:5px;padding-top:8px;font-size:14.5px}
.fs-live-price .lp-total b{color:#A9803F;font-size:19px}
.fs-live-price b{color:#002B5C}
.fs-tier-note{font-size:11.5px;color:#A9803F;font-style:normal;margin-left:6px;white-space:nowrap}

/* ============================================================
   Watchsp cart / order-received overrides (loads last)
   ============================================================ */
.woocommerce .fs-cart table.shop_table img.fs-cart-thumb{width:104px;height:104px;border-radius:10px}
.woocommerce .fs-cart table.shop_table td{padding:0;border-top:0}
.woocommerce .fs-cart table.shop_table th{border:0}
.fs-thanks-meta .woocommerce-Price-amount{display:inline !important}
.fs-thanks-meta .woocommerce-Price-currencySymbol,
.fs-thanks-meta bdi{display:inline !important;white-space:nowrap}
.fs-thanks-meta strong{word-break:normal;white-space:nowrap}
.fs-total-row .woocommerce-Price-amount{display:inline !important}
.fs-thanks .fs-order-thumbwrap{width:86px;height:86px;padding:6px}
.fs-thanks .fs-order-thumbwrap img{width:74px !important;height:74px !important;max-width:74px}
.fs-order-item{grid-template-columns:86px minmax(0,1fr) 52px 108px}
@media (max-width:900px){
  .woocommerce .fs-cart table.shop_table img.fs-cart-thumb{width:88px;height:88px}
}
@media (max-width:600px){
  .fs-thanks .fs-order-thumbwrap{width:72px;height:72px;padding:4px}
  .fs-thanks .fs-order-thumbwrap img{width:64px !important;height:64px !important;max-width:64px}
  .fs-order-item{grid-template-columns:72px minmax(0,1fr) auto}
}
.woocommerce .fs-cart-collaterals{display:block}
.woocommerce .fs-cart-collaterals .cart_totals{
  width:420px;max-width:100%;margin-left:auto;float:none;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:22px 24px;box-shadow:0 8px 28px rgba(0,25,60,.05)
}
@media (max-width:900px){.woocommerce .fs-cart-collaterals .cart_totals{width:100%;padding:18px}}

/* --- cart details: notices, totals table, buttons, tier note --- */
.fs-thanks-meta li{list-style:none}
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error{
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:10px;color:var(--ink-2);font-size:13px;padding:14px 18px;margin:0 0 12px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;box-shadow:none;list-style:none
}
.woocommerce-cart .woocommerce-error,.woocommerce-checkout .woocommerce-error{border-left-color:var(--sale)}
.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-info::before,
.woocommerce-cart .woocommerce-error::before,
.woocommerce-checkout .woocommerce-message::before,
.woocommerce-checkout .woocommerce-info::before,
.woocommerce-checkout .woocommerce-error::before{display:none}
.woocommerce-cart .woocommerce-message .button,
.woocommerce-checkout .woocommerce-message .button{
  margin-left:auto;background:var(--accent);color:#fff;border-radius:6px;padding:9px 18px;
  font-size:12.5px;font-weight:700;line-height:1.2;border:0
}
.woocommerce-cart .woocommerce-message .button:hover{background:var(--accent-dark);color:#fff}
.fs-notice{
  background:#fff8ec;border:1px solid #f0e0c4;border-radius:10px;color:#8a6a2f;
  font-size:13px;padding:12px 18px;margin:0 0 12px
}
.fs-notice .woocommerce-Price-amount,.fs-notice b{color:var(--primary-dark)}
.woocommerce .fs-cart .cart_totals table th{background:none;border:0;padding:8px 0;font-weight:400;color:var(--ink-2);width:auto}
.woocommerce .fs-cart .cart_totals table td{background:none;border:0;padding:8px 0}
.woocommerce .fs-cart .cart_totals table tr{border:0}
.woocommerce .fs-cart .cart_totals table tr.order-total th,
.woocommerce .fs-cart .cart_totals table tr.order-total td{border-top:1px dashed var(--line)}
.fs-cart-actions .button,
.fs-cart-actions .button:disabled{
  display:inline-flex;align-items:center;justify-content:center;height:42px;padding:0 20px;margin:0;
  border:1px solid var(--primary);border-radius:8px;background:#fff;color:var(--primary);
  font-size:13px;font-weight:700;line-height:1;opacity:1;cursor:pointer;transition:.15s
}
.fs-cart-actions .button:hover{background:var(--primary);color:#fff}
.fs-cart-actions .button[name="apply_coupon"]{background:var(--accent);border-color:var(--accent);color:#fff}
.fs-cart-actions .button[name="apply_coupon"]:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.fs-cart-table .product-price{white-space:normal}
.fs-cart-table .product-price .fs-tier-note{
  display:block;margin-top:4px;font-size:11px;line-height:1.35;font-style:normal;color:var(--sale)
}
.fs-cart-table tbody tr.cart_item{grid-template-columns:104px minmax(0,1fr) 128px 124px 116px 34px}
.fs-cart-table thead tr{grid-template-columns:104px minmax(0,1fr) 128px 124px 116px 34px}
@media (max-width:900px){
  .fs-cart-table tbody tr.cart_item{grid-template-columns:88px minmax(0,1fr) auto}
}

/* --- item meta: keep label + value on one line --- */
.fs-thanks .wc-item-meta,.fs-cart .wc-item-meta{
  display:flex;flex-wrap:wrap;gap:4px 18px;margin:6px 0 0;padding:0;list-style:none
}
.fs-thanks .wc-item-meta li,.fs-cart .wc-item-meta li{
  display:flex;flex:0 0 auto;align-items:baseline;gap:5px;width:auto;
  list-style:none;margin:0;padding:0;border:0;font-size:12px;color:var(--muted);line-height:1.5
}
.fs-thanks .wc-item-meta li::before,.fs-cart .wc-item-meta li::before{content:none;display:none}
.fs-thanks .wc-item-meta li p,.fs-cart .wc-item-meta li p{
  display:inline;margin:0;white-space:nowrap;font-size:12px;color:var(--ink-2)
}
.fs-thanks .wc-item-meta-label,.fs-cart .wc-item-meta-label{white-space:nowrap;float:none}
/* notices: kill the heavy frame */
.woocommerce-cart .woocommerce-message{
  border:1px solid var(--line) !important;border-left:3px solid var(--accent) !important;
  box-shadow:none !important;background:#fff !important
}
.woocommerce-cart .woocommerce-info{
  border:1px solid var(--line) !important;border-left:3px solid var(--primary) !important;
  box-shadow:none !important;background:#fff !important
}
/* update-cart disabled state looks intentional */
.woocommerce .fs-cart-actions .button:disabled,
.woocommerce .fs-cart-actions .button[disabled]{
  background:#f1f3f6 !important;border-color:#e3e6eb !important;color:#9aa3b2 !important;
  opacity:1 !important;cursor:not-allowed
}
.fs-thanks .fs-order-name{font-size:14px}

/* --- order item attributes (custom markup) --- */
.fs-item-attrs{display:flex;flex-wrap:wrap;gap:3px 20px;list-style:none;margin:7px 0 0;padding:0}
.fs-item-attrs li{display:flex;gap:5px;align-items:baseline;font-size:12px;color:var(--muted);line-height:1.5;margin:0;padding:0}
.fs-item-attrs li b{font-weight:400;color:var(--ink-2);white-space:nowrap}
.fs-item-attrs li span{white-space:nowrap}
/* notice focus ring after add-to-cart */
.woocommerce-cart .woocommerce-message:focus,
.woocommerce-cart .woocommerce-info:focus,
.woocommerce-cart .woocommerce-error:focus,
.woocommerce-notices-wrapper .woocommerce-message:focus{outline:none;box-shadow:none}

/* --- cart totals table: no grey panel --- */
.woocommerce .fs-cart .cart_totals table.shop_table{background:none;border:0;box-shadow:none;border-radius:0}
.woocommerce .fs-cart .cart_totals table.shop_table td,
.woocommerce .fs-cart .cart_totals table.shop_table th{border-top:0}
/* --- variation meta inline pairs (cart) --- */
.fs-cart-meta dl.variation{display:block;font-size:12px;line-height:1.7}
.fs-cart-meta dl.variation dt{display:inline;float:none;font-weight:400;color:var(--muted);margin:0}
.fs-cart-meta dl.variation dd{display:inline;margin:0 14px 0 4px;color:var(--ink-2)}
.fs-cart-meta dl.variation dd p{display:inline;margin:0}
@media (max-width:900px){
  .fs-cart-table td::before{display:none !important;content:none !important}
  .fs-cart-table .product-name{text-align:left}
  .fs-cart-table .product-thumbnail img.fs-cart-thumb,
  .fs-cart-table .product-thumbnail img{width:88px;height:88px;display:block;background:#fff}
  .fs-cart-table .product-quantity,
  .fs-cart-table .product-subtotal{text-align:left}
  .fs-cart-table .product-subtotal{justify-self:start;font-size:15px}
}

/* --- cart meta (custom markup) --- */
.fs-cart-meta{display:flex;flex-wrap:wrap;gap:2px 16px;margin-top:6px;font-size:12px;line-height:1.6}
.fs-cart-meta .fs-attr{display:inline-flex;gap:4px;align-items:baseline;white-space:nowrap}
.fs-cart-meta .fs-attr>span{color:var(--muted)}
.fs-cart-meta .fs-attr b{font-weight:400;color:var(--ink-2)}
/* --- mobile cart grid: WooCommerce smallscreen hides thumbnails and
       right-aligns cells, so re-declare everything here --- */
@media (max-width:900px){
  .fs-cart-table tbody tr.cart_item{
    display:grid !important;
    grid-template-columns:88px minmax(0,1fr) 26px !important;
    grid-template-areas:"thumb info remove" "thumb price price" "thumb qty sub" !important;
    align-items:start;gap:8px 14px;padding:14px
  }
  .fs-cart-table tbody tr.cart_item td{display:block !important;text-align:left !important;padding:0 !important}
  .fs-cart-table .product-thumbnail{grid-area:thumb;display:block !important}
  .fs-cart-table .product-thumbnail img{width:88px;height:88px;object-fit:contain;display:block}
  .fs-cart-table .product-name{grid-area:info;text-align:left}
  .fs-cart-table .product-price{grid-area:price;padding-top:2px !important}
  .fs-cart-table .product-quantity{grid-area:qty;padding-top:4px !important}
  .fs-cart-table .product-subtotal{grid-area:sub;justify-self:end;align-self:center;font-size:15px}
  .fs-cart-table .product-remove{grid-area:remove;justify-self:end}
  .fs-cart-table td::before{display:none !important;content:none !important}
}
.fs-cart-meta .fs-attr>span::after{content:":"}
@media (max-width:600px){
  .fs-thanks .fs-order-item{
    grid-template-columns:72px minmax(0,1fr) auto;
    grid-template-areas:"thumb info line" "thumb attrs attrs";
    align-items:start;gap:6px 12px
  }
  .fs-thanks .fs-order-thumbwrap{grid-area:thumb}
  .fs-thanks .fs-order-info{grid-area:info;text-align:left;min-width:0}
  .fs-thanks .fs-order-line{grid-area:line;align-self:start;white-space:nowrap}
  .fs-thanks .fs-item-attrs{grid-area:attrs;display:block;margin-top:4px}
  .fs-thanks .fs-item-attrs li{display:block;line-height:1.6;white-space:normal}
  .fs-thanks .fs-item-attrs li b{display:inline}
  .fs-thanks .fs-order-qty{display:none}
  .fs-thanks .fs-order-name{font-size:13.5px;line-height:1.35}
}
@media (max-width:600px){
  .fs-thanks .fs-item-attrs{display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:6px;width:100%}
  .fs-thanks .fs-item-attrs li{display:inline-flex;gap:4px;align-items:baseline;white-space:nowrap}
  .fs-thanks .fs-item-attrs li span{display:inline;white-space:nowrap}
  .fs-thanks .fs-item-attrs li b{display:inline;white-space:nowrap}
}

/* ============================================================
   My Account (fs-acc-*)
   ============================================================ */
.fs-acc-hero{
  display:flex;align-items:center;gap:18px;
  background:linear-gradient(120deg,var(--primary-dark),var(--primary) 62%,#0b3a70);
  color:#fff;border-radius:10px;
  padding:24px 26px;margin:6px 0 22px;
  box-shadow:var(--shadow);
}
.fs-acc-avatar{
  flex:0 0 auto;width:58px;height:58px;border-radius:50%;
  background:rgba(255,255,255,.14);border:2px solid rgba(255,255,255,.35);
  display:flex;align-items:center;justify-content:center;
  font-size:26px;font-weight:800;color:#f3dcae;letter-spacing:.5px;
}
.fs-acc-hero-txt{flex:1 1 auto;min-width:0}
.fs-acc-hi{font-size:19px;font-weight:600;letter-spacing:-.2px}
.fs-acc-hi strong{font-weight:800;color:#fff}
.fs-acc-meta{font-size:13px;color:rgba(255,255,255,.72);margin-top:4px}
.fs-acc-hero-stats{display:flex;align-items:center;gap:0;flex:0 0 auto}
.fs-acc-stat{
  display:flex;flex-direction:column;align-items:center;gap:1px;
  padding:0 22px;border-left:1px solid rgba(255,255,255,.22);
}
.fs-acc-stat b{font-size:21px;font-weight:800;line-height:1.2;color:#fff}
.fs-acc-stat span{font-size:11.5px;text-transform:uppercase;letter-spacing:.7px;color:rgba(255,255,255,.68)}
a.fs-acc-stat--link:hover b,a.fs-acc-stat--link:hover span{color:#f3dcae}

/* two-column grid */
.fs-acc-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:start}

/* navigation */
.fs-acc-nav{position:sticky;top:16px}
.fs-acc-nav ul{
  list-style:none;margin:0;padding:0;
  background:var(--white);border:1px solid var(--line);border-radius:10px;
  overflow:hidden;box-shadow:var(--shadow);
}
.fs-acc-nav li{list-style:none}
.fs-acc-nav li+li{border-top:1px solid var(--line)}
.fs-acc-nav a{
  display:flex;align-items:center;gap:12px;
  padding:13px 18px;font-size:13.5px;font-weight:600;color:var(--ink-2);
  border-left:3px solid transparent;transition:background .15s,color .15s;
}
.fs-acc-nav a:hover{background:var(--bg);color:var(--primary);text-decoration:none}
.fs-acc-nav .is-active a{
  background:rgba(0,43,92,.06);color:var(--primary);
  border-left-color:var(--accent);font-weight:800;
}
.fs-acc-ico{flex:0 0 auto;width:18px;height:18px;display:inline-flex}
.fs-acc-ico svg{width:18px;height:18px}
.fs-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout{border-top:1px solid var(--line)}
.fs-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout a{color:#b3392b}
.fs-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout a:hover{background:#fdf1ef;color:#8e2b20}

/* content panel */
.fs-acc-grid .woocommerce-MyAccount-content{
  background:var(--white);border:1px solid var(--line);border-radius:10px;
  padding:26px 28px;box-shadow:var(--shadow);min-height:340px;
}
.fs-acc-grid .woocommerce-MyAccount-content>.woocommerce-info:first-child{margin-top:0}

/* welcome text */
.fs-acc-welcome p{font-size:14.5px;color:var(--ink-2);margin:0 0 20px;line-height:1.65}

/* quick cards */
.fs-acc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:26px}
.fs-acc-card{
  display:flex;align-items:center;gap:14px;
  background:var(--white);border:1px solid var(--line);border-radius:10px;
  padding:18px;color:inherit;text-decoration:none;
  transition:border-color .15s,box-shadow .15s,transform .15s;
}
.fs-acc-card:hover{
  border-color:var(--accent);box-shadow:0 6px 18px rgba(0,30,66,.12);
  transform:translateY(-2px);text-decoration:none;color:inherit;
}
.fs-acc-card-ico{
  flex:0 0 auto;width:44px;height:44px;border-radius:9px;
  background:rgba(0,43,92,.07);color:var(--primary);
  display:flex;align-items:center;justify-content:center;
}
.fs-acc-card-ico svg{width:21px;height:21px}
.fs-acc-card-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.fs-acc-card-ttl{font-size:14.5px;font-weight:800;color:var(--ink)}
.fs-acc-card-desc{font-size:12.5px;color:var(--muted);line-height:1.45}
.fs-acc-card-arrow{flex:0 0 auto;font-size:22px;color:var(--muted);line-height:1}

/* latest order block */
.fs-acc-latest{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.fs-acc-latest-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;background:var(--bg);border-bottom:1px solid var(--line);
}
.fs-acc-latest-head h3{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--ink);margin:0}
.fs-acc-latest-head a{font-size:12.5px;font-weight:700;color:var(--accent-dark)}
.fs-acc-latest-head a:hover{text-decoration:underline}
.fs-acc-latest-row{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px;
  background:var(--white);
}
.fs-acc-latest-num{font-size:14.5px;font-weight:800;color:var(--primary)}
.fs-acc-latest-num:hover{text-decoration:underline}
.fs-acc-latest-date{font-size:13px;color:var(--muted)}
.fs-acc-latest-total{font-size:14.5px;margin-left:auto}
.fs-acc-latest-row .fs-acc-btn{margin-left:auto}
.fs-acc-latest-row .fs-acc-latest-total+.fs-acc-btn{margin-left:0}

/* buttons */
.fs-acc-btn{
  display:inline-block;padding:8px 16px;border-radius:6px;
  font-size:12.5px;font-weight:700;line-height:1.4;text-decoration:none;
  border:1px solid transparent;cursor:pointer;white-space:nowrap;
}
.fs-acc-btn--solid{background:var(--accent);color:#fff;border-color:var(--accent)}
.fs-acc-btn--solid:hover{background:var(--accent-dark);border-color:var(--accent-dark);color:#fff;text-decoration:none}
.fs-acc-btn--ghost{background:var(--white);color:var(--primary);border-color:var(--line)}
.fs-acc-btn--ghost:hover{border-color:var(--primary);color:var(--primary);text-decoration:none}

/* status badges */
.fs-status{
  display:inline-block;padding:4px 11px;border-radius:99px;
  font-size:11.5px;font-weight:700;letter-spacing:.3px;white-space:nowrap;
}
.fs-status--completed{background:#e8f5ee;color:#1d7a45}
.fs-status--processing{background:rgba(0,43,92,.09);color:var(--primary)}
.fs-status--on-hold{background:#fdf4e3;color:#9a6b13}
.fs-status--pending{background:#f1f2f4;color:#5a6472}
.fs-status--cancelled{background:#f1f2f4;color:#8a9099;text-decoration:line-through}
.fs-status--refunded{background:#f1f2f4;color:#5a6472}
.fs-status--failed{background:#fdeceb;color:#b3392b}

/* orders table */
.fs-acc-orders{margin:0;border-collapse:collapse;width:100%}
.fs-acc-orders thead th{
  font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;
  color:var(--muted);text-align:left;padding:10px 12px;
  border-bottom:2px solid var(--line);white-space:nowrap;
}
.fs-acc-orders tbody td,.fs-acc-orders tbody th{
  padding:15px 12px;border-bottom:1px solid var(--line);
  font-size:13.5px;vertical-align:middle;text-align:left;
}
.fs-acc-orders tbody tr:last-child td,.fs-acc-orders tbody tr:last-child th{border-bottom:0}
.fs-acc-orders tbody tr{transition:background .12s}
.fs-acc-orders tbody tr:hover{background:#fafbfc}
.fs-acc-order-num{font-weight:800;color:var(--primary);font-size:14px}
.fs-acc-order-num:hover{color:var(--accent-dark)}
.fs-acc-orders time{color:var(--ink-2);white-space:nowrap}
.fs-acc-orders .woocommerce-orders-table__cell-order-total b{white-space:nowrap}
.fs-acc-orders .fs-acc-btn+.fs-acc-btn{margin-left:8px}

/* empty state */
.fs-acc-empty{
  text-align:center;padding:56px 20px 46px;
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.fs-acc-empty-ico{
  width:64px;height:64px;border-radius:50%;
  background:var(--bg);color:var(--muted);
  display:flex;align-items:center;justify-content:center;margin-bottom:10px;
}
.fs-acc-empty-ico svg{width:30px;height:30px}
.fs-acc-empty h3{font-size:17px;font-weight:800;color:var(--ink);margin:0 0 2px}
.fs-acc-empty p{font-size:13.5px;color:var(--muted);max-width:380px;line-height:1.6;margin:0 0 18px}

/* view order + account forms inside content */
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-order-details{margin-top:0}
.fs-acc-grid .woocommerce-MyAccount-content table.shop_table{border-collapse:collapse}
.fs-acc-grid .woocommerce-MyAccount-content table.shop_table th,
.fs-acc-grid .woocommerce-MyAccount-content table.shop_table td{
  border:1px solid var(--line);padding:10px 12px;text-align:left;
}
.fs-acc-grid .woocommerce-MyAccount-content table.shop_table thead th{
  font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);
  background:var(--bg);
}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Address{
  border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin:0 0 16px;background:var(--white);
}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Address header{
  background:none;padding:0;border:0;margin:0 0 8px;
}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Address header h3{font-size:14px;font-weight:800;color:var(--ink);margin:0}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Address address{font-style:normal;font-size:13.5px;color:var(--ink-2);line-height:1.6}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Address .edit{display:inline-block;margin-top:10px}
.fs-acc-grid .woocommerce-MyAccount-content .u-columns{display:flex;gap:24px;flex-wrap:wrap}
.fs-acc-grid .woocommerce-MyAccount-content .u-columns>div{flex:1 1 300px}
.fs-acc-grid .woocommerce-MyAccount-content fieldset{border:1px solid var(--line);border-radius:8px;padding:18px 20px;margin:0 0 20px}
.fs-acc-grid .woocommerce-MyAccount-content fieldset legend{font-size:13px;font-weight:800;color:var(--ink);padding:0 8px}

/* responsive */
@media (max-width:900px){
  .fs-acc-grid{grid-template-columns:1fr;gap:18px}
  .fs-acc-nav{position:static}
  .fs-acc-nav ul{display:flex;overflow-x:auto;border-radius:8px;-webkit-overflow-scrolling:touch}
  .fs-acc-nav li{flex:0 0 auto}
  .fs-acc-nav li+li{border-top:0;border-left:1px solid var(--line)}
  .fs-acc-nav a{padding:11px 15px;border-left:0;border-bottom:3px solid transparent;font-size:13px}
  .fs-acc-nav .is-active a{border-left:0;border-bottom-color:var(--accent)}
  .fs-acc-hero{flex-wrap:wrap;padding:20px}
  .fs-acc-hero-stats{width:100%;border-top:1px solid rgba(255,255,255,.22);padding-top:12px;margin-top:4px}
  .fs-acc-stat:first-child{border-left:0;padding-left:0}
  .fs-acc-cards{grid-template-columns:1fr}
  .fs-acc-grid .woocommerce-MyAccount-content{padding:20px 16px}
  .fs-acc-latest-row .fs-acc-btn{margin-left:0}
}
@media (max-width:600px){
  .fs-acc-orders,.fs-acc-orders tbody,.fs-acc-orders tr,.fs-acc-orders td,.fs-acc-orders th{display:block;width:100%}
  .fs-acc-orders thead{display:none}
  .fs-acc-orders tbody tr{
    border:1px solid var(--line);border-radius:10px;margin:0 0 12px;
    padding:4px 14px;background:var(--white);
  }
  .fs-acc-orders tbody tr:hover{background:var(--white)}
  .fs-acc-orders tbody td,.fs-acc-orders tbody th{
    display:block!important;border-bottom:0;padding:9px 0;
  }
  .fs-acc-orders tbody th.woocommerce-orders-table__cell-order-number{
    padding:12px 0 4px;font-size:15px;
  }
  .fs-acc-orders tbody td::before,.fs-acc-orders tbody th::before{
    content:attr(data-title) ": ";
    display:block;font-size:11px;font-weight:800;text-transform:uppercase;
    letter-spacing:.5px;color:var(--muted);margin-bottom:2px;
  }
  .fs-acc-orders .woocommerce-orders-table__cell-order-number::before{display:none}
  .fs-acc-orders .fs-acc-btn+.fs-acc-btn{margin-left:0;margin-right:8px}
  .fs-acc-hero{gap:12px}
  .fs-acc-avatar{width:48px;height:48px;font-size:21px}
  .fs-acc-hi{font-size:16.5px}
  .fs-acc-stat{padding:0 16px}
}

/* ---- reset legacy WooCommerce/theme account layout (clearfix ::before becomes a grid item) ---- */
.fs-acc-grid::before,
.fs-acc-grid::after{content:none!important;display:none!important}
.fs-acc-grid>.woocommerce-MyAccount-navigation{
  float:none!important;width:auto!important;grid-column:1;grid-row:1;
  border:0;border-radius:0;overflow:visible;
}
.fs-acc-grid>.woocommerce-MyAccount-content{
  float:none!important;width:auto!important;grid-column:2;grid-row:1;
}
.woocommerce-account .fs-acc-nav ul li a{
  border-bottom:0;padding:13px 18px;font-size:13.5px;
}
.woocommerce-account .fs-acc-nav ul li.is-active a{
  background:rgba(0,43,92,.06);color:var(--primary);
  border-left:3px solid var(--accent);
}
.woocommerce-account .fs-acc-nav ul li.woocommerce-MyAccount-navigation-link--customer-logout a{color:#b3392b}
.woocommerce-account .fs-acc-nav ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover{background:#fdf1ef}
@media (max-width:900px){
  .fs-acc-grid>.woocommerce-MyAccount-navigation,
  .fs-acc-grid>.woocommerce-MyAccount-content{grid-column:1;grid-row:auto}
  .fs-acc-grid>.woocommerce-MyAccount-navigation{grid-row:1}
  .fs-acc-grid>.woocommerce-MyAccount-content{grid-row:2}
  .woocommerce-account .fs-acc-nav ul li a{padding:11px 15px;border-left:0;border-bottom:3px solid transparent}
  .woocommerce-account .fs-acc-nav ul li.is-active a{border-left:0;border-bottom-color:var(--accent)}
}

/* ---- account polish: cards / notices / headings ---- */
.fs-acc-card,.fs-acc-card *,.fs-acc-card:hover,.fs-acc-card:hover *{text-decoration:none!important}
.fs-acc-hero .fs-acc-stat-ico svg{width:19px;height:19px;display:block}
.fs-acc-hero a.fs-acc-stat--link{text-decoration:none}
.fs-acc-head,.fs-acc-content-head{
  padding:0 0 16px;margin:0 0 20px;border-bottom:1px solid var(--line);
}
.fs-acc-content-head h2{
  font-size:21px;font-weight:800;letter-spacing:-.3px;color:var(--ink);margin:0 0 5px;
}
.fs-acc-content-head p{font-size:13px;color:var(--muted);line-height:1.55;margin:0}

/* notices inside the account panel */
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-info,
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-message{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  border:1px solid #ecdfc5;border-left:3px solid var(--accent);
  background:#fdfaf4;border-radius:8px;padding:13px 18px;margin:0 0 20px;
  color:var(--ink-2);font-size:13px;line-height:1.55;
}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-info::before,
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-message::before{
  content:none;display:none;
}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-info .button,
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-message .button{
  order:2;margin-left:auto;flex:0 0 auto;background:var(--accent);color:#fff;
  border-radius:6px;padding:8px 15px;font-size:12.5px;font-weight:700;text-decoration:none;
}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-info .button:hover,
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-message .button:hover{background:var(--accent-dark);color:#fff}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-error{
  border:1px solid #f0cfcb;border-left:3px solid var(--sale);background:#fdf3f2;
  border-radius:8px;padding:13px 18px 13px 34px;margin:0 0 20px;font-size:13px;color:#8e2b20;
}
.woocommerce-account .fs-acc-nav a,
.woocommerce-account .fs-acc-nav a:hover,
.woocommerce-account .fs-acc-nav a:focus,
.fs-acc-nav .is-active a{text-decoration:none!important}

/* ---- orders table width / addresses page ---- */
.fs-acc-orders{width:100%!important;max-width:100%!important;margin:0!important;border-spacing:0}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Addresses{
  display:flex;gap:20px;margin:0;padding:0;
}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Addresses::before,
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Addresses::after{content:none!important;display:none!important}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Addresses>div{
  flex:1 1 0!important;width:auto!important;max-width:100%;float:none!important;margin:0!important;
}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Address header{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:0 0 10px;margin:0 0 10px;border-bottom:1px solid var(--line);
}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Address header h2,
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Address header h3{
  font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;
  color:var(--ink);margin:0;line-height:1.4;
}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Address header .edit{
  font-size:12.5px;font-weight:700;color:var(--accent-dark);margin:0;white-space:nowrap;
}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Address header .edit:hover{text-decoration:underline}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Address address{margin:0;font-size:13.5px;line-height:1.65;color:var(--ink-2)}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Address address p{margin:0 0 2px}
@media (max-width:760px){
  .fs-acc-grid .woocommerce-MyAccount-content .woocommerce-Addresses{flex-direction:column;gap:14px}
}

/* ---- order view: customer details + forms ---- */
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-customer-details{margin-top:4px}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-customer-details h2,
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-order-details h2,
.fs-acc-grid .woocommerce-MyAccount-content h2{
  font-size:17px;font-weight:800;letter-spacing:-.2px;color:var(--ink);margin:0 0 12px;
}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-customer-details .u-columns{display:flex;gap:20px}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-customer-details .u-columns>div{flex:1 1 0;min-width:0}
.fs-acc-grid .woocommerce-MyAccount-content .woocommerce-customer-details address{
  margin:0;padding:16px 18px;border:1px solid var(--line);border-radius:10px;
  font-style:normal;font-size:13.5px;line-height:1.7;color:var(--ink-2);
}
.fs-acc-grid .woocommerce-MyAccount-content form.woocommerce-EditAccountForm{max-width:660px}
.fs-acc-grid .woocommerce-MyAccount-content .form-row{margin-bottom:16px}
.fs-acc-grid .woocommerce-MyAccount-content .form-row label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-2);margin-bottom:6px}
.fs-acc-grid .woocommerce-MyAccount-content .form-row input.input-text,
.fs-acc-grid .woocommerce-MyAccount-content .form-row select{
  width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:6px;
  font-size:14px;color:var(--ink);background:var(--white);
}
.fs-acc-grid .woocommerce-MyAccount-content .form-row input.input-text:focus,
.fs-acc-grid .woocommerce-MyAccount-content .form-row select:focus{
  outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,43,92,.08);
}
.fs-acc-grid .woocommerce-MyAccount-content .form-row .woocommerce-Input--password{max-width:100%}
.fs-acc-grid .woocommerce-MyAccount-content .form-row-first,
.fs-acc-grid .woocommerce-MyAccount-content .form-row-last{width:calc(50% - 10px);float:left}
.fs-acc-grid .woocommerce-MyAccount-content .form-row-first{margin-right:20px}
.fs-acc-grid .woocommerce-MyAccount-content .form-row-first+.form-row-last{clear:none}
.fs-acc-grid .woocommerce-MyAccount-content .form-row-wide{clear:both;width:100%}
.fs-acc-grid .woocommerce-MyAccount-content form.woocommerce-EditAccountForm::after,
.fs-acc-grid .woocommerce-MyAccount-content .edit-account::after{content:"";display:table;clear:both}
.fs-acc-grid .woocommerce-MyAccount-content form .button,
.fs-acc-grid .woocommerce-MyAccount-content form button.button{
  background:var(--accent);color:#fff;border:0;border-radius:6px;
  padding:11px 22px;font-size:13px;font-weight:700;cursor:pointer;
}
.fs-acc-grid .woocommerce-MyAccount-content form .button:hover,
.fs-acc-grid .woocommerce-MyAccount-content form button.button:hover{background:var(--accent-dark);color:#fff}
@media (max-width:760px){
  .fs-acc-grid .woocommerce-MyAccount-content .woocommerce-customer-details .u-columns{flex-direction:column;gap:14px}
  .fs-acc-grid .woocommerce-MyAccount-content .form-row-first,
  .fs-acc-grid .woocommerce-MyAccount-content .form-row-last{width:100%;margin-right:0;float:none}
}
.fs-acc-grid .woocommerce-MyAccount-content .fs-acc-content-head h2{font-size:21px;letter-spacing:-.3px}
.fs-acc-grid .woocommerce-MyAccount-content .fs-acc-content-head p{font-size:13px;color:var(--muted)}
.fs-acc-orders tbody th,.fs-acc-orders tbody td,.fs-acc-orders tbody tr{background:transparent!important}
.fs-acc-orders thead th{background:var(--bg)!important}

/* ============================================================
   Auth (sign in / register) fs-auth-*
   ============================================================ */
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message{
  max-width:1040px;margin:0 auto 20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  border:1px solid #f0cfcb;border-left:3px solid var(--sale);background:#fdf3f2;border-radius:8px;
  padding:13px 18px;font-size:13.5px;color:#8e2b20;list-style:none;
}
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-account .woocommerce-notices-wrapper .woocommerce-message{
  border:1px solid #ecdfc5;border-left:3px solid var(--accent);background:#fdfaf4;color:var(--ink-2);
}
.woocommerce-account .woocommerce-notices-wrapper li::before{content:none;display:none}

.fs-auth{
  display:grid;grid-template-columns:400px minmax(0,1fr);
  max-width:1040px;margin:0 auto 30px;
  background:var(--white);border:1px solid var(--line);border-radius:12px;
  overflow:hidden;box-shadow:var(--shadow);
}

/* brand side */
.fs-auth-brand{
  display:flex;flex-direction:column;justify-content:center;gap:0;
  background:linear-gradient(150deg,var(--primary-dark) 0%,var(--primary) 70%,#0b3a70 100%);
  color:#fff;padding:44px 40px;position:relative;
}
.fs-auth-brand::after{
  content:"";position:absolute;right:-60px;bottom:-60px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(169,128,63,.35),transparent 65%);pointer-events:none;
}
.fs-auth-brand-logo{
  width:46px;height:46px;border-radius:12px;background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;
  margin-bottom:22px;color:#f3dcae;
}
.fs-auth-brand-logo svg{width:26px;height:26px}
.fs-auth-brand-title{
  font-size:23px;font-weight:800;letter-spacing:-.3px;line-height:1.35;color:#fff;margin:0 0 24px;
}
.fs-auth-brand-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.fs-auth-brand-list li{
  display:flex;align-items:center;gap:12px;font-size:14px;color:rgba(255,255,255,.85);list-style:none;
}
.fs-auth-brand-list li svg{flex:0 0 auto;width:18px;height:18px;color:#e0b067}

/* forms side */
.fs-auth-forms{padding:34px 40px 30px}
.fs-auth-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:26px}
.fs-auth-tab{
  appearance:none;background:none;border:0;padding:0 2px 13px;margin:0;
  font-size:16px;font-weight:700;color:var(--muted);cursor:pointer;position:relative;
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s;
}
.fs-auth-tab:hover{color:var(--ink)}
.fs-auth-tab.is-active{color:var(--ink);border-bottom-color:var(--accent)}
.fs-auth-panel{display:none}
.fs-auth-panel.is-active{display:block}

.fs-form-row{margin:0 0 16px}
.fs-form-row label{
  display:block;font-size:12.5px;font-weight:700;color:var(--ink-2);margin-bottom:6px;
}
.fs-form-row .input-text{
  width:100%;height:42px;padding:0 12px;border:1px solid var(--line);border-radius:6px;
  font-size:14px;color:var(--ink);background:var(--white);
}
.fs-form-row .input-text:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,43,92,.08)}
.fs-req{color:var(--sale)}
.fs-form-row--2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.fs-form-row--inline{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.fs-remember{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-2);margin:0;cursor:pointer}
.fs-remember input{accent-color:var(--accent);width:15px;height:15px}
.fs-lost-link{font-size:13px;font-weight:600;color:var(--accent-dark)}
.fs-lost-link:hover{text-decoration:underline}

.fs-auth-submit{
  width:100%;height:44px;background:var(--accent);color:#fff;border:0;border-radius:7px;
  font-size:14px;font-weight:800;letter-spacing:.2px;cursor:pointer;margin-top:4px;
  transition:background .15s;
}
.fs-auth-submit:hover{background:var(--accent-dark);color:#fff}
.fs-auth-switch{margin:18px 0 0;font-size:13px;color:var(--muted)}
.fs-auth-switch a{font-weight:700;color:var(--primary)}
.fs-auth-switch a:hover{color:var(--accent-dark)}

/* captcha */
.fs-captcha-row .fs-captcha-controls{
  display:flex;align-items:center;gap:10px;
}
.fs-captcha-img{
  flex:0 0 auto;width:150px;height:50px;border:1px solid var(--line);border-radius:6px;
  display:block;background:#f5f7fa;
}
.fs-captcha-refresh{
  flex:0 0 auto;width:42px;height:42px;border:1px solid var(--line);border-radius:6px;
  background:var(--white);color:var(--ink-2);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s,transform .3s;
}
.fs-captcha-refresh:hover{border-color:var(--accent);color:var(--accent-dark)}
.fs-captcha-refresh.is-busy svg{transform:rotate(180deg)}
.fs-captcha-refresh svg{width:18px;height:18px;transition:transform .3s}
.fs-captcha-input{flex:1 1 auto;letter-spacing:3px;text-transform:uppercase;font-weight:700}

.fs-privacy{font-size:12px;line-height:1.6;color:var(--muted);margin:4px 0 16px}
.fs-privacy a{color:var(--accent-dark);font-weight:600}

/* responsive */
@media (max-width:860px){
  .fs-auth{grid-template-columns:1fr}
  .fs-auth-brand{padding:26px 26px 22px}
  .fs-auth-brand-list{display:none}
  .fs-auth-brand-title{font-size:18px;margin-bottom:0}
  .fs-auth-brand-logo{width:38px;height:38px;margin-bottom:14px}
  .fs-auth-brand-logo svg{width:21px;height:21px}
  .fs-auth-forms{padding:26px 24px 24px}
}
@media (max-width:560px){
  .fs-form-row--2{grid-template-columns:1fr;gap:0}
  .fs-captcha-row .fs-captcha-controls{flex-wrap:wrap}
  .fs-captcha-input{flex:1 1 100%;order:3}
}

/* ---- auth polish: outweigh theme heading/link defaults ---- */
.fs-auth .fs-auth-brand .fs-auth-brand-title{color:#fff!important;margin:0 0 24px}
.fs-auth .fs-auth-brand-list li{color:rgba(255,255,255,.86)!important}
.fs-auth .fs-auth-forms form.woocommerce-form{
  border:0!important;box-shadow:none!important;background:transparent!important;
  padding:0!important;margin:0!important;border-radius:0!important;
}
.fs-auth .fs-auth-forms form.woocommerce-form::before,
.fs-auth .fs-auth-forms form.woocommerce-form::after{content:none!important;display:none!important}
.fs-auth .fs-lost-link{text-decoration:none!important}
.fs-auth .fs-lost-link:hover{text-decoration:underline!important}
.fs-auth .fs-auth-tab{text-transform:none}
.fs-auth .fs-privacy p{margin:0 0 8px}
@media (max-width:860px){
  .fs-auth .fs-auth-brand .fs-auth-brand-title{margin-bottom:0}
}

/* 商品画像のズームボタン（虫眼鏡）は z-index 99 で指定されており、
   .nav（z-index 60）が作るスタック文脈ごとメガメニューの下に潜り込んでしまう。
   ナビのドロップダウンを最前面に出すため、このボタンだけ下げる。 */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger,
.woocommerce div.product div.woocommerce-product-gallery .woocommerce-product-gallery__trigger,
.woocommerce .wc-block-product-gallery .woocommerce-product-gallery__trigger {
	z-index: 2;
}
