/*
Theme Name: Rumall 家纺外贸模板
Description: 面向中英俄三语家纺外贸目录站的 Blocksy 子主题，提供稳定的视觉基础、产品展示和询盘样式。
Author: otaku
Template: blocksy
Version: 1.1.0
Text Domain: rumall-home-textile
Requires at least: 6.7
Requires PHP: 7.4
*/

:root {
	--rumall-ink: #24312c;
	--rumall-ink-soft: #35453e;
	--rumall-muted: #657069;
	--rumall-brand: #80624b;
	--rumall-brand-dark: #604735;
	--rumall-accent: #b9916f;
	--rumall-canvas: #f7f4ef;
	--rumall-canvas-deep: #eee9e1;
	--rumall-surface: #fff;
	--rumall-line: #e2ddd4;
	--rumall-shadow: 0 22px 60px rgba(42, 38, 32, .1);
	--rumall-radius: 18px;
	--rumall-shell: min(1280px, calc(100% - 48px));
}

html {
	scroll-behavior: smooth;
}

body.rumall-home-textile-theme {
	background: var(--rumall-canvas);
	color: var(--rumall-ink);
}

.rumall-home-textile-theme :where(a, button, input, textarea, select):focus-visible {
	outline: 3px solid rgba(128, 98, 75, .45);
	outline-offset: 3px;
}

.rumall-shell {
	width: var(--rumall-shell);
	margin-inline: auto;
}

.rumall-top-strip {
	position: relative;
	z-index: 51;
	padding: 8px 0;
	background: var(--rumall-ink);
	color: rgba(255, 255, 255, .82);
	font-size: .79rem;
	letter-spacing: .025em;
}

.rumall-top-strip .rumall-shell,
.rumall-top-contacts {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}

.rumall-top-strip a {
	color: #fff;
	text-decoration: none;
}

.rumall-home-textile-theme .ct-header {
	border-bottom: 1px solid rgba(128, 98, 75, .13);
	background: rgba(255, 255, 255, .94);
	box-shadow: 0 6px 28px rgba(42, 38, 32, .04);
	backdrop-filter: blur(14px);
}

.rumall-home-textile-theme .site-main,
.rumall-home-textile-theme [data-content="normal"] {
	--theme-content-width: 780px;
	--theme-default-editor: var(--rumall-ink);
}

.rumall-home-textile-theme.page .hero-section {
	display: none;
}

.rumall-home-textile-theme .entry-content {
	line-height: 1.75;
}

.rumall-home-textile-theme .entry-content > :where(h1, h2, h3, p, ul, ol):not(.alignwide):not(.alignfull) {
	max-width: 780px;
	margin-right: auto;
	margin-left: auto;
}

.rumall-home-textile-theme .entry-content h1,
.rumall-home-textile-theme .entry-content h2,
.rumall-home-textile-theme .entry-content h3 {
	text-wrap: balance;
}

.rumall-home-textile-theme .entry-content > h1:first-child,
.rumall-page-hero h1 {
	max-width: 18ch;
	margin-bottom: clamp(20px, 4vw, 42px);
	font-size: clamp(2.35rem, 6vw, 5rem);
	line-height: 1.04;
	letter-spacing: -.035em;
}

.rumall-home-textile-theme .entry-content h2 {
	font-size: clamp(1.65rem, 3vw, 2.65rem);
	line-height: 1.15;
	letter-spacing: -.02em;
}

.rumall-home-textile-theme .entry-content p,
.rumall-home-textile-theme .entry-content li {
	color: var(--rumall-muted);
	font-size: clamp(1rem, 1.3vw, 1.1rem);
}

