/* =========================================================================
   Riyanzhi Daylight — 模块与正文样式
   ---------------------------------------------------------------------------
   本文件接住三类内容：
     1. 数据库正文里的双语内容块（rzbi-*）—— 数据层固定，选择器不可改
     2. mu-plugins 输出的商品模块（rz-series / rz-pd-* / rz-oos-* 等）
     3. WooCommerce 功能页（商品详情 / 购物车 / 结账 / 账户）

   这些类名由 PHP 与数据库内容钉死，不能重命名，所以样式在这里按新设计
   整套重写，而不是复用 1.x 的写法。

   目录
     A. 正文容器 .ry-prose
     B. 双语内容块 rzbi-*
     C. 商品详情补充模块
     D. WooCommerce 商品页
     E. WooCommerce 购物车与结账
     F. WooCommerce 账户与表单
     G. WooCommerce 提示条
   ========================================================================= */

/* -------------------------------------------------------------------------
   A. 正文容器
   ---------------------------------------------------------------------- */

.ry-theme .ry-prose > *:first-child {
	margin-top: 0;
}

.ry-theme .ry-prose h2 {
	font-size: 22px;
	line-height: 1.35;
	letter-spacing: -0.025em;
	margin: 40px 0 14px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--ry-line);
}

.ry-theme .ry-prose h3 {
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: -0.015em;
	margin: 30px 0 10px;
}

.ry-theme .ry-prose h4 {
	font-size: 15px;
	margin: 22px 0 8px;
}

.ry-theme .ry-prose p {
	margin: 0 0 14px;
	font-size: 14.8px;
	line-height: 1.85;
	color: var(--ry-ink-2);
}

.ry-theme .ry-prose strong,
.ry-theme .ry-prose b {
	font-weight: 700;
	color: var(--ry-ink);
}

.ry-theme .ry-prose a {
	color: var(--ry-indigo-2);
	text-decoration: underline;
	text-decoration-color: rgba(44, 90, 160, 0.32);
	text-underline-offset: 2px;
	transition: color 0.14s ease, text-decoration-color 0.14s ease;
}

.ry-theme .ry-prose a:hover {
	color: var(--ry-indigo);
	text-decoration-color: var(--ry-indigo);
}

.ry-theme .ry-prose ul,
.ry-theme .ry-prose ol {
	margin: 0 0 16px;
	padding-left: 1.35em;
}

.ry-theme .ry-prose ul {
	list-style: disc;
}

.ry-theme .ry-prose ol {
	list-style: decimal;
}

.ry-theme .ry-prose li {
	margin-bottom: 7px;
	font-size: 14.6px;
	line-height: 1.8;
	color: var(--ry-ink-2);
}

.ry-theme .ry-prose li::marker {
	color: var(--ry-faint);
}

.ry-theme .ry-prose img {
	border-radius: var(--ry-r);
	margin: 18px 0;
}

.ry-theme .ry-prose blockquote {
	margin: 22px 0;
	padding: 14px 18px;
	background: var(--ry-wash);
	border-left: 3px solid var(--ry-indigo-2);
	border-radius: 0 var(--ry-r-sm) var(--ry-r-sm) 0;
	color: var(--ry-ink-2);
}

.ry-theme .ry-prose blockquote p:last-child {
	margin-bottom: 0;
}

.ry-theme .ry-prose hr {
	margin: 34px 0;
	border: 0;
	border-top: 1px solid var(--ry-line);
}

.ry-theme .ry-prose table {
	width: 100%;
	border-collapse: collapse;
	margin: 18px 0 22px;
	font-size: 13.8px;
}

.ry-theme .ry-prose th,
.ry-theme .ry-prose td {
	padding: 10px 13px;
	border: 1px solid var(--ry-line);
	text-align: left;
	vertical-align: top;
	line-height: 1.7;
}

.ry-theme .ry-prose th {
	background: var(--ry-wash);
	font-weight: 600;
	color: var(--ry-ink);
}

.ry-theme .ry-prose > p:last-child {
	margin-bottom: 0;
}

/* -------------------------------------------------------------------------
   B. 双语内容块 rzbi-*
   ---------------------------------------------------------------------------
   数据库里 11 个信息页的正文结构：
     <div class="rzbi-titlebar"><span class="zh">中</span><span class="sl">/</span><span class="ja">日</span></div>
     <section class="rzbi">
       <h2 class="rzbi-h"><span class="rzbi-zh">中</span><span class="rzbi-sl">/</span><span class="rzbi-ja">日</span></h2>
       <div class="rzbi-cell rzbi-cell-zh"><span class="rzbi-tag">中文</span><p>…</p></div>
       <div class="rzbi-cell rzbi-cell-ja"><span class="rzbi-tag">日本語</span><p>…</p></div>
     </section>
   ---------------------------------------------------------------------- */

/* 页内主标题条 */
.ry-theme .rzbi-titlebar {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 10px;
	margin: 0 0 26px;
	padding: 16px 20px;
	background: var(--ry-indigo);
	color: #fff;
	border-radius: var(--ry-r);
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.4;
}

.ry-theme .rzbi-titlebar .ja {
	font-size: 13px;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.66);
}

.ry-theme .rzbi-titlebar .sl {
	color: rgba(255, 255, 255, 0.36);
	font-weight: 400;
}

/* 区块 */
.ry-theme .rzbi {
	margin: 0 0 22px;
	padding: 22px 24px;
	background: #fff;
	border: 1px solid var(--ry-line);
	border-radius: var(--ry-r);
}

.ry-theme .rzbi:last-child {
	margin-bottom: 0;
}

.ry-theme .rzbi-minor {
	background: var(--ry-wash);
	border-color: transparent;
	padding: 18px 22px;
}

/* 区块标题 */
.ry-theme .rzbi-h {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	margin: 0 0 14px;
	padding: 0 0 10px;
	border-bottom: 1px solid var(--ry-line);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: -0.025em;
	color: var(--ry-ink);
}

