/*
 * 区块标记 -> 设计稿类名的适配层。
 * 设计稿原样在 site.css，这里只补区块编辑器额外包一层 DOM 带来的差异。
 */

/* ---------- 基础 ---------- */
.wp-block-group { min-width: 0; }
.wp-site-blocks > * { margin-block: 0; }
main.site-main { display: block; }
.wp-block-image { margin: 0; height: 100%; }
.wp-block-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.picture > .wp-block-image { height: 100%; }
figure.wp-block-post-featured-image { margin: 0; }
.wp-block-heading { margin-top: 0; }
p:last-child { margin-bottom: 0; }

/* ---------- 按钮 ---------- */
.wp-block-buttons { display: flex; gap: 14px; flex-wrap: wrap; margin: 0; }
.wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: 22px;
	min-height: 49px; padding: 0 26px; font-size: 10px; letter-spacing: .15em;
	text-transform: uppercase; border: 1px solid var(--dark); background: var(--dark);
	color: var(--white); border-radius: 0; transition: background .2s, color .2s, transform .2s;
	white-space: nowrap;
}
.wp-block-button__link:hover { background: #5c483d; transform: translateY(-1px); }
.wp-block-button.is-style-light .wp-block-button__link {
	background: transparent; color: var(--dark); border-color: var(--dark);
}
.wp-block-button.is-style-light .wp-block-button__link:hover { background: var(--dark); color: #fff; }
.wp-block-button.is-style-text-link .wp-block-button__link {
	display: inline-flex; align-items: center; gap: 13px; min-height: 0; padding: 0 0 8px;
	font-size: 11px; letter-spacing: .15em; text-transform: uppercase; background: transparent;
	color: inherit; border: 0; border-bottom: 1px solid currentColor; transition: gap .2s;
}
.wp-block-button.is-style-text-link .wp-block-button__link:hover { gap: 19px; transform: none; background: transparent; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 29px; }
.hero-actions .wp-block-buttons { margin: 0; }

/* ---------- 导航 ---------- */
.main-nav ul { display: flex; gap: 29px; align-items: center; list-style: none; margin: 0; padding: 0; }
.main-nav .wp-block-navigation-item__content { font-size: 11px; letter-spacing: .02em; padding: 8px 0; border-bottom: 1px solid transparent; }
.main-nav .wp-block-navigation-item__content:hover,
.main-nav .current-menu-item .wp-block-navigation-item__content { border-bottom-color: var(--ink); }
.site-header .wp-block-site-title { margin: 0; font-family: var(--serif); font-weight: 400; }
.site-header .wp-block-site-title a { font-size: 26px; letter-spacing: .25em; }
.header-inner > * { min-width: 0; }
.footer-links ul { display: flex; flex-direction: column; gap: 10px; list-style: none; margin: 0; padding: 0; }
.footer-links .wp-block-navigation-item__content { font-size: 12px; color: #eee2d8; }
.footer-links .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 4px; }
.site-footer .wp-block-site-title a { font-size: 26px; letter-spacing: .25em; color: var(--white); }
.footer-col + .footer-col { min-width: 0; }
.footer-note { font-size: 12px; color: #d8c9bd; }
.announcement p { margin: 0; }

/* ---------- 首页 ---------- */
.promise-strip p { margin: 0; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.section-intro-copy { flex: 1; }
.day-card .day-time { font-size: 10px; letter-spacing: .13em; text-transform: uppercase; color: #9a746c; margin: 0; }
.quote-strip .wp-block-quote { border: 0; padding: 0; margin: 20px auto; max-width: 900px; }
.quote-strip .wp-block-quote p { font: italic clamp(29px, 3.9vw, 57px)/1.24 var(--serif); letter-spacing: -.02em; margin: 0; }
.story-statement .wp-block-quote { border: 0; padding: 0; margin: 15px auto 24px; max-width: 1000px; }
.story-statement .wp-block-quote p { font: italic clamp(35px, 4.2vw, 65px)/1.23 var(--serif); margin: 0; }

/* 首页「From the journal」三篇 */
.cards-3 > li, .cards-4 > li { list-style: none; }
.cards-3, .cards-4 { list-style: none; padding: 0; margin: 0; }
.cards-3 > li .wp-block-post-title, .article-grid > li .wp-block-post-title { font: 27px/1.2 var(--serif); margin: 0 0 12px; }
.cards-3 > li .picture img { aspect-ratio: 4/4.7; }

/* ---------- Wellness Tech ---------- */
.feature-item-copy { min-width: 0; }
.feature-item .num { font-size: 11px; color: #a07e74; margin: 0; }

/* ---------- Rituals ---------- */
.ritual-nav-item { position: relative; overflow: hidden; aspect-ratio: 1.6; }
.ritual-nav-item .picture, .ritual-nav-item .wp-block-image, .ritual-nav-item img { height: 100%; }
.ritual-nav-item img { filter: brightness(.75); transition: transform .4s; }
.ritual-nav-item:hover img { transform: scale(1.05); }
.ritual-nav-item .wp-block-buttons { position: absolute; left: 18px; bottom: 15px; }
.ritual-nav-item .wp-block-button__link {
	font: 25px var(--serif); color: #fff; text-transform: none; letter-spacing: 0;
	border: 0; padding: 0; text-shadow: 0 1px 8px #0008;
}
.ritual-block-alt { background: #f4eee8; }
.ritual-items { display: flex; flex-direction: column; }
.ritual-items .wp-block-buttons { border-bottom: 1px solid var(--line); }
.ritual-items .wp-block-button__link {
	display: flex; justify-content: space-between; width: 100%; padding: 13px 0;
	font-size: 12px; letter-spacing: 0; text-transform: none; border: 0;
}
.ritual-copy > .wp-block-buttons:last-child { margin-top: 26px; }

/* ---------- Journal ---------- */
.article-filters { display: flex; gap: 11px; flex-wrap: wrap; margin: 25px 0 32px; }
.article-filters .wp-block-buttons { margin: 0; }
.wp-block-button.is-style-filter .wp-block-button__link {
	background: transparent; border: 1px solid var(--line); color: var(--muted);
	min-height: 0; padding: 9px 18px; font-size: 11px; letter-spacing: .05em; text-transform: none;
}
.wp-block-button.is-style-filter .wp-block-button__link:hover,
.wp-block-button.is-style-filter .wp-block-button__link[aria-current="page"] {
	background: var(--dark); color: #fff; border-color: var(--dark); transform: none;
}
.archive-title { font-size: clamp(32px, 3.6vw, 57px); margin: 12px 0 0; }
/* 页脚订阅表单 */
.site-footer .newsletter-row { border-bottom: 1px solid #b49c90; display: flex; align-items: center; gap: 10px; }
.site-footer .newsletter-row input { width: 100%; background: transparent; border: 0; outline: 0; color: #fff; padding: 11px 0; min-width: 0; font-size: 12px; }
.site-footer .newsletter-row input::placeholder { color: #c3b0a4; }
.site-footer .newsletter-row button { background: none; border: 0; color: #fff; font-size: 21px; padding: 0 5px; min-height: 0; }
.site-footer .rymona-waitlist-note, .site-footer .rymona-waitlist-message { font-size: 10px; color: #e7d6c9; margin-top: 10px; }

.article-grid { list-style: none; padding: 0; margin: 0; }
.article-grid > li .picture img { aspect-ratio: 1.53; }
.article-grid > li .wp-block-post-excerpt { color: var(--muted); font-size: 12px; line-height: 1.8; }
.article-grid .wp-block-post-excerpt__more-text { display: none; }
.article-grid-wrap { margin-top: 32px; }
.single-article .article-header { padding-bottom: 0; }
.single-article .article-header h1 { max-width: 900px; }
.single-article .article-media { margin-top: 32px; }
.single-article .article-media img { aspect-ratio: 2.2; width: 100%; object-fit: cover; }
.single-article .article-body { max-width: 760px; margin: 0 auto; }
.single-article .article-body p { font-size: 15px; line-height: 1.9; color: #5d534b; }
.wp-block-query-pagination { margin-top: 48px; display: flex; gap: 16px; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }

/* ---------- 问卷占位页 ---------- */
.quiz-placeholder { text-align: center; padding: 120px 0; }
.quiz-placeholder .lead { margin: 0 auto 32px; }
.quiz-placeholder .wp-block-buttons { justify-content: center; }

/* ---------- WooCommerce ---------- */
.woocommerce-page main.site-main { padding: 48px 0 90px; }
.woocommerce-page .woocommerce-breadcrumb { font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; list-style: none; margin: 0; padding: 0; }
.woocommerce ul.products li.product { min-width: 0; text-align: left; width: auto; max-width: none; float: none; margin: 0; }
/* ↑ WooCommerce 自带 ul.products li.product{width:22.05%}（老式浮动布局用的），在 grid 里会把卡片压成 61px。
   2026-09-24 修：显式放开宽度，商店页/分类页的 4 列网格才正常。 */
.woocommerce ul.products::before,
.woocommerce ul.products::after { content: none; display: none; }
/* ↑ 同上：clearfix 伪元素在 grid 里会占掉一个格子，导致首行少一格。2026-09-24 修。 */
.woocommerce ul.products li.product img { aspect-ratio: 4/4.6; object-fit: cover; margin-bottom: 15px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font: 20px/1.25 var(--serif); margin: 2px 0 3px; }
.woocommerce .product .summary .price, .woocommerce ul.products li.product .price { font-size: 15px; color: var(--ink); }
.woocommerce .quantity input { padding: 10px; border: 1px solid var(--line); }
.woocommerce div.product .product_title { margin-bottom: 12px; }
.woocommerce div.product form.cart { margin-top: 20px; }
.woocommerce .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 49px; padding: 0 26px;
	font-size: 10px; letter-spacing: .15em; text-transform: uppercase; border-radius: 0;
	background: var(--dark); color: var(--white); border: 1px solid var(--dark);
}
.woocommerce .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { background: #5c483d; color: #fff; }

@media (max-width: 1150px) { .woocommerce ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 850px) {
	.main-nav ul { gap: 18px; }
	.woocommerce ul.products { grid-template-columns: repeat(2, 1fr); }
	.hero-actions { width: 100%; }
}
