/**
 * RUIXIANG CRAFTS — visual refinement 2.1.0
 * Palace cinnabar + warm charcoal, with restrained warm-paper neutrals.
 */

:root {
	--ink: #24201e;
	--ink-soft: #625954;
	--paper: #f4efe7;
	--paper-deep: #e9dfd2;
	--white: #fbf8f2;
	--cinnabar: #9d2933;
	--cinnabar-dark: #6f1d24;
	--silver: #aaa7a2;
	--bronze: #aa8359;
	--line: rgba(36, 32, 30, 0.16);
	--shadow: 0 24px 70px rgba(44, 28, 25, 0.13);
	--max: 1200px;
}

body {
	background: var(--paper);
}

/*
 * Global catalogue cleanup.
 *
 * The theme can fall back to WordPress' stock sidebar beneath products and
 * pages. It contains Search, Pages, Archives and Categories, which are not
 * part of the RUIXIANG customer journey. Hide both the complete fallback
 * sidebar and the individual legacy/block-widget forms. The branded footer is
 * intentionally outside these selectors and remains visible.
 */
body #sidebar,
body #secondary,
body aside#secondary,
body .site-content > aside.widget-area,
body .content-area + aside.widget-area,
body main + aside.widget-area,
body .woocommerce + aside.widget-area,
body :where(.widget_search, .widget_pages, .widget_archive, .widget_categories),
body :where(.wp-block-search, .wp-block-page-list, .wp-block-archives, .wp-block-categories) {
	display: none !important;
}