.ry-theme .rzbi-h3 {
	font-size: 15.5px;
	font-weight: 700;
	padding-bottom: 8px;
	margin-bottom: 12px;
}

.ry-theme .rzbi-h .rzbi-ja,
.ry-theme .rzbi-h .rzbi-sl {
	font-size: 12.5px;
	font-weight: 400;
	color: var(--ry-faint);
	letter-spacing: 0;
}

.ry-theme .rzbi-sl {
	color: var(--ry-line-2);
}

/* 双语单元格 */
.ry-theme .rzbi-cell {
	position: relative;
	padding: 12px 14px 12px 32px;
	border-radius: var(--ry-r-sm);
	margin-bottom: 8px;
}

.ry-theme .rzbi-cell:last-child {
	margin-bottom: 0;
}

.ry-theme .rzbi-cell-zh {
	background: #fff;
	border: 1px solid var(--ry-line);
}

.ry-theme .rzbi-cell-ja {
	background: var(--ry-wash);
	border: 1px solid transparent;
	color: var(--ry-mute);
}

.ry-theme .rzbi-cell p {
	margin: 0 0 8px;
	font-size: 14.2px;
	line-height: 1.85;
	color: var(--ry-ink-2);
}

.ry-theme .rzbi-cell p:last-child {
	margin-bottom: 0;
}

.ry-theme .rzbi-cell-ja p {
	font-size: 13.2px;
	line-height: 1.8;
	color: var(--ry-mute);
}

.ry-theme .rzbi-cell strong {
	font-weight: 700;
	color: var(--ry-ink);
}

.ry-theme .rzbi-cell-ja strong {
	color: var(--ry-ink-2);
}

.ry-theme .rzbi-cell a {
	color: var(--ry-indigo-2);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ry-theme .rzbi-cell ul,
.ry-theme .rzbi-cell ol {
	margin: 0 0 8px;
	padding-left: 1.3em;
	list-style: disc;
}

.ry-theme .rzbi-cell ol {
	list-style: decimal;
}

.ry-theme .rzbi-cell li {
	font-size: 14px;
	line-height: 1.8;
	margin-bottom: 5px;
	color: var(--ry-ink-2);
}

.ry-theme .rzbi-cell-ja li {
	font-size: 13px;
	color: var(--ry-mute);
}

/* 语言标签 */
.ry-theme .rzbi-tag {
	position: absolute;
	top: 13px;
	left: 10px;
	padding: 1px 6px;
	border-radius: 5px;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.6;
	white-space: nowrap;
}

.ry-theme .rzbi-cell-zh .rzbi-tag {
	background: var(--ry-indigo-3);
	color: var(--ry-indigo);
}

.ry-theme .rzbi-cell-ja .rzbi-tag {
	background: var(--ry-line);
	color: var(--ry-mute);
}

/* 行内日文小注 */
.ry-theme .rzbi-sub {
	display: block;
	margin-top: 3px;
	font-size: 11.8px;
	line-height: 1.6;
	color: var(--ry-faint);
	font-weight: 400;
}

.ry-theme .rzbi-cell-ja .rzbi-sub {
	color: var(--ry-faint);
}

/* 表格：正文里表格带 inline style（border/padding/background），必须 !important 才能接管 */
.ry-theme .rzbi-table {
	width: 100% !important;
	margin: 12px 0 4px !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border: 1px solid var(--ry-line) !important;
	border-radius: var(--ry-r-sm);
	overflow: hidden;
	font-size: 13.6px;
}

.ry-theme .rzbi-table th,
.ry-theme .rzbi-table td {
	padding: 11px 14px !important;
	border: 0 !important;
	border-bottom: 1px solid var(--ry-line) !important;
	line-height: 1.7 !important;
	vertical-align: top;
	text-align: left;
}

.ry-theme .rzbi-table tr:last-child th,
.ry-theme .rzbi-table tr:last-child td {
	border-bottom: 0 !important;
}

.ry-theme .rzbi-table th {
	background: var(--ry-wash) !important;
	font-weight: 600 !important;
	color: var(--ry-ink) !important;
	width: 34%;
	border-right: 1px solid var(--ry-line) !important;
}

.ry-theme .rzbi-table td {
	background: #fff !important;
	color: var(--ry-ink-2);
}

/* 警告块 */
.ry-theme .rzbi-warn {
	display: block;
	margin: 16px 0;
	padding: 14px 16px;
	background: var(--ry-coral-2);
	border-left: 3px solid var(--ry-coral);
	border-radius: 0 var(--ry-r-sm) var(--ry-r-sm) 0;
	font-size: 13.6px;
	line-height: 1.8;
	color: #8d2a22;
}

.ry-theme .rzbi-warn strong {
	color: #7a221b;
}

.ry-theme .rzbi-warn .rzbi-sub {
	color: #b3544b;
}

/* 老内容兜底：正文里直接出现的 zh / ja / sl 片段 */
.ry-theme .ry-prose > .zh,
.ry-theme .ry-prose > .ja {
	display: block;
}

/* -------------------------------------------------------------------------
   C. 商品详情补充模块
   ---------------------------------------------------------------------- */

/* 标题里的日文副名（由 the_title 过滤器拆分） */
.ry-theme .rz-title-ja {
	display: block;
	margin-top: 6px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.01em;
	color: var(--ry-faint);
}

/* 商品描述里的规格表（130 号脚本写入正文） */
.ry-theme .rz-h {
	margin: 26px 0 10px;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--ry-ink);
}

.ry-theme .rz-spec {
	margin: 0 0 16px;
	padding: 0;
	border-top: 1px solid var(--ry-line);
	list-style: none;
}

.ry-theme .rz-spec li {
	display: flex;
	gap: 12px;
	padding: 9px 2px;
	border-bottom: 1px solid var(--ry-line);
	font-size: 13.5px;
	line-height: 1.75;
	color: var(--ry-ink-2);
}

.ry-theme .rz-spec li b {
	flex: 0 0 6.4em;
	min-width: 6.4em;
	color: var(--ry-faint);
	font-weight: 600;
}