.rumall-eyebrow {
	margin-bottom: 14px;
	color: var(--rumall-brand) !important;
	font-size: .77rem !important;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.rumall-lead {
	max-width: 760px;
	font-size: clamp(1.1rem, 2vw, 1.35rem) !important;
}

.rumall-page-hero {
	margin-bottom: clamp(48px, 7vw, 92px);
	padding: clamp(60px, 9vw, 118px) max(24px, calc((100vw - 1280px) / 2));
	background:
		radial-gradient(circle at 86% 25%, rgba(185, 145, 111, .26), transparent 31%),
		linear-gradient(135deg, #f0e9df, #fbfaf7);
}

.rumall-page-hero h1 {
	margin-top: 10px;
	margin-left: 0 !important;
}

.rumall-page-hero .rumall-lead {
	margin-left: 0 !important;
}

.rumall-home-hero {
	position: relative;
	overflow: hidden;
	margin-bottom: clamp(46px, 7vw, 90px);
	padding: clamp(58px, 9vw, 122px) max(24px, calc((100vw - 1280px) / 2));
	background:
		radial-gradient(circle at 82% 22%, rgba(185, 145, 111, .3), transparent 34%),
		linear-gradient(135deg, #f2ece3, #fbfaf7);
}

.rumall-home-hero::before {
	position: absolute;
	inset: auto -8% -45% auto;
	width: min(48vw, 680px);
	aspect-ratio: 1;
	border: 1px solid rgba(128, 98, 75, .12);
	border-radius: 50%;
	content: "";
}

.rumall-home-hero h1 {
	max-width: 13ch;
	margin-top: 14px;
	font-size: clamp(2.65rem, 5.7vw, 5.4rem);
	line-height: 1.01;
	letter-spacing: -.04em;
}

.rumall-media {
	overflow: hidden;
	border: 1px solid rgba(128, 98, 75, .14);
	border-radius: calc(var(--rumall-radius) * 1.45);
	background: var(--rumall-canvas-deep);
	box-shadow: var(--rumall-shadow);
}

.rumall-media img {
	display: block;
	width: 100%;
	aspect-ratio: 7 / 5;
	object-fit: cover;
}

.rumall-media--hero {
	transform: rotate(1.5deg);
	border-radius: 48% 48% 20% 20% / 35% 35% 18% 18%;
	box-shadow: 0 30px 80px rgba(73, 54, 40, .16);
}

.rumall-media--hero img {
	aspect-ratio: 8 / 5;
}

.rumall-trust-strip {
	position: relative;
	z-index: 2;
	margin-top: clamp(-72px, -5vw, -42px);
	margin-bottom: clamp(68px, 9vw, 118px);
	padding: 26px 34px;
	border: 1px solid var(--rumall-line);
	border-radius: var(--rumall-radius);
	background: rgba(255, 255, 255, .94);
	box-shadow: var(--rumall-shadow);
}

.rumall-trust-strip .wp-block-columns {
	margin-bottom: 0;
}

.rumall-trust-strip .wp-block-column {
	padding: 4px clamp(10px, 3vw, 34px);
	border-right: 1px solid var(--rumall-line);
}

.rumall-trust-strip .wp-block-column:last-child {
	border-right: 0;
}

.rumall-trust-strip p {
	margin: 2px 0;
	font-size: .92rem !important;
}

.rumall-trust-strip .rumall-metric {
	color: var(--rumall-ink) !important;
	font-size: clamp(1.05rem, 2vw, 1.35rem) !important;
	font-weight: 750;
}

.rumall-home-section {
	margin-top: clamp(58px, 8vw, 112px);
	margin-bottom: clamp(58px, 8vw, 112px);
}

.rumall-category-grid {
	margin-top: 32px;
	margin-bottom: 54px;
}

.rumall-category-card {
	overflow: hidden;
	padding-bottom: 24px;
	border: 1px solid var(--rumall-line);
	border-radius: var(--rumall-radius);
	background: var(--rumall-surface);
	box-shadow: 0 10px 34px rgba(42, 38, 32, .06);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.rumall-category-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--rumall-shadow);
}

.rumall-category-card figure {
	margin: 0 0 22px;
}

.rumall-category-card img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.rumall-category-card :where(h3, p) {
	margin-right: 22px;
	margin-left: 22px;
}

.rumall-story {
	padding: clamp(58px, 8vw, 105px) max(24px, calc((100vw - 1280px) / 2));
	background: var(--rumall-canvas-deep);
}

.rumall-story .wp-block-columns {
	gap: clamp(36px, 7vw, 90px);
}

.rumall-story li {
	margin-bottom: 12px;
}

.rumall-process .wp-block-columns {
	gap: 0;
	margin-top: 34px;
	border-top: 1px solid var(--rumall-line);
	border-bottom: 1px solid var(--rumall-line);
}

.rumall-process .wp-block-column {
	position: relative;
	padding: 28px clamp(18px, 3vw, 32px);
	border-right: 1px solid var(--rumall-line);
}

.rumall-process .wp-block-column:last-child {
	border-right: 0;
}

.rumall-step {
	display: inline-grid;
	width: 42px;
	height: 42px;
	margin-bottom: 22px;
	border-radius: 50%;
	place-items: center;
	background: var(--rumall-brand);
	color: #fff;
	font-size: .8rem;
	font-weight: 800;
}

.rumall-proof-grid .wp-block-column {
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid var(--rumall-line);
	border-radius: var(--rumall-radius);
	background: var(--rumall-surface);
	box-shadow: 0 10px 32px rgba(42, 38, 32, .05);
}

.rumall-proof-grid h3 {
	margin-top: 0;
}

.rumall-home-cta {
	position: relative;
	overflow: hidden;
	margin-top: clamp(64px, 10vw, 130px);
	margin-bottom: clamp(64px, 10vw, 130px);
	padding: clamp(34px, 6vw, 74px);
	border-radius: calc(var(--rumall-radius) * 1.5);
	background: var(--rumall-ink);
	color: #fff;
}

.rumall-home-cta::after {
	position: absolute;
	inset: -80% -12% auto auto;
	width: 460px;
	aspect-ratio: 1;
	border: 1px solid rgba(255, 255, 255, .11);
	border-radius: 50%;
	content: "";
}

.rumall-home-cta :where(h2, p) {
	position: relative;
	z-index: 1;
	max-width: 720px;
	color: #fff !important;
}

.rumall-catalog-tools,
.rumall-contact-card {
	padding: clamp(24px, 4vw, 42px);
	border: 1px solid var(--rumall-line);
	border-radius: var(--rumall-radius);
	background: var(--rumall-surface);
	box-shadow: var(--rumall-shadow);
}

.rumall-contact-grid {
	margin-bottom: clamp(70px, 10vw, 130px);
	gap: clamp(24px, 5vw, 70px);
}

.rumall-latest-posts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	padding: 0;
}

.rumall-latest-posts > li {
	overflow: hidden;
	padding: 0 0 24px;
	border: 1px solid var(--rumall-line);
	border-radius: var(--rumall-radius);
	background: var(--rumall-surface);
	list-style: none;
}

.rumall-latest-posts :where(.wp-block-latest-posts__featured-image, a, time, .wp-block-latest-posts__post-excerpt) {
	margin-right: 22px;
	margin-left: 22px;
}

.rumall-latest-posts .wp-block-latest-posts__featured-image {
	margin: 0 0 20px;
}

.rumall-latest-posts img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.rumall-home-textile-theme :where(.wp-block-button__link, button, .button, input[type="submit"]) {
	border: 0;
	border-radius: 999px;
	background: var(--rumall-brand);
	color: #fff;
	font-weight: 700;
	letter-spacing: .01em;
	transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.rumall-home-textile-theme :where(.wp-block-button__link, button, .button, input[type="submit"]):hover {
	transform: translateY(-1px);
	background: var(--rumall-brand-dark);
	box-shadow: 0 10px 24px rgba(96, 71, 53, .2);
	color: #fff;
}

.rumall-home-textile-theme :where(input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
	border: 1px solid var(--rumall-line);
	border-radius: 10px;
	background: var(--rumall-surface);
}

.rumall-home-textile-theme .woocommerce ul.products {
	gap: clamp(18px, 3vw, 32px);
}

.rumall-home-textile-theme .woocommerce ul.products li.product {
	overflow: hidden;
	padding: 0 0 22px;
	border: 1px solid var(--rumall-line);
	border-radius: var(--rumall-radius);
	background: var(--rumall-surface);
	box-shadow: 0 8px 26px rgba(42, 38, 32, .05);
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.rumall-home-textile-theme .woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: var(--rumall-shadow);
}

.rumall-home-textile-theme .woocommerce ul.products li.product :where(.woocommerce-loop-product__title, .price, .button) {
	margin-right: 20px;
	margin-left: 20px;
}

.rumall-home-textile-theme .woocommerce ul.products li.product img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.rumall-product-search {
	margin: 26px 0 40px;
	padding: clamp(18px, 3vw, 30px);
	border: 1px solid var(--rumall-line);
	border-radius: var(--rumall-radius);
	background: var(--rumall-surface);
	box-shadow: var(--rumall-shadow);
}

.rumall-inquiry-button--generic {
	margin-top: 12px;
	padding: 14px 26px;
}

.rumall-inquiry-dialog {
	border: 1px solid var(--rumall-line);
	border-radius: var(--rumall-radius);
	box-shadow: 0 28px 80px rgba(27, 25, 22, .28);
}

.rumall-footer {
	padding: clamp(58px, 8vw, 96px) 0 26px;
	background: var(--rumall-ink);
	color: rgba(255, 255, 255, .7);
}

.rumall-home-textile-theme .site-footer {
	display: none;
}

.rumall-footer-grid {
	display: grid;
	grid-template-columns: 1.6fr .75fr 1fr;
	gap: clamp(34px, 7vw, 96px);
}

.rumall-footer h2 {
	margin: 0 0 20px;
	color: #fff;
	font-size: 1rem;
	letter-spacing: .03em;
}

.rumall-footer a {
	color: rgba(255, 255, 255, .78);
	text-decoration: none;
}

.rumall-footer a:hover {
	color: #fff;
}

.rumall-footer-logo {
	display: inline-block;
	margin-bottom: 16px;
	color: #fff !important;
	font-size: clamp(1.5rem, 3vw, 2.15rem);
	font-weight: 800;
	letter-spacing: -.03em;
}

.rumall-footer-brand p {
	max-width: 42ch;
}

.rumall-footer-menu,
.rumall-contact-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rumall-footer-menu li,
.rumall-contact-list li {
	margin-bottom: 11px;
}

.rumall-footer-action {
	margin-top: 24px;
}

.rumall-profile-hint {
	padding: 10px 12px;
	border: 1px dashed rgba(255, 255, 255, .25);
	border-radius: 8px;
	font-size: .8rem;
}

.rumall-footer-bottom {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	margin-top: 54px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, .12);
	font-size: .82rem;
}

@media (max-width: 999px) {
	.rumall-latest-posts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rumall-process .wp-block-columns {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.rumall-process .wp-block-column:nth-child(2) {
		border-right: 0;
	}

	.rumall-process .wp-block-column:nth-child(-n+2) {
		border-bottom: 1px solid var(--rumall-line);
	}
}

@media (max-width: 689px) {
	:root {
		--rumall-shell: min(100% - 32px, 1280px);
	}

	.rumall-top-strip {
		padding: 7px 0;
	}

	.rumall-top-strip .rumall-shell {
		align-items: flex-start;
		flex-direction: column;
		gap: 3px;
	}

	.rumall-top-contacts {
		flex-wrap: wrap;
		gap: 12px;
	}

	.rumall-home-hero,
	.rumall-page-hero,
	.rumall-story {
		padding-right: 20px;
		padding-left: 20px;
	}

	.rumall-media--hero {
		transform: none;
		border-radius: var(--rumall-radius);
	}

	.rumall-trust-strip {
		width: calc(100% - 32px);
		padding: 18px;
	}

	.rumall-trust-strip .wp-block-column {
		padding: 10px 0;
		border-right: 0;
		border-bottom: 1px solid var(--rumall-line);
	}

	.rumall-trust-strip .wp-block-column:last-child {
		border-bottom: 0;
	}

	.rumall-process .wp-block-columns,
	.rumall-latest-posts,
	.rumall-footer-grid {
		grid-template-columns: 1fr;
	}

	.rumall-process .wp-block-column {
		border-right: 0;
		border-bottom: 1px solid var(--rumall-line);
	}

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

	.rumall-home-textile-theme .woocommerce ul.products li.product {
		padding-bottom: 16px;
	}

	.rumall-home-textile-theme .woocommerce ul.products li.product :where(.woocommerce-loop-product__title, .price, .button) {
		margin-right: 12px;
		margin-left: 12px;
	}

	.rumall-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.rumall-home-textile-theme *,
	.rumall-home-textile-theme *::before,
	.rumall-home-textile-theme *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}