body .site-content:has(> #secondary),
body .site-content:has(> aside.widget-area) {
	display: block;
}

body .site-content:has(> #secondary) > #primary,
body .site-content:has(> aside.widget-area) > #primary,
body .content-area:has(+ aside.widget-area) {
	width: 100%;
	max-width: none;
}

/*
 * Content typography system. Header navigation/branding and the formal footer
 * are deliberately excluded so their established identity remains unchanged.
 */
main,
.hero,
.section,
.newsletter,
.subpage-hero,
.shop-hero,
.subpage-cta,
.ordering-flow,
.quote-section,
.values-section {
	font-family: Inter, "Noto Sans SC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1rem;
	line-height: 1.68;
}

main :where(p, li, dd, dt, blockquote),
.hero :where(p, li),
.section :where(p, li),
.newsletter :where(p, li),
.subpage-hero :where(p, li),
.shop-hero :where(p, li),
.subpage-cta :where(p, li),
.ordering-flow :where(p, li),
.quote-section :where(p, li),
.values-section :where(p, li) {
	overflow-wrap: anywhere;
}

main :where(h1, h2, h3, h4),
.hero :where(h1, h2, h3, h4),
.section :where(h1, h2, h3, h4),
.newsletter :where(h1, h2, h3, h4),
.subpage-hero :where(h1, h2, h3, h4),
.shop-hero :where(h1, h2, h3, h4),
.subpage-cta :where(h1, h2, h3, h4),
.ordering-flow :where(h1, h2, h3, h4),
.quote-section :where(h1, h2, h3, h4),
.values-section :where(h1, h2, h3, h4) {
	font-family: "Cormorant Garamond", "Noto Serif SC", Georgia, serif;
	font-weight: 500;
	letter-spacing: -0.018em;
	text-wrap: balance;
	overflow-wrap: anywhere;
}

main .entry-content {
	font-size: clamp(0.94rem, 0.25vw + 0.9rem, 1rem);
	line-height: 1.72;
}

main .entry-content h2,
main .woocommerce-Tabs-panel h2 {
	margin: 1.7em 0 0.65em;
	font-size: clamp(1.85rem, 2.25vw, 2.65rem);
	line-height: 1.08;
}

main .entry-content h3 {
	margin: 1.55em 0 0.55em;
	font-size: clamp(1.35rem, 1.55vw, 1.8rem);
	line-height: 1.16;
}

main .entry-content > :first-child,
main .woocommerce-Tabs-panel > :first-child {
	margin-top: 0;
}

.container {
	width: min(calc(100% - clamp(40px, 6vw, 80px)), var(--max));
}

/* Header: a stable three-column axis and a stronger red/charcoal identity. */
.announcement {
	padding-block: 8px;
	background: var(--cinnabar-dark);
	color: #f8ede5;
}

.site-header {
	border-bottom-color: rgba(255, 255, 255, 0.1);
	background: rgba(36, 32, 30, 0.97);
	color: #f7f0e7;
}

.header-inner {
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	min-height: 84px;
	gap: clamp(18px, 2vw, 30px);
}

.primary-menu,
.header-actions {
	gap: clamp(15px, 1.6vw, 24px);
}

.primary-menu a,
.header-actions a {
	white-space: nowrap;
}

.primary-menu .current-menu-item > a,
.primary-menu .current_page_item > a {
	color: #e8b7ad;
}

.site-brand__name {
	font-size: 1.16rem;
	letter-spacing: 0.16em;
}

.site-brand__cn,
.header-whatsapp {
	color: #e8b7ad;
}

.header-whatsapp {
	border-bottom-color: #c95a55;
}

.menu-toggle {
	color: #f7f0e7;
}

/* Hero: keep the product dominant and stop the headline colliding with it. */
.hero,
.hero__content {
	min-height: 640px;
}

.hero__media::after {
	background:
		linear-gradient(90deg, rgba(29, 20, 19, 0.88) 0%, rgba(38, 24, 23, 0.58) 43%, rgba(79, 24, 27, 0.12) 78%),
		linear-gradient(0deg, rgba(36, 32, 30, 0.18), rgba(36, 32, 30, 0.18));
}

.hero__copy {
	max-width: 620px;
	padding-block: 72px;
}

.hero h1 {
	max-width: 610px;
	font-size: clamp(3.6rem, 6.2vw, 6.35rem);
	line-height: 0.88;
}

.hero .eyebrow {
	color: #e7b9a5;
}

.hero .button {
	border-color: var(--cinnabar);
	background: var(--cinnabar);
	color: #fff8f1;
}

.hero .button:hover {
	border-color: #fff8f1;
	background: #fff8f1;
	color: var(--ink);
}

/* Core colour system. */
.section--white,
.trust-strip,
.shop-hero {
	background: var(--white);
}

.craft,
.ordering-flow,
.site-footer {
	background: var(--ink);
}

.quote-section,
.values-section {
	background: var(--cinnabar);
}

.button,
button,
input[type="submit"],
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	border-color: var(--cinnabar);
	background: var(--cinnabar);
	color: #fff8f1;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
	border-color: var(--ink);
	background: var(--ink);
	color: #fff8f1;
}

/* Rhythm: less empty space and consistent section boundaries. */
.section {
	padding-block: clamp(76px, 8vw, 112px);
}

.products-head {
	align-items: flex-end;
	margin-bottom: 42px;
}

.page-hero {
	padding: 92px 0 66px;
}

.subpage-hero {
	padding: clamp(82px, 9vw, 126px) 0 clamp(68px, 7vw, 88px);
}

.subpage-hero__grid {
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.55fr);
	gap: clamp(52px, 7vw, 100px);
}

.subpage-hero h1,
.shop-hero h1 {
	font-size: clamp(3.45rem, 6.4vw, 6.5rem);
	line-height: 0.9;
}

.subpage-hero__aside {
	padding-bottom: 6px;
}

.shop-hero {
	padding: 88px 0 66px;
}

/* Collection rows: balanced image/copy columns and a shorter reading path. */
.collection-row,
.collection-row:nth-child(2n) {
	grid-template-columns: minmax(0, 1.05fr) 48px minmax(0, 0.95fr);
	gap: clamp(30px, 4vw, 58px);
	padding-block: 62px;
}

.collection-row__copy h2 {
	font-size: clamp(2.35rem, 3.8vw, 4rem);
	line-height: 0.96;
}

.collection-row__copy > p:not(.eyebrow):not(.collection-row__cn) {
	max-width: 480px;
}

/* Product cards: bilingual titles no longer create uneven rows. */
.product-grid,
.woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 38px 22px;
}

/*
 * WooCommerce's legacy clearfix creates ::before/::after pseudo-elements on
 * product lists. Once the list becomes a CSS Grid, those pseudo-elements turn
 * into grid items and the ::before item consumes the first product slot.
 */
.woocommerce ul.products::before,
.woocommerce ul.products::after {
	display: none !important;
	content: none !important;
}

.product-card,
.woocommerce ul.products li.product {
	display: flex !important;
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	min-width: 0;
	flex-direction: column;
}