.ry-theme .rz-note {
	margin: 16px 0 0;
	padding: 12px 15px;
	background: var(--ry-wash);
	border-left: 3px solid var(--ry-line-2);
	border-radius: 0 var(--ry-r-sm) var(--ry-r-sm) 0;
	font-size: 12.8px;
	line-height: 1.8;
	color: var(--ry-mute);
}

/* -------------------------------------------------------------------------
   D. WooCommerce 商品页
   ---------------------------------------------------------------------- */

.ry-theme.woocommerce div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
	gap: 48px;
	align-items: start;
}

.ry-theme.woocommerce div.product .woocommerce-product-gallery {
	position: sticky;
	top: calc(var(--ry-head-h) + 20px);
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

/* 放大镜按钮：核心默认 right:2em 会跑到图片外面，这里贴到图片右上角内侧 */
.ry-theme.woocommerce div.product .woocommerce-product-gallery__trigger {
	top: 12px;
	right: 12px;
	width: 38px;
	height: 38px;
	line-height: 38px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(6px);
	color: var(--ry-ink);
	font-size: 16px;
	text-align: center;
	z-index: 9;
	box-shadow: var(--ry-sh-xs);
	transition: background-color 0.16s ease, color 0.16s ease;
}

.ry-theme.woocommerce div.product .woocommerce-product-gallery__trigger:hover {
	background: #fff;
	color: var(--ry-indigo);
}

.ry-theme.woocommerce div.product div.images {
	margin: 0;
	border-radius: var(--ry-r-lg);
	overflow: hidden;
	background: var(--ry-wash);
	border: 1px solid var(--ry-line);
	width: 100%;
}

/* 核心有时不给图片定宽，导致图片按原始尺寸缩在角落、放大镜跑到图外 */
.ry-theme.woocommerce div.product div.images .flex-viewport,
.ry-theme.woocommerce div.product div.images .woocommerce-product-gallery__wrapper,
.ry-theme.woocommerce div.product div.images .woocommerce-product-gallery__image,
.ry-theme.woocommerce div.product div.images img {
	width: 100% !important;
}

/* 选中变体后出现的单件价格：和顶部区间价拉开层级，避免两个大字打架 */
.ry-theme.woocommerce div.product .woocommerce-variation-price {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 700;
	color: var(--ry-ink);
	font-variant-numeric: tabular-nums;
}

.ry-theme.woocommerce div.product .woocommerce-variation-price .price {
	font-size: 16px;
	font-weight: 700;
	color: var(--ry-ink);
}

.ry-theme.woocommerce div.product div.images img {
	border-radius: 0;
}

.ry-theme.woocommerce div.product div.images .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.ry-theme.woocommerce div.product div.images .flex-control-thumbs li {
	width: 72px !important;
	float: none !important;
	margin: 0 !important;
}

.ry-theme.woocommerce div.product div.images .flex-control-thumbs img {
	border-radius: var(--ry-r-sm);
	border: 1px solid var(--ry-line);
	opacity: 0.66;
	transition: opacity 0.16s ease, border-color 0.16s ease;
	cursor: pointer;
}

.ry-theme.woocommerce div.product div.images .flex-control-thumbs img:hover,
.ry-theme.woocommerce div.product div.images .flex-control-thumbs img.flex-active {
	opacity: 1;
	border-color: var(--ry-indigo);
}

.ry-theme.woocommerce div.product .summary,
.ry-theme.woocommerce div.product .entry-summary {
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
	padding-top: 4px;
}

.ry-theme.woocommerce div.product .product_title {
	margin: 0 0 14px;
	font-size: clamp(24px, 2.6vw, 33px);
	font-weight: 800;
	line-height: 1.22;
	letter-spacing: -0.032em;
}

.ry-theme.woocommerce div.product p.price,
.ry-theme.woocommerce div.product span.price {
	display: block;
	margin: 0 0 18px;
	font-size: 28px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.03em;
	color: var(--ry-ink);
	font-variant-numeric: tabular-nums;
}

.ry-theme.woocommerce div.product p.price ins,
.ry-theme.woocommerce div.product span.price ins {
	background: none;
	text-decoration: none;
	color: var(--ry-coral);
}

.ry-theme.woocommerce div.product p.price del,
.ry-theme.woocommerce div.product span.price del {
	font-size: 15px;
	font-weight: 400;
	color: var(--ry-faint);
	margin-right: 8px;
}

.ry-theme.woocommerce div.product .woocommerce-product-details__short-description {
	margin: 0 0 20px;
	font-size: 14.4px;
	line-height: 1.8;
	color: var(--ry-mute);
}

.ry-theme.woocommerce div.product .woocommerce-product-details__short-description p {
	margin: 0 0 10px;
}

.ry-theme.woocommerce div.product .stock {
	font-size: 13px;
	font-weight: 600;
	color: var(--ry-ok);
	margin: 0 0 12px;
}

.ry-theme.woocommerce div.product .stock.out-of-stock {
	color: var(--ry-mute);
}

/* 加入购物车表单 */
.ry-theme.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin: 22px 0 0;
	padding: 0;
	border: 0;
}

.ry-theme.woocommerce div.product form.cart .quantity {
	display: inline-flex;
	align-items: center;
	height: 50px;
	border: 1px solid var(--ry-line-2);
	border-radius: var(--ry-pill);
	background: #fff;
	overflow: hidden;
}

.ry-theme.woocommerce div.product form.cart .quantity label {
	display: none;
}

.ry-theme.woocommerce div.product form.cart .quantity .qty,
.ry-theme.woocommerce div.product form.cart .quantity input {
	width: 62px;
	height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	color: var(--ry-ink);
	-moz-appearance: textfield;
	appearance: textfield;
}

.ry-theme.woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button,
.ry-theme.woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.ry-theme.woocommerce div.product form.cart .quantity .qty:focus {
	outline: none;
}

