/**
 * Reformation WC — bridging styles.
 *
 * Reformation's CSS targets its own Shopify class names; WooCommerce emits
 * different ones for the same components (add-to-cart, quantity, toolbar,
 * notices, meta, tabs). These rules bridge the gap so WooCommerce output
 * adopts the Reformation look. Loaded after app.css / product*.css.
 */

/* ---------- Shop archive toolbar ---------- */
.woocommerce .page-title,
.woocommerce-page .page-title {
	font-size: 2rem;
	margin: 10px 0 20px;
}
.woocommerce-result-count {
	margin: 0;
	font-size: 0.8125rem;
	color: rgba(var(--color-body-rgb, 21, 21, 21), 0.6);
}
.woocommerce-ordering {
	margin: 0 0 25px;
}
.woocommerce-ordering select.orderby {
	border: 1px solid var(--color-border, #e2e2e2);
	background: transparent;
	padding: 8px 30px 8px 12px;
	font-size: 0.8125rem;
	border-radius: var(--button-border-radius, 0);
	cursor: pointer;
}
@media (min-width: 768px) {
	.thb-shop-toolbar {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
}

/* ---------- Button hover fix ----------
 * Reformation's .button hover slides a white ::before overlay up and relies on
 * the label being wrapped in <span> (z-index:8) to stay visible. WooCommerce's
 * generated buttons have no <span>, so the overlay covers the label (button
 * looks blank/white on hover). Disable the overlay for those buttons and use a
 * direct invert hover instead. */
.product-card-actions .button::before,
.single_add_to_cart_button::before,
.added_to_cart::before,
.woocommerce-cart .button::before,
.wc-proceed-to-checkout .button::before {
	display: none !important;
}
.product-card-actions .button:hover,
.product-card-actions .button:focus,
.single_add_to_cart_button:hover,
.single_add_to_cart_button:focus {
	background: var(--bg-body, #fff);
	color: var(--color-accent, #151515);
	border-color: var(--color-accent, #151515);
}

/* ---------- Product card: add-to-cart action ---------- */
.product-card .product-card-actions {
	margin-top: 12px;
}
.product-card .product-card-actions .button,
.product-card .product-card-actions .added_to_cart {
	display: inline-block;
	width: 100%;
	text-align: center;
	font-size: 0.75rem;
	padding: 11px 16px;
}
.product-card .product-card-actions .added_to_cart {
	margin-top: 6px;
	text-decoration: underline;
}

/* ---------- Single product: rating + trust + add to cart ---------- */
.thb-rating-top {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
	text-decoration: none;
	color: inherit;
}
.thb-rating-top span {
	font-size: 0.8125rem;
	color: rgba(var(--color-body-rgb, 21, 21, 21), 0.7);
}

.thb-product-detail .thb-product-form {
	margin: 22px 0 18px;
}
/* Quantity on its own row, full-width add-to-cart below (matches reference). */
.thb-product-detail form.cart,
.thb-product-detail .single_variation_wrap {
	display: block;
}
.thb-product-detail form.cart .quantity {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--color-border, #e2e2e2);
	border-radius: var(--button-border-radius, 0);
	margin: 0 0 14px;
}
.thb-product-detail form.cart .quantity input.qty {
	width: 64px;
	min-height: 48px;
	border: 0;
	background: transparent;
	text-align: center;
	font-size: 0.9375rem;
	-moz-appearance: textfield;
}
.thb-product-detail form.cart .quantity input.qty::-webkit-outer-spin-button,
.thb-product-detail form.cart .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.thb-product-detail form.cart .single_add_to_cart_button {
	display: block;
	width: 100%;
	min-height: 52px;
}

/* Trust + payment row */
.thb-product-trust {
	margin: 18px 0 26px;
}
.thb-pay-icons {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 14px;
}
.thb-product-trust .thb-pay-badge {
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 11px;
	border: 1px solid var(--color-border, #e2e2e2);
	border-radius: 5px;
	font-size: 0.7rem;
	letter-spacing: 0.04em;
	color: rgba(var(--color-body-rgb, 21, 21, 21), 0.65);
}
.thb-trust-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--color-border, #e2e2e2);
	font-size: 0.8125rem;
	color: rgba(var(--color-body-rgb, 21, 21, 21), 0.7);
}
.thb-trust-badges span {
	position: relative;
	padding-left: 18px;
}
.thb-trust-badges span::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--color-accent, #151515);
	font-weight: 700;
}
.thb-product-detail form.variations_form .variations {
	width: 100%;
	margin-bottom: 15px;
}
.thb-product-detail form.variations_form .variations td,
.thb-product-detail form.variations_form .variations th {
	padding: 6px 0;
	vertical-align: middle;
}
.thb-product-detail form.variations_form .variations select {
	width: 100%;
	border: 1px solid var(--color-border, #e2e2e2);
	padding: 10px 12px;
	background: transparent;
}

/* ---------- Variation swatches (size buttons) ---------- */
.thb-product-detail form.variations_form .variations {
	width: 100%;
	margin: 0 0 18px;
	border: 0;
}
.thb-product-detail form.variations_form .variations select {
	display: none;
}
/* Flatten WooCommerce's variations <table> into clean stacked rows. */
.thb-product-detail .variations,
.thb-product-detail .variations tbody,
.thb-product-detail .variations tr,
.thb-product-detail .variations td,
.thb-product-detail .variations th {
	display: block;
	width: auto;
	padding: 0;
	border: 0;
	background: none;
}
.thb-product-detail .variations tr {
	margin-bottom: 18px;
}
.thb-product-detail .variations .label,
.thb-product-detail .variations .label label {
	display: block;
	margin: 0 0 10px;
	padding: 0;
	font-size: 0.8125rem;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 600;
}
/* The reset link is redundant once swatches are shown. */
.thb-product-detail .reset_variations {
	display: none !important;
}
.thb-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.thb-swatch {
	min-width: 46px;
	height: 42px;
	padding: 0 18px;
	border: 1px solid var(--color-border, #e2e2e2);
	border-radius: 999px;
	background: transparent;
	font-size: 0.875rem;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.thb-swatch:hover {
	border-color: var(--color-accent, #151515);
}
.thb-swatch.active {
	background: var(--color-accent, #151515);
	border-color: var(--color-accent, #151515);
	color: #fff;
}
.thb-product-detail .reset_variations {
	display: inline-block;
	margin-top: 6px;
	font-size: 0.75rem;
	text-decoration: underline;
}

/* ---------- Single product: meta ---------- */
.thb-product-detail .thb-product-meta .product_meta {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--color-border, #e2e2e2);
	font-size: 0.8125rem;
	color: rgba(var(--color-body-rgb, 21, 21, 21), 0.6);
}
.thb-product-detail .thb-product-meta .product_meta > span {
	display: block;
	margin-bottom: 6px;
}
.thb-product-detail .thb-product-meta .product_meta a {
	color: inherit;
	text-decoration: underline;
}

/* ---------- Single product: gallery ---------- */
.product-images--stacked {
	display: grid;
	grid-gap: 15px;
}
@media (min-width: 768px) {
	.product-images--stacked {
		grid-template-columns: 1fr 1fr;
	}
	.product-images--stacked .product-single__media:first-child {
		grid-column: 1 / -1;
	}
}
.product-images--stacked .product-single__media {
	position: relative;
	height: 0;
	overflow: hidden;
	background: var(--bg-body-darken, #f6f6f6);
}
.product-images--stacked .product-single__media img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---------- Description tabs + related ---------- */
.product-detail-bottom {
	margin-top: 60px;
}
.woocommerce-tabs ul.tabs {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
	display: flex;
	gap: 24px;
	border-bottom: 1px solid var(--color-border, #e2e2e2);
}
.woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0 0 12px;
}
.woocommerce-tabs ul.tabs li.active a {
	border-bottom: 2px solid var(--color-accent, #151515);
}
.woocommerce-tabs ul.tabs li a {
	font-size: 0.9375rem;
	color: inherit;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.related.products {
	margin-top: 70px;
}
.related.products > h2 {
	margin-bottom: 25px;
	font-size: 1.5rem;
}
/* The related grid (ul.products.row) sits inside .row > .columns already, so
 * strip its own row max-width/padding to keep it aligned with the heading. */
.related.products ul.products.row {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
	margin-left: 0;
	margin-right: 0;
}

/* ---------- Shop filter sidebar ---------- */
.thb-shop-layout {
	margin-top: 10px;
}
.thb-shop-sidebar {
	margin-bottom: 30px;
}
@media (min-width: 1024px) {
	.thb-shop-sidebar {
		position: sticky;
		top: 90px;
		align-self: flex-start;
	}
}
.thb-filters__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding-bottom: 14px;
	margin-bottom: 6px;
	border-bottom: 1px solid var(--color-accent, #151515);
}
.thb-filters__title {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.875rem;
	font-weight: 600;
}
.thb-filters__clear {
	font-size: 0.75rem;
	color: rgba(var(--color-body-rgb, 21, 21, 21), 0.6);
	text-decoration: underline;
}
.thb-filter-group {
	border-bottom: 1px solid var(--color-border, #e2e2e2);
}
.thb-filter-group__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	list-style: none;
	padding: 16px 2px;
	font-size: 0.8125rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 600;
}
.thb-filter-group__title::-webkit-details-marker {
	display: none;
}
.thb-filter-group__chev {
	width: 9px;
	height: 9px;
	border-right: 1.4px solid currentColor;
	border-bottom: 1.4px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	margin-right: 4px;
}
.thb-filter-group[open] .thb-filter-group__chev {
	transform: rotate(-135deg);
}
.thb-filter-group__list {
	list-style: none;
	margin: 0;
	padding: 0 2px 16px;
}
.thb-filter-group__list li {
	margin: 0 0 9px;
}
.thb-filter-option {
	display: flex;
	align-items: center;
	gap: 9px;
	cursor: pointer;
	font-size: 0.875rem;
}
.thb-filter-option input {
	width: 15px;
	height: 15px;
	accent-color: var(--color-accent, #151515);
	cursor: pointer;
}
.thb-filter-option__label {
	flex: 1 1 auto;
}
.thb-filter-option__count {
	color: rgba(var(--color-body-rgb, 21, 21, 21), 0.45);
	font-size: 0.75rem;
}

/* ---------- Notices ---------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top: 3px solid var(--color-accent, #151515);
	background: var(--bg-body-darken, #f6f6f6);
	padding: 14px 18px;
	margin: 0 0 20px;
	list-style: none;
	font-size: 0.875rem;
}
.woocommerce-error {
	border-top-color: #e93636;
}

/* ---------- Single product: accordion info sections ---------- */
.thb-accordions {
	margin: 28px 0 10px;
	border-top: 1px solid var(--color-border, #e2e2e2);
}
.thb-accordion {
	border-bottom: 1px solid var(--color-border, #e2e2e2);
}
.thb-accordion > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	cursor: pointer;
	list-style: none;
	padding: 16px 2px;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.thb-accordion > summary::-webkit-details-marker {
	display: none;
}
.thb-accordion > summary::after {
	content: "";
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
	margin-right: 4px;
}
.thb-accordion[open] > summary::after {
	transform: rotate(-135deg);
}
.thb-accordion__content {
	padding: 0 2px 18px;
	font-size: 0.9rem;
	line-height: 1.65;
	color: rgba(var(--color-body-rgb, 21, 21, 21), 0.8);
}
.thb-accordion__content > *:first-child {
	margin-top: 0;
}
.thb-accordion__content ol,
.thb-accordion__content ul {
	margin: 0 0 0 18px;
	padding: 0;
}
.thb-accordion__content li {
	margin-bottom: 8px;
}
.thb-accordion__content p {
	margin: 0 0 12px;
}

/* ---------- Single product: reviews section ---------- */
.thb-product-reviews {
	margin-top: 70px;
	padding-top: 40px;
	border-top: 1px solid var(--color-border, #e2e2e2);
}
.thb-product-reviews #reviews h2,
.thb-product-reviews .woocommerce-Reviews-title {
	font-size: 1.5rem;
	margin-bottom: 24px;
}

/* ---------- Single product: purchase buttons (Add to cart + Buy now) ---------- */
.thb-product-detail .single_add_to_cart_button {
	background: transparent;
	color: var(--color-accent, #151515);
	border: 1px solid var(--color-accent, #151515);
}
.thb-product-detail .single_add_to_cart_button:hover,
.thb-product-detail .single_add_to_cart_button:focus {
	background: var(--color-accent, #151515);
	color: #fff;
	border-color: var(--color-accent, #151515);
}
.thb-product-detail .buy-now-button {
	display: block;
	width: 100%;
	min-height: 52px;
	margin-top: 10px;
	background: var(--color-accent, #151515);
	color: #fff;
	border: 1px solid var(--color-accent, #151515);
}
.thb-product-detail .buy-now-button::before {
	display: none !important;
}
.thb-product-detail .buy-now-button:hover,
.thb-product-detail .buy-now-button:focus {
	background: transparent;
	color: var(--color-accent, #151515);
}

/* ---------- Single product: "Pairs well with" cross-sell card ---------- */
.thb-pairs-with {
	margin: 6px 0 4px;
}
.thb-pairs-with__label {
	font-size: 0.9375rem;
	font-weight: 600;
	margin-bottom: 10px;
}
.thb-pairs-card {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px;
	border: 1px solid var(--color-border, #e2e2e2);
	border-radius: 8px;
}
.thb-pairs-card__img {
	flex: 0 0 auto;
}
.thb-pairs-card__img img {
	display: block;
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: 6px;
}
.thb-pairs-card__info {
	flex: 1 1 auto;
	min-width: 0;
}
.thb-pairs-card__name {
	display: block;
	font-size: 0.875rem;
	color: inherit;
	text-decoration: none;
	margin-bottom: 3px;
}
.thb-pairs-card__price {
	font-size: 0.875rem;
	color: rgba(var(--color-body-rgb, 21, 21, 21), 0.7);
}
.thb-pairs-card__price del {
	opacity: 0.6;
	margin-right: 5px;
}
.thb-pairs-card__btn {
	flex: 0 0 auto;
	font-size: 0.68rem;
	height: 38px;
	padding: 0 16px;
	white-space: nowrap;
}
.thb-pairs-card__btn::before {
	display: none !important;
}
.thb-pairs-card__btn:hover {
	background: transparent;
	color: var(--color-accent, #151515);
	border: 1px solid var(--color-accent, #151515);
}

/* ---------- Shop pagination ---------- */
.woocommerce-pagination {
	margin: 44px 0 10px;
	text-align: center;
	width: 100%;
}
.woocommerce-pagination ul.page-numbers {
	list-style: none;
	margin: 0;
	padding: 0;
	display: inline-flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}
.woocommerce-pagination ul.page-numbers li {
	margin: 0;
	list-style: none;
}
.woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--color-border, #e2e2e2);
	color: var(--color-accent, #151515);
	font-size: 0.9rem;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.woocommerce-pagination .page-numbers.current,
.woocommerce-pagination a.page-numbers:hover {
	background: var(--color-accent, #151515);
	color: #fff;
	border-color: var(--color-accent, #151515);
}
.woocommerce-pagination .page-numbers.dots {
	border-color: transparent;
}

/* ============ Review / comment form ============ */
#reviews #respond.comment-respond {
	max-width: 640px;
}
#reviews .comment-form p {
	margin: 0 0 20px;
}
#reviews .comment-form label {
	display: block;
	margin-bottom: 7px;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}
#reviews .comment-form input[type="text"],
#reviews .comment-form input[type="email"],
#reviews .comment-form input[type="url"],
#reviews .comment-form textarea {
	width: 100%;
	max-width: 440px;
	padding: 12px 14px;
	border: 1px solid var(--color-border, #e2e2e2);
	background: #fff;
	font-size: 0.95rem;
	border-radius: 0;
	box-sizing: border-box;
}
#reviews .comment-form textarea {
	max-width: 100%;
	min-height: 140px;
	resize: vertical;
}
#reviews .comment-form input:focus,
#reviews .comment-form textarea:focus {
	outline: none;
	border-color: var(--color-accent, #151515);
}
#reviews .comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}
#reviews .comment-form-cookies-consent input {
	width: auto;
	margin-top: 3px;
}
#reviews .comment-form-cookies-consent label {
	display: inline;
	margin: 0;
	font-weight: 400;
	font-size: 0.85rem;
}
#reviews .comment-notes {
	font-size: 0.85rem;
	color: #767676;
}

/* ---- Star rating selector (built by WooCommerce JS) ---- */
#reviews .comment-form-rating {
	margin-bottom: 22px;
}
#reviews p.stars {
	display: inline-block;
	margin: 4px 0 0;
	line-height: 1;
	font-size: 1.55rem;
}
#reviews p.stars a {
	position: relative;
	display: inline-block;
	width: 1.15em;
	height: 1.15em;
	margin-right: 2px;
	text-indent: -999em;
	text-decoration: none;
	color: var(--color-accent, #151515);
}
#reviews p.stars a::before {
	content: "\2606"; /* ☆ empty */
	position: absolute;
	top: 0;
	left: 0;
	width: 1.15em;
	height: 1.15em;
	line-height: 1;
	text-indent: 0;
}
#reviews p.stars:hover a::before {
	content: "\2605"; /* ★ filled on hover-up-to */
}
#reviews p.stars:hover a:hover ~ a::before {
	content: "\2606";
}
#reviews p.stars.selected a.active::before {
	content: "\2605";
}
#reviews p.stars.selected a.active ~ a::before {
	content: "\2606";
}
#reviews p.stars.selected a:not(.active)::before {
	content: "\2605";
}

/* ---------- Product hover video ---------- */
.product-card .product-featured-image-link .product-hover-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 10;
	opacity: 0;
	transition: opacity 0.25s ease;
	pointer-events: none;
}
@media (hover: hover) {
	.product-card .product-featured-image.thb-hover-video:hover .product-hover-video {
		opacity: 1;
	}
}

/* ============ My Account 账户页 ============ */
.woocommerce-account .woocommerce { max-width: 980px; margin: 0 auto; }

/* 登录 / 注册 两栏 */
.woocommerce-account .col2-set,
.woocommerce-account #customer_login.u-columns {
	display: flex;
	flex-wrap: wrap;
	gap: 44px;
}
.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2 {
	flex: 1 1 320px;
	min-width: 0;
	width: auto;
	float: none;
	background: #fff;
	border: 1px solid var(--color-border, #e2e2e2);
	border-radius: 10px;
	padding: 26px 28px;
}
.woocommerce-account h2 {
	font-size: 1.35rem;
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--color-border, #e2e2e2);
}

/* 表单字段:标签在上、输入框满宽对齐 */
.woocommerce-account form .form-row {
	display: flex;
	flex-direction: column;
	margin: 0 0 16px;
	padding: 0;
}
.woocommerce-account form .form-row label {
	margin-bottom: 6px;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.01em;
}
.woocommerce-account form .form-row input.input-text,
.woocommerce-account form .form-row input[type="text"],
.woocommerce-account form .form-row input[type="email"],
.woocommerce-account form .form-row input[type="password"],
.woocommerce-account form .form-row input[type="tel"],
.woocommerce-account form .form-row select,
.woocommerce-account input.input-text,
.woocommerce-account .woocommerce-Input {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--color-border, #e2e2e2);
	background: #fff;
	font-size: 0.95rem;
	line-height: 1.4;
	border-radius: 6px;
	box-sizing: border-box;
}
.woocommerce-account form .form-row input:focus,
.woocommerce-account form .form-row select:focus {
	outline: none;
	border-color: var(--color-accent, #151515);
	box-shadow: 0 0 0 1px var(--color-accent, #151515);
}

/* 记住我 / 复选框行 */
.woocommerce-form-login__rememberme {
	display: flex !important;
	flex-direction: row !important;
	align-items: center;
	gap: 8px;
	font-weight: 400 !important;
	font-size: 0.88rem;
	margin: 4px 0 8px;
}
.woocommerce-form-login__rememberme input {
	width: auto !important;
	margin: 0;
}

/* 按钮 */
.woocommerce-account .button,
.woocommerce-account a.button,
.woocommerce-account button.button,
.woocommerce-account input.button {
	display: inline-block;
	background: var(--color-accent, #151515);
	color: #fff;
	border: 1px solid var(--color-accent, #151515);
	padding: 12px 28px;
	font-size: 0.88rem;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	cursor: pointer;
	text-decoration: none;
	border-radius: 6px;
	transition: opacity 0.15s ease;
}
.woocommerce-account .button:hover { opacity: 0.85; color: #fff; }

.woocommerce-LostPassword { margin: 12px 0 0; font-size: 0.85rem; }
.woocommerce-LostPassword a { color: var(--color-accent, #151515); }
.woocommerce-privacy-policy-text { font-size: 0.8rem; color: #767676; margin-top: 12px; line-height: 1.5; }

/* 提示 / 错误消息 */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info {
	padding: 12px 16px;
	margin: 0 0 20px;
	border-left: 3px solid var(--color-accent, #151515);
	background: #f6f7f7;
	list-style: none;
	font-size: 0.9rem;
	border-radius: 0 6px 6px 0;
}
.woocommerce-account .woocommerce-error { border-left-color: #c0392b; }

/* ---- 登录后:侧栏导航 + 内容 ---- */
.woocommerce-account.logged-in .woocommerce {
	display: flex;
	gap: 40px;
	align-items: flex-start;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
	flex: 0 0 220px;
	width: 220px;
	float: none;
}
.woocommerce-MyAccount-navigation ul {
	margin: 0;
	list-style: none;
	border: 1px solid var(--color-border, #e2e2e2);
	border-radius: 8px;
	overflow: hidden;
}
.woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--color-border, #e2e2e2); }
.woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
.woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 12px 16px;
	text-decoration: none;
	color: var(--color-accent, #151515);
	font-size: 0.92rem;
}
.woocommerce-MyAccount-navigation li a:hover,
.woocommerce-MyAccount-navigation li.is-active a {
	background: var(--color-accent, #151515);
	color: #fff;
}
.woocommerce-account .woocommerce-MyAccount-content {
	flex: 1;
	min-width: 0;
}

/* 表格(订单/地址) */
.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.shop_table,
.woocommerce-account table.account-orders-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 6px;
}
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td,
.woocommerce-account table.woocommerce-orders-table th,
.woocommerce-account table.woocommerce-orders-table td {
	padding: 10px 12px;
	border: 1px solid var(--color-border, #e2e2e2);
	text-align: left;
	font-size: 0.9rem;
}

@media (max-width: 767px) {
	.woocommerce-account.logged-in .woocommerce { flex-direction: column; }
	.woocommerce-account .woocommerce-MyAccount-navigation { width: 100%; flex-basis: auto; }
}

/* ===== 产品图库：主图 + 下方缩略图条（点击切换） ===== */
.thb-gallery__stage {
	border-radius: 8px;
	overflow: hidden;
	background: #f6f6f6;
}
.thb-gallery__thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(68px, 1fr));
	gap: 10px;
	margin-top: 12px;
}
.thb-gallery__thumb {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	padding: 0;
	margin: 0;
	border: 1px solid var(--color-border, #e2e2e2);
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
	cursor: pointer;
	line-height: 0;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.thb-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.thb-gallery__thumb:hover {
	border-color: #999;
}
.thb-gallery__thumb.is-active {
	border-color: var(--color-accent, #151515);
	box-shadow: 0 0 0 1px var(--color-accent, #151515);
}
@media only screen and (min-width: 768px) {
	.thb-gallery__thumbs { grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: 12px; margin-top: 14px; }
}

/* ============================================================
   手机端产品详情页：整体收紧间距
   ============================================================ */
@media (max-width: 767px) {
	/* 顶部图库与信息区间距 */
	.product-image-container { margin-bottom: 12px; }
	.thb-gallery__thumbs { margin-top: 8px; gap: 8px; }

	/* 评分 / 标题 / 价格 */
	.thb-product-detail .thb-rating-top { margin-bottom: 6px; }
	.thb-product-detail .product-title-container { margin-bottom: 8px; }
	.thb-product-detail .product-title { margin: 0 0 6px; }
	.thb-product-detail .product-price-container { margin: 0; }
	.thb-product-detail .product-short-description { margin: 8px 0 0; }

	/* 尺码 / 加购表单 */
	.thb-product-detail .thb-product-form { margin: 14px 0 12px; }
	.thb-product-detail form.cart .quantity { margin-bottom: 10px; }

	/* Pairs well with / 信任徽章 */
	.thb-pairs-with { margin: 14px 0; }
	.thb-product-trust { margin: 12px 0 14px; }
	.thb-pay-icons { margin-bottom: 10px; }

	/* 手风琴信息区 */
	.thb-accordions { margin: 12px 0 4px; }
	.thb-accordion > summary { padding: 13px 2px; }
	.thb-accordion__content { padding-bottom: 14px; }

	/* 元信息(SKU / 分类 / 标签) */
	.thb-product-detail .thb-product-meta { margin-top: 12px; }

	/* 评价区：去掉过大的上间距 */
	.thb-product-reviews { margin-top: 24px; padding-top: 20px; }
	.thb-product-reviews #reviews h2,
	.thb-product-reviews .woocommerce-Reviews-title { margin-bottom: 16px; }

	/* 相关产品 */
	.thb-product-detail .related.products,
	.thb-product-detail .up-sells { margin-top: 28px; }
}

/* ============================================================
   评价表单：去掉输入框继承的多余边距 + 手机端收紧
   ============================================================ */
#reviews .comment-form input[type="text"],
#reviews .comment-form input[type="email"],
#reviews .comment-form input[type="url"],
#reviews .comment-form textarea {
	margin-bottom: 0;
}
@media (max-width: 767px) {
	#reviews .comment-reply-title { margin: 0 0 6px; }
	#reviews #respond .comment-notes { margin: 0 0 14px; font-size: 0.85rem; }
	#reviews .comment-form p { margin: 0 0 14px; }
	#reviews .comment-form label { margin-bottom: 5px; }
	#reviews .comment-form-rating { margin-bottom: 8px; }
	#reviews p.stars { margin: 2px 0 0; }
	#reviews .comment-form textarea { min-height: 100px; }
	#reviews .comment-form-cookies-consent { margin: 4px 0 14px; }
	#reviews .form-submit { margin: 0; }
	.thb-product-reviews .woocommerce-noreviews { margin: 0 0 14px; }
}

/* ============================================================
   评价表单：所有屏幕统一收紧（不限宽度，覆盖之前的松散间距）
   ============================================================ */
.thb-product-reviews #reviews > h2,
.thb-product-reviews .woocommerce-Reviews-title { margin: 0 0 14px; }
.thb-product-reviews .woocommerce-noreviews { margin: 0 0 18px; }
#reviews .comment-reply-title { margin: 0 0 6px; }
#reviews #respond .comment-notes { margin: 0 0 14px; }
#reviews .comment-form p { margin: 0 0 12px; }
#reviews .comment-form label { margin-bottom: 5px; }
#reviews .comment-form-rating { margin-bottom: 8px; }
#reviews p.stars { margin: 2px 0 0; }
#reviews .comment-form textarea { min-height: 110px; }
#reviews .comment-form-cookies-consent { margin: 4px 0 14px; }
#reviews .form-submit { margin: 6px 0 0; }