.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link {
	display: flex;
	min-width: 0;
	flex-direction: column;
}

.product-card h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	min-height: 2.5em;
	margin: 0 0 7px;
	overflow: hidden;
	font-size: clamp(1rem, 1.25vw, 1.18rem);
	line-height: 1.25;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.woocommerce ul.products li.product .price {
	display: block;
	margin: 0 0 10px !important;
	line-height: 1.35;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .whatsapp-product-button {
	display: flex !important;
	width: 100%;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	margin-top: auto !important;
	padding: 10px 16px !important;
	line-height: 1.25 !important;
	text-align: center;
	white-space: normal;
}

/* Product page: bilingual names remain readable without dominating the item. */
.woocommerce div.product .product_title {
	max-width: 18ch;
	margin-bottom: 0.55em;
	font-size: clamp(2.55rem, 3.75vw, 4rem);
	line-height: 0.98;
	letter-spacing: -0.025em;
}

.woocommerce div.product div.summary {
	min-width: 0;
}

.woocommerce div.product .summary > p,
.woocommerce div.product .summary .woocommerce-product-details__short-description {
	font-size: 0.98rem;
	line-height: 1.65;
}

.woocommerce div.product .woocommerce-tabs {
	padding-top: clamp(28px, 4vw, 54px);
}

.woocommerce div.product .woocommerce-Tabs-panel {
	max-width: 920px;
}

.woocommerce div.product .related.products > h2 {
	margin-bottom: 28px;
	font-size: clamp(1.75rem, 2.3vw, 2.35rem);
	line-height: 1.1;
}

.whatsapp-product-button {
	margin-top: auto !important;
}

/* Cards, stories and footer share the same left/right axes. */
.purpose-card {
	min-height: 320px;
	padding: 42px 38px;
	background: var(--white);
	border-top: 3px solid var(--cinnabar);
}

.purpose-card__icon {
	margin-bottom: 42px;
}

.story-row {
	grid-template-columns: 110px minmax(0, 1fr) 42px;
	gap: 32px;
}

.footer-grid {
	grid-template-columns: minmax(260px, 1.45fr) 0.78fr 0.78fr minmax(210px, 1.1fr);
	gap: clamp(34px, 5vw, 70px);
}

.footer-bottom {
	margin-top: 58px;
}

/* Compact branded contact control: no longer covers the footer contact list. */
.whatsapp-float {
	right: 24px;
	bottom: 24px;
	width: 62px;
	height: 62px;
	min-width: 62px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.48);
	border-radius: 50%;
	background: var(--cinnabar);
	box-shadow: 0 14px 34px rgba(53, 20, 21, 0.28);
	text-align: center;
}

.whatsapp-float span {
	font-size: 0;
}

.whatsapp-float span::after {
	content: "CHAT";
	font-size: 0.62rem;
	font-weight: 750;
	letter-spacing: 0.09em;
}

.whatsapp-float small {
	display: none;
}