/* 数量加减按钮（由 theme.js 注入，WooCommerce 原生没有） */
.ry-theme .ry-qty {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 48px;
	flex: 0 0 auto;
	border: 0;
	background: transparent;
	color: var(--ry-mute);
	font-size: 17px;
	line-height: 1;
	cursor: pointer;
	transition: color 0.14s ease, background-color 0.14s ease;
	-webkit-user-select: none;
	user-select: none;
}

.ry-theme .ry-qty:hover {
	background: var(--ry-wash);
	color: var(--ry-indigo);
}

.ry-theme .ry-qty:active {
	background: var(--ry-indigo-3);
}

.ry-theme.woocommerce div.product form.cart .single_add_to_cart_button,
.ry-theme.woocommerce div.product form.cart button[type="submit"] {
	flex: 1 1 auto;
	min-width: 200px;
	height: 50px;
	padding: 0 32px;
	border: 0;
	border-radius: var(--ry-pill);
	background: var(--ry-indigo);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.01em;
	cursor: pointer;
	box-shadow: 0 10px 26px -14px rgba(27, 58, 107, 0.9);
	transition: background-color 0.18s ease, transform 0.18s ease;
}

.ry-theme.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.ry-theme.woocommerce div.product form.cart button[type="submit"]:hover {
	background: #16305a;
}

.ry-theme.woocommerce div.product form.cart .single_add_to_cart_button:active,
.ry-theme.woocommerce div.product form.cart button[type="submit"]:active {
	transform: translateY(1px);
}

/* 变体选择 */
.ry-theme.woocommerce div.product form.cart .variations {
	width: 100%;
	margin: 0 0 14px;
	border-collapse: collapse;
}

.ry-theme.woocommerce div.product form.cart .variations th,
.ry-theme.woocommerce div.product form.cart .variations td {
	padding: 6px 0;
	border: 0;
	text-align: left;
	vertical-align: middle;
}

.ry-theme.woocommerce div.product form.cart .variations label {
	font-size: 13px;
	font-weight: 600;
	color: var(--ry-ink-2);
}

.ry-theme.woocommerce div.product form.cart .variations select {
	min-width: 200px;
	padding: 9px 12px;
	border: 1px solid var(--ry-line-2);
	border-radius: var(--ry-r-sm);
	background: #fff;
	font-size: 14px;
	color: var(--ry-ink);
}

.ry-theme.woocommerce div.product .reset_variations {
	font-size: 12px;
	color: var(--ry-mute);
}

/* 商品标签（描述 / 评价） */
.ry-theme.woocommerce div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	margin-top: 48px;
	padding-top: 8px;
	border-top: 1px solid var(--ry-line);
}

.ry-theme.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 22px;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--ry-line);
}

.ry-theme.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.ry-theme.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.ry-theme.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
}

.ry-theme.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}

.ry-theme.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: 11px 16px;
	border-bottom: 2px solid transparent;
	font-size: 14px;
	font-weight: 600;
	color: var(--ry-mute);
	transition: color 0.15s ease, border-color 0.15s ease;
}

.ry-theme.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--ry-indigo);
	border-bottom-color: var(--ry-indigo);
}

.ry-theme.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0;
	padding: 0;
	max-width: 880px;
}

/* 相关商品 / 同系列 */
.ry-theme.woocommerce div.product .related.products,
.ry-theme.woocommerce div.product .upsells.products {
	grid-column: 1 / -1;
	margin-top: 40px;
}

.ry-theme.woocommerce div.product .related.products > h2,
.ry-theme.woocommerce div.product .upsells.products > h2 {
	font-size: 20px;
	letter-spacing: -0.02em;
	margin: 0 0 16px;
}

.ry-theme.woocommerce div.product .related.products ul.products,
.ry-theme.woocommerce div.product .upsells.products ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* -------------------------------------------------------------------------
   E. WooCommerce 购物车与结账
   ---------------------------------------------------------------------- */

.ry-theme.woocommerce table.shop_table {
	width: 100%;
	margin: 0 0 24px;
	border: 1px solid var(--ry-line);
	border-radius: var(--ry-r);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
	font-size: 14px;
}

.ry-theme.woocommerce table.shop_table th {
	padding: 13px 16px;
	background: var(--ry-wash);
	border-bottom: 1px solid var(--ry-line);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-align: left;
	color: var(--ry-mute);
}

.ry-theme.woocommerce table.shop_table td {
	padding: 16px;
	border-bottom: 1px solid var(--ry-line);
	vertical-align: middle;
	color: var(--ry-ink-2);
}

.ry-theme.woocommerce table.shop_table tr:last-child td {
	border-bottom: 0;
}

.ry-theme.woocommerce table.shop_table td.product-name a {
	font-weight: 600;
	color: var(--ry-ink);
}

.ry-theme.woocommerce table.shop_table td.product-name a:hover {
	color: var(--ry-indigo);
}

.ry-theme.woocommerce table.shop_table img {
	width: 64px;
	border-radius: var(--ry-r-sm);
}

.ry-theme.woocommerce table.shop_table .quantity .qty {
	width: 64px;
	height: 40px;
	padding: 0 8px;
	border: 1px solid var(--ry-line-2);
	border-radius: var(--ry-r-sm);
	text-align: center;
	font-size: 14px;
}

.ry-theme.woocommerce .cart_totals {
	margin-bottom: 32px;
}

.ry-theme.woocommerce .cart_totals h2,
.ry-theme.woocommerce #order_review_heading,
.ry-theme .woocommerce-billing-fields h3,
.ry-theme .woocommerce-additional-fields h3,
.ry-theme.woocommerce h2 {
	font-size: 19px;
	letter-spacing: -0.02em;
	margin: 0 0 16px;
}

.ry-theme.woocommerce .cart_totals table.shop_table td,
.ry-theme.woocommerce .cart_totals table.shop_table th {
	padding: 12px 16px;
}

.ry-theme.woocommerce .cart_totals .order-total td,
.ry-theme.woocommerce .cart_totals .order-total th {
	font-size: 16px;
	font-weight: 700;
	color: var(--ry-ink);
}

