/* 产品目录：筛选面板 / PDP 规格表 */
.toysail-crumb ol {
	display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 20px; padding: 0;
	font-size: 13px; color: var(--ts-ink-400);
}
.toysail-crumb li + li::before { content: '/'; margin-right: 6px; color: #CBD5E1; }
.toysail-crumb a { color: var(--ts-ink-400); }
.toysail-crumb a:hover { color: var(--ts-brand); }

.toysail-catalog__layout { display: grid; grid-template-columns: 264px 1fr; gap: 28px; align-items: start; }

/* 筛选面板 */
.toysail-filter {
	background: var(--ts-surface-50); border: 1px solid var(--ts-line); border-radius: var(--ts-radius-card);
	position: sticky; top: 90px; max-height: calc(100vh - 110px); overflow-y: auto;
}
.toysail-filter__head { display: flex; justify-content: space-between; align-items: center; padding: 16px 18px 0; font-family: var(--ts-font-display); }
.toysail-filter__close { display: none; border: none; background: none; font-size: 24px; cursor: pointer; color: var(--ts-ink-400); }
.toysail-filter__body { padding: 8px 18px 18px; }
.toysail-filter__group { padding: 14px 0; border-bottom: 1px solid var(--ts-line); }
.toysail-filter__group:last-of-type { border-bottom: none; }
.toysail-filter__label {
	display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .06em;
	color: var(--ts-ink-400); font-weight: 700; margin-bottom: 10px;
}
.toysail-filter__checks { display: flex; flex-direction: column; gap: 8px; }
.toysail-filter__checks label { display: flex; align-items: center; gap: 8px; font-size: .9rem; color: var(--ts-ink-600); cursor: pointer; margin: 0; }
.toysail-filter__checks input { width: 15px; height: 15px; accent-color: var(--ts-brand); }
.toysail-filter__range input[type="range"] { width: 100%; accent-color: var(--ts-brand); }
.toysail-filter__range span { font-size: .82rem; color: var(--ts-ink-600); }
.toysail-filter__actions { display: flex; gap: 8px; padding-top: 16px; }
.toysail-filter__actions .toysail-btn { flex: 1; font-size: .85rem; padding: 9px 8px; }
.toysail-filter__open { display: none; margin-bottom: 16px; }

/* 工具条 */
.toysail-catalog__toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
.toysail-catalog__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.toysail-chip {
	display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 600;
	background: var(--ts-brand-tint); color: var(--ts-brand); border: 1px solid #BFDBFE;
	border-radius: 999px; padding: 3px 10px; cursor: pointer;
}
.toysail-chip button { border: none; background: none; color: inherit; cursor: pointer; font-size: 13px; line-height: 1; padding: 0; }
.toysail-sort { display: inline-flex; align-items: center; gap: 8px; font-size: .88rem; color: var(--ts-ink-400); }
.toysail-sort select { min-height: 38px; padding: 6px 10px; border: 1px solid var(--ts-line); border-radius: var(--ts-radius-btn); background: #fff; font-size: .88rem; }

.toysail-catalog__pager { display: flex; justify-content: center; gap: 6px; margin-top: 32px; flex-wrap: wrap; }
.toysail-catalog__pager button {
	min-width: 38px; height: 38px; border: 1px solid var(--ts-line); background: #fff;
	border-radius: var(--ts-radius-btn); cursor: pointer; font-family: var(--ts-font-mono); font-size: .85rem;
}
.toysail-catalog__pager button.is-active { background: var(--ts-brand); color: #fff; border-color: var(--ts-brand); }
.toysail-termseo { max-width: 860px; margin-top: 56px; color: var(--ts-ink-400); font-size: .95rem; }

/* PDP */
.toysail-pdp__top { display: grid; grid-template-columns: 46% 1fr; gap: 40px; margin-bottom: 56px; }
.toysail-pdp__gallery { display: flex; flex-direction: column; gap: 16px; }
.toysail-pdp__mainimg img { border-radius: var(--ts-radius-card); border: 1px solid var(--ts-line); width: 100%; }
.toysail-pdp__title { font-size: 1.7rem; margin: 0 0 4px; }
.toysail-pdp__zh { color: var(--ts-ink-400); font-size: .92rem; margin: 0 0 4px; }
.toysail-pdp__sku { color: var(--ts-ink-400); font-size: .85rem; margin-bottom: 14px; }
.toysail-pdp__badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 18px; }
.toysail-pdp__specstrip {
	display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
	background: #F1F5F9; border-radius: var(--ts-radius-card); padding: 14px 16px; margin-bottom: 20px;
}
.toysail-pdp__specstrip span { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; color: var(--ts-ink-400); }
.toysail-pdp__specstrip strong { font-family: var(--ts-font-mono); font-size: 1rem; color: var(--ts-ink-900); font-weight: 600; }
.toysail-pdp__qtyrow { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.toysail-pdp__qtyrow label { font-size: .88rem; font-weight: 600; }
.toysail-pdp__qtyrow input { width: 110px; min-height: 42px; padding: 8px 12px; border: 1px solid var(--ts-line); border-radius: var(--ts-radius-btn); font-family: var(--ts-font-mono); text-align: right; }
.toysail-pdp__qtyrow span { font-size: .82rem; color: var(--ts-ink-400); }
.toysail-pdp__btns { display: flex; gap: 10px; flex-wrap: wrap; }
.toysail-btn--wa { background: #fff; color: var(--ts-wa); border: 1px solid var(--ts-wa); }
.toysail-btn--wa:hover { background: #F0FFF4; color: var(--ts-wa); }
.toysail-pdp__note { margin-top: 18px; padding: 12px 16px; background: var(--ts-surface-50); border-radius: var(--ts-radius-btn); font-size: .9rem; color: var(--ts-ink-600); }
.toysail-pdp__ipwarn {
	margin-top: 14px; padding: 12px 16px; border-radius: var(--ts-radius-btn);
	background: #FFFBEB; border: 1px solid #FDE68A; color: #92400E; font-size: .88rem;
}

/* 规格表 */
.toysail-tablewrap { border: 1px solid var(--ts-line); border-radius: var(--ts-radius-card); overflow: hidden; overflow-x: auto; background: #fff; }
.toysail-table { width: 100%; border-collapse: collapse; min-width: 480px; }
.toysail-table th, .toysail-table td { padding: 12px 18px; border-bottom: 1px solid var(--ts-line); text-align: left; }
.toysail-table tbody tr:nth-child(even) { background: #FAFBFC; }
.toysail-table tbody tr:hover { background: #F1F5F9; }
.toysail-table th { width: 240px; font-size: 13px; font-weight: 600; color: var(--ts-ink-600); }
.toysail-table td { font-size: 14px; color: var(--ts-ink-900); }
.toysail-table__hl { background: var(--ts-brand-tint); box-shadow: inset 3px 0 0 var(--ts-brand); }
.toysail-table__hl td { font-weight: 700; color: var(--ts-brand); }

.toysail-cbmpanel {
	display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap;
	margin-top: 16px; padding: 18px 20px; background: var(--ts-brand-tint);
	border: 1px solid #BFDBFE; border-radius: var(--ts-radius-card);
}
.toysail-cbmpanel p { margin: 4px 0 0; font-size: .92rem; }

.toysail-pdp__specsheet, .toysail-pdp__desc, .toysail-pdp__related { margin-bottom: 56px; }

@media (max-width: 1024px) {
	.toysail-pdp__top { grid-template-columns: 1fr; gap: 24px; }
	.toysail-pdp__specstrip { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 782px) {
	.toysail-catalog__layout { grid-template-columns: 1fr; }
	.toysail-filter {
		position: fixed; inset: 0 auto 0 0; width: 320px; max-width: 88vw; max-height: none;
		z-index: 230; border-radius: 0; transform: translateX(-100%); transition: transform .25s ease; background: #fff;
	}
	.toysail-filter.is-open { transform: none; box-shadow: 24px 0 48px rgba(15,23,42,.2); }
	.toysail-filter__close { display: block; }
	.toysail-filter__open { display: inline-flex; }
	.toysail-pdp__btns .toysail-btn { flex: 1; }
}