@media (max-width: 1000px) {
	.header-inner {
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	.main-nav {
		border-bottom-color: rgba(255, 255, 255, 0.12);
		background: var(--ink);
		color: #f7f0e7;
	}

	.subpage-hero__grid,
	.shop-hero__grid {
		grid-template-columns: minmax(0, 1fr) minmax(250px, 0.65fr);
		gap: 52px;
	}

	.collection-row,
	.collection-row:nth-child(2n) {
		grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
		gap: 26px;
	}

	.product-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.footer-grid {
		grid-template-columns: 1.35fr 0.8fr 0.8fr;
	}
}

@media (max-width: 700px) {
	.container {
		width: min(calc(100% - 28px), var(--max));
	}

	.announcement {
		padding-inline: 14px;
		font-size: 0.6rem;
		line-height: 1.45;
	}

	.header-inner {
		min-height: 70px;
	}

	.site-brand__name {
		font-size: 0.93rem;
		letter-spacing: 0.1em;
	}

	.hero,
	.hero__content {
		min-height: 610px;
	}

	.hero__copy {
		padding-block: 62px;
	}

	.hero h1 {
		max-width: 94%;
		font-size: clamp(3.15rem, 16vw, 4.7rem);
		line-height: 0.9;
	}

	.hero p {
		max-width: 92%;
		font-size: 0.96rem;
	}

	.section {
		padding-block: 70px;
	}

	.subpage-hero,
	.shop-hero {
		padding: 68px 0 54px;
	}

	.subpage-hero__grid,
	.shop-hero__grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.subpage-hero h1,
	.shop-hero h1 {
		font-size: clamp(2.75rem, 13vw, 4.3rem);
		line-height: 0.92;
	}

	.collection-row,
	.collection-row:nth-child(2n) {
		grid-template-columns: 34px minmax(0, 1fr);
		gap: 18px;
		padding-block: 46px;
	}

	.collection-row__copy h2 {
		font-size: clamp(2.15rem, 10vw, 3.2rem);
	}

	.product-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 12px;
	}

	.product-card h3,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		min-height: 3.75em;
		font-size: 0.98rem;
		-webkit-line-clamp: 3;
	}

	.woocommerce div.product .product_title {
		max-width: none;
		font-size: clamp(2.25rem, 10.5vw, 3.35rem);
		line-height: 1;
	}

	main .entry-content h2,
	main .woocommerce-Tabs-panel h2 {
		font-size: clamp(1.7rem, 8vw, 2.25rem);
	}

	.purpose-card {
		padding: 34px 28px;
	}

	.story-row {
		grid-template-columns: minmax(0, 1fr) 30px;
		gap: 18px;
	}

	.footer-grid {
		grid-template-columns: 1fr 1fr;
		gap: 38px 22px;
	}

	.whatsapp-float {
		right: 14px;
		bottom: 14px;
		width: 54px;
		height: 54px;
		min-width: 54px;
	}

	.whatsapp-float span::after {
		font-size: 0.56rem;
	}
}

@media (max-width: 430px) {
	.product-grid,
	.woocommerce ul.products {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.product-card h3,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		min-height: 0;
		-webkit-line-clamp: 3;
	}
}

/* Home collection category thumbnails (v1.5) */
.home .collection-grid .collection-card__placeholder {
	overflow: hidden;
}

.home .collection-grid .ruixiang-collection-thumbnail {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	opacity: 0;
	transform: scale(1.001);
	transition: opacity 0.28s ease, transform 0.7s ease;
}

.home .collection-grid .has-category-thumbnail .ruixiang-collection-thumbnail {
	opacity: 1;
}

.home .collection-grid .collection-card:hover .ruixiang-collection-thumbnail {
	transform: scale(1.035);
}

/* Craft & Stories media-library images (v1.6) */
.page-template-page-craft-stories .craft-manifesto__visual,
.page-template-page-craft-stories .reserved-placeholder--image {
	overflow: hidden;
}

.page-template-page-craft-stories .craft-manifesto__visual .ruixiang-craft-image,
.page-template-page-craft-stories .reserved-placeholder--image .ruixiang-craft-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.page-template-page-craft-stories .reserved-placeholder--image {
	padding: 0;
	border: 0;
	background: #d9cfc2;
}

/* Craft & Stories process cards (v1.7) */
.page-template-page-craft-stories .process-section .section-title {
	max-width: 820px;
}

.page-template-page-craft-stories .process-grid {
	margin-top: clamp(36px, 4.5vw, 56px);
}

.page-template-page-craft-stories .process-grid article {
	display: flex;
	min-height: 340px;
	flex-direction: column;
	padding: clamp(28px, 2.5vw, 38px) clamp(24px, 2.2vw, 32px);
}

.page-template-page-craft-stories .ruixiang-process-mark {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
}

.page-template-page-craft-stories .ruixiang-process-mark > span {
	color: var(--cinnabar);
	font: 500 1.25rem/1 var(--serif);
}