.ry-theme.woocommerce .wc-proceed-to-checkout {
	padding: 0;
}

.ry-theme.woocommerce .wc-proceed-to-checkout a.checkout-button,
.ry-theme.woocommerce #place_order,
.ry-theme.woocommerce button.button,
.ry-theme.woocommerce a.button,
.ry-theme.woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 26px;
	border: 0;
	border-radius: var(--ry-pill);
	background: var(--ry-indigo);
	color: #fff;
	font-size: 14.5px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.18s ease;
}

.ry-theme.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.ry-theme.woocommerce #place_order:hover,
.ry-theme.woocommerce button.button:hover,
.ry-theme.woocommerce a.button:hover,
.ry-theme.woocommerce input.button:hover {
	background: #16305a;
	color: #fff;
}

.ry-theme.woocommerce button.button.alt,
.ry-theme.woocommerce a.button.alt,
.ry-theme.woocommerce input.button.alt {
	background: var(--ry-indigo);
	color: #fff;
}

.ry-theme.woocommerce .wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	padding: 16px;
	font-size: 15.5px;
}

.ry-theme.woocommerce table.shop_table td.actions .coupon {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 6px 0;
}

.ry-theme.woocommerce table.shop_table td.actions .coupon input[type="text"] {
	width: 180px;
	padding: 10px 14px;
	border: 1px solid var(--ry-line-2);
	border-radius: var(--ry-r-sm);
	font-size: 13.5px;
}

/* 结账：两栏 */
.ry-theme.woocommerce-checkout .woocommerce {
	display: block;
}

.ry-theme.woocommerce form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	gap: 40px;
	align-items: start;
}

.ry-theme.woocommerce form.checkout #customer_details {
	grid-column: 1;
}

.ry-theme.woocommerce form.checkout #order_review_heading,
.ry-theme.woocommerce form.checkout #order_review {
	grid-column: 2;
}

.ry-theme.woocommerce form.checkout #order_review {
	position: sticky;
	top: calc(var(--ry-head-h) + 20px);
	padding: 22px;
	background: var(--ry-wash);
	border-radius: var(--ry-r);
}

.ry-theme.woocommerce form.checkout #order_review table.shop_table {
	margin-bottom: 16px;
	background: #fff;
}

.ry-theme.woocommerce form .form-row {
	margin: 0 0 14px;
	padding: 0;
}

.ry-theme.woocommerce form .form-row label {
	display: block;
	margin-bottom: 5px;
	font-size: 12.5px;
	font-weight: 600;
	color: var(--ry-ink-2);
}

.ry-theme.woocommerce form .form-row .required {
	color: var(--ry-coral);
	text-decoration: none;
}

.ry-theme.woocommerce form .form-row input.input-text,
.ry-theme.woocommerce form .form-row textarea,
.ry-theme.woocommerce form .form-row select {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--ry-line-2);
	border-radius: var(--ry-r-sm);
	background: #fff;
	font-size: 14px;
	color: var(--ry-ink);
	line-height: 1.5;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ry-theme.woocommerce form .form-row input.input-text:focus,
.ry-theme.woocommerce form .form-row textarea:focus,
.ry-theme.woocommerce form .form-row select:focus {
	outline: none;
	border-color: var(--ry-indigo-2);
	box-shadow: 0 0 0 3px rgba(44, 90, 160, 0.14);
}

.ry-theme.woocommerce form .form-row-first,
.ry-theme.woocommerce form .form-row-last {
	width: calc(50% - 7px);
	float: none;
	display: inline-block;
	vertical-align: top;
}

.ry-theme.woocommerce form .form-row-first {
	margin-right: 10px;
}

/* 支付方式 */
.ry-theme.woocommerce #payment {
	background: transparent;
	border-radius: 0;
}

.ry-theme.woocommerce #payment ul.payment_methods {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	list-style: none;
}

.ry-theme.woocommerce #payment ul.payment_methods li {
	margin: 0 0 8px;
	padding: 13px 15px;
	background: #fff;
	border: 1px solid var(--ry-line);
	border-radius: var(--ry-r-sm);
	font-size: 14px;
}

.ry-theme.woocommerce #payment ul.payment_methods li label {
	font-weight: 600;
	color: var(--ry-ink);
	cursor: pointer;
}

.ry-theme.woocommerce #payment div.payment_box {
	margin: 10px 0 0;
	padding: 12px 14px;
	background: var(--ry-wash);
	border-radius: var(--ry-r-sm);
	font-size: 13px;
	line-height: 1.7;
	color: var(--ry-mute);
}

.ry-theme.woocommerce #payment div.payment_box::before {
	display: none;
}

.ry-theme.woocommerce #payment .place-order {
	padding: 0;
	margin: 0;
}

/* 空购物车 */
.ry-theme.woocommerce-cart .cart-empty,
.ry-theme.woocommerce .cart-empty {
	padding: 44px 24px;
	background: var(--ry-wash);
	border-radius: var(--ry-r);
	text-align: center;
	font-size: 15px;
	color: var(--ry-mute);
}

.ry-theme.woocommerce .return-to-shop {
	margin: 18px 0 0;
	text-align: center;
}

/* -------------------------------------------------------------------------
   F. WooCommerce 账户与表单
   ---------------------------------------------------------------------- */

/* 只有「已登录」才有左侧账户导航，两栏网格必须挂在这个前提上。
   未登录时 .woocommerce 里只有 #customer_login 一个孩子，
   无条件套 220px 网格会把它压成一条窄缝。 */
.ry-theme.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 40px;
	align-items: start;
}

.ry-theme.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
	display: block;
}

/* 登录 / 注册双栏：不依赖 WooCommerce 的 float 百分比 */
.ry-theme.woocommerce-account #customer_login.col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
	align-items: start;
}

.ry-theme.woocommerce-account #customer_login.col2-set .col-1,
.ry-theme.woocommerce-account #customer_login.col2-set .col-2 {
	float: none;
	width: 100%;
	margin: 0;
}