.page-template-page-craft-stories .ruixiang-process-mark > svg {
	box-sizing: border-box;
	width: 46px;
	height: 46px;
	padding: 10px;
	border: 1px solid rgba(157, 41, 51, 0.42);
	border-radius: 50%;
	color: var(--cinnabar);
	fill: none;
	stroke: currentColor;
	stroke-width: 1.35;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.page-template-page-craft-stories .process-grid h3 {
	margin: auto 0 12px;
	font-size: clamp(1.85rem, 2.5vw, 2.35rem);
	line-height: 1;
}

.page-template-page-craft-stories .process-grid p {
	margin-bottom: 0;
	font-size: 0.86rem;
	line-height: 1.65;
}

@media (max-width: 1000px) {
	.page-template-page-craft-stories .process-grid article {
		min-height: 300px;
	}
}

@media (max-width: 700px) {
	.page-template-page-craft-stories .process-grid {
		margin-top: 32px;
	}

	.page-template-page-craft-stories .process-grid article {
		min-height: 255px;
		padding: 26px 24px;
	}

	.page-template-page-craft-stories .ruixiang-process-mark > svg {
		width: 42px;
		height: 42px;
		padding: 9px;
	}
}


/* RUIXIANG CRAFTS — clean commerce system v2.0 */
:root {
	--ink: #1d1d1f;
	--ink-soft: #5f5f63;
	--paper: #ffffff;
	--paper-deep: #f5f5f3;
	--white: #ffffff;
	--cinnabar: #8f2730;
	--cinnabar-dark: #681b22;
	--line: rgba(29, 29, 31, 0.13);
	--shadow: 0 12px 36px rgba(17, 17, 17, 0.08);
	--max: 1240px;
	--font-ui: Inter, "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html { font-size: 16px; }
body,
button,
input,
textarea,
select,
main,
.hero,
.section,
.newsletter,
.subpage-hero,
.shop-hero,
.subpage-cta,
.ordering-flow,
.quote-section,
.values-section {
	font-family: var(--font-ui);
}
body {
	color: var(--ink);
	background: #fff;
	font-size: 1rem;
	line-height: 1.62;
	-webkit-font-smoothing: antialiased;
}
main :where(h1, h2, h3, h4),
.hero :where(h1, h2, h3, h4),
.section :where(h1, h2, h3, h4),
.newsletter :where(h1, h2, h3, h4),
.subpage-hero :where(h1, h2, h3, h4),
.shop-hero :where(h1, h2, h3, h4),
.subpage-cta :where(h1, h2, h3, h4),
.ordering-flow :where(h1, h2, h3, h4),
.quote-section :where(h1, h2, h3, h4),
.values-section :where(h1, h2, h3, h4),
.section-title,
.woocommerce div.product .product_title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-ui);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.08;
}
.eyebrow {
	margin-bottom: 14px;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
}
.section-title {
	font-size: clamp(2.25rem, 4.2vw, 4.25rem);
}
.section-copy,
main .entry-content {
	color: var(--ink-soft);
	font-size: 1rem;
	line-height: 1.7;
}
.container {
	width: min(calc(100% - clamp(32px, 5vw, 72px)), var(--max));
}

.announcement {
	padding-block: 7px;
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.site-header {
	background: rgba(24, 23, 22, 0.98);
	backdrop-filter: blur(14px);
}
.header-inner {
	min-height: 72px;
	gap: 22px;
}
.site-brand__name {
	font-family: var(--font-ui);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.13em;
}
.site-brand__cn {
	font-size: 0.65rem;
	letter-spacing: 0.22em;
}
.primary-menu,
.header-actions {
	gap: clamp(14px, 1.45vw, 22px);
}
.primary-menu a,
.header-actions a {
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.08em;
}

.hero,
.hero__content {
	min-height: clamp(520px, 67vh, 620px);
}
.hero__copy {
	max-width: 590px;
	padding-block: 64px;
}
.hero h1 {
	max-width: 590px;
	font-size: clamp(3rem, 5.5vw, 5.35rem);
	font-weight: 600;
	line-height: 0.98;
	letter-spacing: -0.05em;
}
.hero p {
	max-width: 590px;
	font-size: 1rem;
	line-height: 1.65;
}
.hero__media::after {
	background: linear-gradient(90deg, rgba(18, 16, 15, 0.82) 0%, rgba(25, 20, 18, 0.54) 44%, rgba(18, 16, 15, 0.12) 78%);
}

.button,
button,
input[type="submit"],
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	min-height: 48px;
	padding-inline: 22px;
	border-radius: 3px;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	box-shadow: none;
}
.section {
	padding-block: clamp(64px, 7vw, 94px);
}
.products-head {
	margin-bottom: 32px;
}
.trust-strip {
	border-bottom: 1px solid var(--line);
}
.purpose-card,
.woocommerce ul.products li.product {
	background: #fff;
}
.purpose-card {
	min-height: 280px;
	padding: 34px 30px;
	border: 1px solid var(--line);
	border-top: 2px solid var(--cinnabar);
}
.purpose-card__icon { margin-bottom: 32px; }
.story-row { padding-block: 26px; }

.product-grid,
.woocommerce ul.products {
	gap: 34px 20px;
}
.woocommerce ul.products li.product a img,
.product-card img {
	border-radius: 2px;
	background: var(--paper-deep);
	transition: transform 0.35s ease;
}
.woocommerce ul.products li.product:hover a img,
.product-card:hover img {
	transform: scale(1.015);
}
.product-card h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	min-height: 2.6em;
	margin-top: 14px;
	font-size: 1rem;
	line-height: 1.3;
}
.woocommerce ul.products li.product .price {
	color: var(--ink);
	font-size: 0.95rem;
	font-weight: 600;
}
.woocommerce div.product .product_title {
	max-width: 20ch;
	font-size: clamp(2.25rem, 3.3vw, 3.5rem);
	line-height: 1.05;
}
.woocommerce div.product div.images img {
	border-radius: 3px;
	background: var(--paper-deep);
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--line);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
select,
textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea {
	min-height: 48px;
	padding: 11px 13px;
	border: 1px solid #c9c9c9;
	border-radius: 3px;
	background: #fff;
	color: var(--ink);
}
input:focus,
select:focus,
textarea:focus {
	border-color: var(--ink);
	outline: 2px solid rgba(29, 29, 31, 0.12);
	outline-offset: 1px;
}
.woocommerce-checkout #payment,
.woocommerce-cart-form,
.cart_totals,
.woocommerce table.shop_table {
	border: 1px solid var(--line);
	border-radius: 3px;
	background: #fff;
}
.woocommerce-checkout #payment { padding: 8px; }

.page-hero,
.shop-hero,
.subpage-hero {
	padding-block: clamp(64px, 7vw, 92px);
}
.subpage-hero h1,
.shop-hero h1 {
	font-size: clamp(2.7rem, 5.4vw, 5rem);
	line-height: 1;
}
.site-footer { padding-top: clamp(60px, 7vw, 86px); }
.footer-bottom { margin-top: 44px; }

@media (max-width: 700px) {
	.container { width: min(calc(100% - 30px), var(--max)); }
	.announcement {
		padding-inline: 12px;
		font-size: 0.58rem;
		letter-spacing: 0.065em;
		white-space: normal;
	}
	.header-inner { min-height: 64px; }
	.site-brand__name { font-size: 0.88rem; letter-spacing: 0.09em; }
	.hero,
	.hero__content { min-height: 500px; }
	.hero__copy { padding-block: 48px; }
	.hero h1 {
		max-width: 100%;
		font-size: clamp(2.55rem, 12.2vw, 3.55rem);
		line-height: 1;
	}
	.hero p { max-width: 100%; font-size: 0.94rem; line-height: 1.58; }
	.hero .button { width: 100%; max-width: 310px; }
	.section { padding-block: 56px; }
	.section-title { font-size: clamp(2rem, 9.2vw, 3rem); }
	.subpage-hero,
	.shop-hero { padding-block: 54px 44px; }
	.subpage-hero h1,
	.shop-hero h1 { font-size: clamp(2.35rem, 10.5vw, 3.35rem); }
	.product-grid,
	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 26px 12px;
	}
	.product-card h3,
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
		min-height: 3.9em;
		margin-top: 10px;
		font-size: 0.9rem;
		line-height: 1.3;
	}
	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product .whatsapp-product-button {
		min-height: 44px;
		padding: 9px 8px !important;
		font-size: 0.66rem;
		letter-spacing: 0.045em;
	}
	.woocommerce div.product .product_title {
		font-size: clamp(2rem, 9vw, 2.8rem);
		line-height: 1.08;
	}
	.footer-grid { grid-template-columns: 1fr; gap: 32px; }
	.whatsapp-float { width: 50px; height: 50px; min-width: 50px; }
}

@media (max-width: 360px) {
	.product-grid,
	.woocommerce ul.products { grid-template-columns: 1fr !important; }
	.product-card h3,
	.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 0; }
}


/* RUIXIANG CRAFTS — unified commerce typography 2.1 */
body, body button, body input, body select, body textarea,
body h1, body h2, body h3, body h4, body h5, body h6,
body .hero__title, body .section-title, body .woocommerce-loop-product__title,
body .product_title, body .entry-title {
  font-family: Inter, "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
body h1, body h2, body h3, body .hero__title, body .section-title {
  letter-spacing: -0.025em;
}