.ry-theme.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 100%;
	float: none;
	padding: 12px;
	background: var(--ry-wash);
	border-radius: var(--ry-r);
}

.ry-theme.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ry-theme.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
	border: 0;
}

.ry-theme.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 9px 12px;
	border-radius: var(--ry-r-sm);
	font-size: 13.5px;
	color: var(--ry-ink-2);
	transition: background-color 0.14s ease, color 0.14s ease;
}

.ry-theme.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: #fff;
	color: var(--ry-indigo);
}

.ry-theme.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--ry-indigo);
	color: #fff;
	font-weight: 600;
}

.ry-theme.woocommerce-account .woocommerce-MyAccount-content {
	width: 100%;
	float: none;
	font-size: 14.2px;
	line-height: 1.8;
	color: var(--ry-ink-2);
}

.ry-theme.woocommerce form.login,
.ry-theme.woocommerce form.register,
.ry-theme.woocommerce form.lost_reset_password {
	max-width: 460px;
	margin: 0 auto;
	padding: 28px;
	border: 1px solid var(--ry-line);
	border-radius: var(--ry-r);
	background: #fff;
}

.ry-theme.woocommerce form.login .lost_password {
	margin: 12px 0 0;
	font-size: 13px;
}

.ry-theme.woocommerce form.login button,
.ry-theme.woocommerce form.register button {
	width: 100%;
	margin-top: 6px;
}

.ry-theme.woocommerce .woocommerce-form-login__rememberme {
	margin-top: 4px;
	font-size: 13px;
	color: var(--ry-mute);
}

/* -------------------------------------------------------------------------
   G. WooCommerce 提示条
   ---------------------------------------------------------------------- */

.ry-theme .woocommerce-message,
.ry-theme .woocommerce-info,
.ry-theme .woocommerce-error,
.ry-theme .woocommerce-noreviews,
.ry-theme.woocommerce .woocommerce-message {
	position: relative;
	margin: 0 0 20px;
	padding: 14px 18px 14px 44px;
	border: 1px solid var(--ry-line);
	border-radius: var(--ry-r-sm);
	background: var(--ry-wash);
	color: var(--ry-ink-2);
	font-size: 13.8px;
	line-height: 1.7;
	list-style: none;
}

.ry-theme .woocommerce-message::before,
.ry-theme .woocommerce-info::before,
.ry-theme .woocommerce-error::before {
	position: absolute;
	left: 16px;
	top: 13px;
	font-size: 15px;
}

.ry-theme .woocommerce-message {
	background: #eef7f1;
	border-color: #cfe8d8;
	color: #1c5c3c;
}

.ry-theme .woocommerce-info {
	background: var(--ry-indigo-3);
	border-color: #d5e1f3;
	color: var(--ry-indigo);
}

.ry-theme .woocommerce-error {
	background: var(--ry-coral-2);
	border-color: #f6d5d2;
	color: #8d2a22;
}

.ry-theme .woocommerce-error li {
	margin: 0 0 4px;
}

.ry-theme .woocommerce-message .button,
.ry-theme .woocommerce-info .button {
	background: transparent;
	color: inherit;
	font-weight: 700;
	padding: 0;
	border-radius: 0;
	text-decoration: underline;
	float: right;
}

.ry-theme .woocommerce-message .button:hover,
.ry-theme .woocommerce-info .button:hover {
	background: transparent;
	color: inherit;
}

/* 评论 */
.ry-theme.woocommerce #reviews #comments ol.commentlist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ry-theme.woocommerce #reviews #comments ol.commentlist li {
	margin: 0 0 16px;
	padding: 16px 18px;
	background: var(--ry-wash);
	border-radius: var(--ry-r);
}

.ry-theme.woocommerce #review_form #respond p {
	margin: 0 0 12px;
}

.ry-theme.woocommerce #review_form textarea {
	width: 100%;
	min-height: 110px;
	padding: 12px 14px;
	border: 1px solid var(--ry-line-2);
	border-radius: var(--ry-r-sm);
	font-size: 14px;
}

/* -------------------------------------------------------------------------
   响应式
   ---------------------------------------------------------------------- */

@media (max-width: 1024px) {
	.ry-theme.woocommerce div.product {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.ry-theme.woocommerce div.product .woocommerce-product-gallery {
		position: static;
	}

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

	.ry-theme.woocommerce form.checkout {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.ry-theme.woocommerce form.checkout #customer_details,
	.ry-theme.woocommerce form.checkout #order_review_heading,
	.ry-theme.woocommerce form.checkout #order_review {
		grid-column: 1;
	}

	.ry-theme.woocommerce form.checkout #order_review {
		position: static;
	}

	.ry-theme.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.ry-theme.woocommerce-account #customer_login.col2-set {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}
}

@media (max-width: 860px) {
	.ry-theme .rzbi {
		padding: 18px 16px;
	}

	.ry-theme .rzbi-titlebar {
		padding: 13px 16px;
		font-size: 15px;
	}

	.ry-theme .rzbi-h {
		font-size: 16.5px;
	}

	.ry-theme .rzbi-cell {
		padding: 11px 12px 11px 30px;
	}

	.ry-theme .rzbi-table th {
		width: 40%;
	}

	.ry-theme .rzbi-table th,
	.ry-theme .rzbi-table td {
		padding: 9px 10px !important;
		font-size: 12.8px;
	}

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

	.ry-theme.woocommerce table.shop_table th,
	.ry-theme.woocommerce table.shop_table td {
		padding: 11px 10px;
		font-size: 13px;
	}

	.ry-theme.woocommerce form .form-row-first,
	.ry-theme.woocommerce form .form-row-last {
		width: 100%;
		display: block;
		margin-right: 0;
	}

	.ry-theme.woocommerce table.shop_table_responsive tr td::before {
		color: var(--ry-faint);
		font-weight: 600;
	}

	.ry-theme.woocommerce div.product p.price,
	.ry-theme.woocommerce div.product span.price {
		font-size: 24px;
	}
}

@media (max-width: 560px) {
	.ry-theme .rzbi-table {
		font-size: 12.4px;
	}

	.ry-theme .rzbi-table th {
		width: 44%;
	}

	.ry-theme.woocommerce div.product form.cart .single_add_to_cart_button,
	.ry-theme.woocommerce div.product form.cart button[type="submit"] {
		min-width: 0;
		width: 100%;
	}

	.ry-theme.woocommerce div.product form.cart {
		gap: 10px;
	}
}

/* -------------------------------------------------------------------------
   G2. WooCommerce 图标字体兜底
   -------------------------------------------------------------------------
   WooCommerce 用 `WooCommerce` / `star` 两个字体的私有码位画图标，字体一旦
   没落地就变成一排空心方块。本主题不用这套图标，统一关掉伪元素里的字形，
   改用左侧色条 + 我们自己的一致性排布。
   ---------------------------------------------------------------------- */

/* rz-icon-glyph-off */
.ry-theme.woocommerce .woocommerce-info::before,
.ry-theme.woocommerce .woocommerce-message::before,
.ry-theme.woocommerce .woocommerce-error::before,
.ry-theme.woocommerce .woocommerce-info::after,
.ry-theme.woocommerce .woocommerce-message::after,
.ry-theme.woocommerce .woocommerce-error::after {
	content: none;
	display: none;
}

.ry-theme.woocommerce .woocommerce-info,
.ry-theme.woocommerce .woocommerce-message,
.ry-theme.woocommerce .woocommerce-error {
	display: block;
	padding: 14px 20px;
	border: 0;
	border-left: 3px solid var(--ry-indigo-2);
	border-radius: var(--ry-r-sm);
	background: var(--ry-indigo-3);
	color: var(--ry-ink-2);
	font-size: 14.5px;
	line-height: 1.7;
	overflow: hidden;
}

.ry-theme.woocommerce .woocommerce-message {
	border-left-color: var(--ry-ok);
	background: #eef7f1;
}

.ry-theme.woocommerce .woocommerce-error {
	border-left-color: var(--ry-coral);
	background: var(--ry-coral-2);
}

.ry-theme.woocommerce .woocommerce-info > li,
.ry-theme.woocommerce .woocommerce-error > li {
	list-style: none;
}

/* 空购物车那句提示，WooCommerce 默认居中，这里左对齐更贴近普通正文 */
.ry-theme.woocommerce .wc-empty-cart-message .cart-empty {
	text-align: left;
	margin: 0;
}

/* 加载中 / 已加入 的旋转与对勾也用同一套字体，一并关掉 */
.ry-theme.woocommerce a.button.loading::after,
.ry-theme.woocommerce button.button.loading::after,
.ry-theme.woocommerce a.button.added::after,
.ry-theme.woocommerce button.button.added::after {
	content: none;
}

.ry-theme.woocommerce a.button.loading,
.ry-theme.woocommerce button.button.loading {
	padding-right: 1em;
	opacity: 0.65;
	cursor: progress;
}

/* rz-col2set-clearfix-off
   WooCommerce 给 .col2-set 挂了 clearfix 伪元素（content:" ";display:table）。
   容器一旦变成 grid，这两个伪元素会被当成第 1 / 第 4 个网格项，
   把 .col-1 顶到第 2 列、.col-2 挤到第 2 行，两栏就成了斜对角。 */
.ry-theme.woocommerce-account #customer_login.col2-set::before,
.ry-theme.woocommerce-account #customer_login.col2-set::after,
.ry-theme.woocommerce .col2-set::before,
.ry-theme.woocommerce .col2-set::after {
	content: none;
	display: none;
}

/* 空购物车的返回按钮，WooCommerce 默认居中，跟着提示条左对齐 */
.ry-theme.woocommerce .return-to-shop {
	text-align: left;
	margin-top: 18px;
}

/* rz-checkout-rows
   结账页：只声明 grid-column 不声明 grid-row，标题和订单摘要会被自动排成两行，
   左栏表单越长，右栏摘要掉得越下面。这里把行钉死，让左栏跨两行。 */
.ry-theme.woocommerce form.checkout {
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
	column-gap: 40px;
	row-gap: 0;
	align-items: start;
}

.ry-theme.woocommerce form.checkout #customer_details {
	grid-column: 1;
	grid-row: 1 / span 2;
	float: none !important;
	width: 100% !important;
}

.ry-theme.woocommerce form.checkout #order_review_heading {
	grid-column: 2;
	grid-row: 1;
	margin: 0 0 14px;
}

.ry-theme.woocommerce form.checkout #order_review {
	grid-column: 2;
	grid-row: 2;
}

/* 程序化聚焦（role="alert"、tabindex="-1"）不该画键盘焦点框。
   WooCommerce 加了商品会把焦点丢给提示条，`:focus-visible` 就会多描一圈蓝边，
   看起来像双边框。键盘 Tab 到底的按钮和链接不受影响。 */
:where(body.ry-theme) [role="alert"]:focus-visible,
:where(body.ry-theme) [tabindex="-1"]:focus-visible {
	outline: none;
}

/* 禁用态按钮：WooCommerce 默认压到几乎看不清，这里保留可读性 */
.ry-theme.woocommerce button.button:disabled,
.ry-theme.woocommerce button.button:disabled[disabled],
.ry-theme.woocommerce input.button:disabled,
.ry-theme.woocommerce a.button.disabled {
	background: var(--ry-line);
	color: var(--ry-mute);
	opacity: 1;
	cursor: not-allowed;
}

.ry-theme.woocommerce button.button:disabled:hover,
.ry-theme.woocommerce input.button:disabled:hover {
	background: var(--ry-line);
	color: var(--ry-mute);
}

/* 购物车行内的删除按钮，默认是刺眼的纯红叉 */
/* WooCommerce 给 .remove 的 color 挂了 !important，这里必须一起加重，
   否则购物车行里永远是那个刺眼的红叉。浅灰圆底在蓝白底上几乎看不见，
   换成描边圆，hover 才转朱砂。 */
.ry-theme.woocommerce table.shop_table td.product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 24px;
	border: 1px solid var(--ry-line);
	border-radius: 999px;
	background: #fff;
	color: var(--ry-mute) !important;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.ry-theme.woocommerce table.shop_table td.product-remove a.remove:hover {
	background: var(--ry-coral-2);
	border-color: #f6d5d2;
	color: var(--ry-coral) !important;
}

/* rz-billing-full
   结账页账单区块里 .col-1 / .col-2 是 48% 浮动，左栏因此只用到一半宽度，
   名字 / 姓氏 / 地址这些输入框全被挤窄。改成整列铺满，配送区块需要时自然落到下方。 */
.ry-theme.woocommerce form.checkout #customer_details .col-1,
.ry-theme.woocommerce form.checkout #customer_details .col-2 {
	float: none !important;
	width: 100% !important;
}

.ry-theme.woocommerce form.checkout #customer_details .woocommerce-additional-fields {
	clear: both;
	margin-top: 8px;
}


/* ==========================================================================
   rz-catnote —— 分类页底部说明区
   目的有两个：
   1) 给 128 个分类页补正文（此前整页只有商品名，可见正文为 0）；
   2) 提供横向内链（同父分类的其他品牌 / 同级其他品类）。
   样式跟 .ry-catnote 一起命名，避免和 v1 遗留的 .rz-shop-* 混淆。
   ========================================================================== */

.ry-catnote {
	margin: 44px 0 0;
	padding: 28px 30px 30px;
	background: #fff;
	border: 1px solid var(--ry-line);
	border-radius: 14px;
}

.ry-catnote__title {
	margin: 0 0 12px;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--ry-ink);
}

.ry-catnote__text {
	margin: 0 0 22px;
	max-width: 62em;
	font-size: 14px;
	line-height: 1.85;
	color: var(--ry-ink-2);
}

.ry-catnote__text b {
	color: var(--ry-ink);
	font-variant-numeric: tabular-nums;
}

.ry-catnote__sub {
	margin: 20px 0 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ry-mute);
}

.ry-catnote__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.ry-catnote__links a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 13px;
	border: 1px solid var(--ry-line-2);
	border-radius: 999px;
	background: var(--ry-wash);
	font-size: 13px;
	color: var(--ry-ink-2);
	text-decoration: none;
	transition: border-color 0.16s, background 0.16s, color 0.16s;
}

.ry-catnote__links a b {
	font-weight: 400;
	font-size: 11.5px;
	color: var(--ry-mute);
	font-variant-numeric: tabular-nums;
}

.ry-catnote__links a:hover {
	border-color: var(--ry-indigo);
	background: #fff;
	color: var(--ry-indigo);
}

.ry-catnote__links a:hover b {
	color: var(--ry-indigo);
}

.ry-catnote__links--guide a {
	background: #fff;
	border-style: dashed;
}

@media (max-width: 720px) {
	.ry-catnote {
		margin-top: 32px;
		padding: 20px 18px 22px;
		border-radius: 12px;
	}
	.ry-catnote__title {
		font-size: 15.5px;
	}
	.ry-catnote__text {
		font-size: 13.5px;
		line-height: 1.8;
	}
	.ry-catnote__links {
		gap: 6px;
	}
	.ry-catnote__links a {
		padding: 5px 11px;
		font-size: 12.5px;
	}
}


/* ==========================================================================
   rz-webp —— <picture> 包装不改变原布局
   160-rz-webp.php 会在每个 <img> 外面套一层 <picture><source type="image/webp">。
   picture 默认是 inline 盒，会插进 flex/grid 布局里多出一层，把图片挤小。
   display:contents 让它不生成盒子，img 直接当父容器的子元素参与布局，
   等于「包了但看不出来」。
   ========================================================================== */

picture {
	display: contents;
}

/* 极老浏览器不认 contents，退化成块级铺满，也不至于把图压成 0 宽 */
@supports not (display: contents) {
	picture {
		display: block;
		width: 100%;
	}
}
/* =========================================================================
 * pSEO 集合页 v2 补充
 *  · 日文副标题（承接日语搜索，中文主标题 + 日语副标题双轨）
 *  · 内链胶囊里的件数小标
 *  · 跨维度导航区（换个维度找）
 * 2026-10-25
 * ========================================================================= */

.ry-catalog__title-jp {
	margin-top: 6px;
	font-size: 13px;
	line-height: 1.6;
	font-weight: 400;
	color: var(--ry-mute);
	letter-spacing: 0.01em;
}

.ry-coll-links__list a b {
	margin-left: 6px;
	font-size: 11px;
	font-weight: 600;
	color: var(--ry-mute);
	background: var(--ry-wash);
	padding: 1px 6px;
	border-radius: 99px;
	vertical-align: 1px;
}

.ry-coll-links__list a:hover b {
	color: var(--ry-indigo);
	background: #fff;
}

/* 跨维度导航 */
.ry-coll-nav {
	margin-top: 56px;
	padding-top: 32px;
	border-top: 1px solid var(--ry-line);
}

.ry-coll-nav__title {
	font-size: 19px;
	letter-spacing: -0.02em;
	margin-bottom: 18px;
}

.ry-coll-nav__row {
	margin-bottom: 20px;
}

.ry-coll-nav__row:last-child {
	margin-bottom: 0;
}

.ry-coll-nav__label {
	font-size: 12px;
	font-weight: 600;
	color: var(--ry-mute);
	letter-spacing: 0.06em;
	margin-bottom: 9px;
	text-transform: uppercase;
}

@media (max-width: 720px) {
	.ry-coll-links,
	.ry-coll-faq,
	.ry-coll-nav {
		margin-top: 40px;
		padding-top: 24px;
	}

	.ry-coll-links__title,
	.ry-coll-faq__title,
	.ry-coll-nav__title {
		font-size: 17px;
	}

	.ry-catalog__title-jp {
		font-size: 12.5px;
	}
}
