/* ===== Product listing ===== */:root {	--prd-mint: #67d5b3;	--prd-mint-dark: #3fb892;	--prd-mint-soft: #e9f9f3;	--prd-ink: #1f2d2a;	--prd-muted: #6b7a76;	--prd-line: #e6ecea;	--prd-price: #e0322b;	--prd-radius: 16px;	--prd-shadow: 0 1px 2px rgba(20, 60, 50, .06), 0 4px 16px rgba(20, 60, 50, .06);	--prd-shadow-hover: 0 6px 12px rgba(20, 60, 50, .08), 0 16px 36px rgba(20, 60, 50, .12);}/* Hero */.prd-hero {	position: relative;	z-index: 3;	background:		radial-gradient(circle 180px at calc(100% - 100px) 60px, rgba(255, 255, 255, .18) 99%, transparent 100%),		linear-gradient(135deg, #5fd0ad 0%, #8ee6cb 55%, #c3f3e3 100%);	padding: 44px 0 40px;}.prd-hero::after {	display: none;	content: "";	position: absolute;	right: -80px;	top: -120px;	width: 360px;	height: 360px;	border-radius: 50%;	background: rgba(255, 255, 255, .18);	pointer-events: none;}.prd-hero-inner {	position: relative;	z-index: 1;	display: flex;	flex-wrap: wrap;	align-items: flex-end;	justify-content: space-between;	gap: 20px;}.prd-hero-eyebrow {	display: inline-block;	font-size: 13px;	letter-spacing: .04em;	color: #fff;	background: rgba(255, 255, 255, .22);	border-radius: 999px;	padding: 3px 12px;	margin-bottom: 10px;}.prd-hero-title {	color: #fff;	font-size: 34px;	line-height: 1.25;	font-weight: 700;	margin: 0;	text-shadow: 0 1px 2px rgba(0, 0, 0, .08);}.prd-hero-count {	color: rgba(255, 255, 255, .92);	font-size: 15px;	margin-top: 6px;}.prd-search {	position: relative;	flex: 0 1 380px;	width: 100%;}.prd-search i {	position: absolute;	left: 16px;	top: 50%;	transform: translateY(-50%);	color: var(--prd-muted);	pointer-events: none;}.prd-search input {	width: 100%;	height: 48px;	border: 0;	border-radius: 999px;	padding: 0 18px 0 44px;	font-size: 16px;	color: var(--prd-ink);	background: #fff;	box-shadow: 0 6px 20px rgba(20, 90, 70, .15);	-webkit-appearance: none;	appearance: none;}.prd-search input:focus {	outline: none;	box-shadow: 0 0 0 3px rgba(255, 255, 255, .7), 0 6px 20px rgba(20, 90, 70, .18);}/* Category chips */.prd-cats-section {	background: #fff;	border-bottom: 1px solid var(--prd-line);	padding: 22px 0 14px;}.prd-cats-head {	display: flex;	align-items: baseline;	justify-content: space-between;	margin-bottom: 12px;}.prd-cats-head h2 {	font-size: 20px;	font-weight: 700;	color: var(--prd-ink);	margin: 0;	line-height: 1.3;}.prd-cats-head span {	font-size: 13px;	color: var(--prd-muted);}.prd-cats {	position: relative;	display: flex;	flex-wrap: wrap;	gap: 8px;}.prd-chip {	display: inline-flex;	align-items: center;	white-space: nowrap;	font-size: 15px;	line-height: 1;	padding: 10px 16px;	border-radius: 999px;	border: 1px solid var(--prd-line);	background: #fff;	color: var(--prd-ink) !important;	text-decoration: none !important;	transition: background-color .2s, border-color .2s, color .2s, box-shadow .2s;}.prd-chip:hover {	border-color: var(--prd-mint);	background: var(--prd-mint-soft);}.prd-chip.is-active {	background: var(--prd-mint);	border-color: var(--prd-mint);	color: #fff !important;	box-shadow: 0 4px 12px rgba(103, 213, 179, .4);}/* Listing */.prd-listing {	background: #f6f8f7;	padding: 32px 0 56px;}.prd-toolbar {	display: flex;	flex-wrap: wrap;	align-items: center;	justify-content: space-between;	gap: 10px;	margin-bottom: 18px;}.prd-toolbar-title {	font-size: 22px;	font-weight: 700;	color: var(--prd-ink);	margin: 0;	line-height: 1.3;}.prd-grid {	display: grid;	grid-template-columns: repeat(4, minmax(0, 1fr));	gap: 20px;}.prd-grid > .prd-col[hidden] {	display: none;}/* Card */.prd-card {	display: flex;	flex-direction: column;	height: 100%;	background: #fff;	border-radius: var(--prd-radius);	box-shadow: var(--prd-shadow);	overflow: hidden;	text-decoration: none !important;	color: var(--prd-ink) !important;	transition: transform .25s ease, box-shadow .25s ease;}.prd-card:hover,.prd-card:focus-visible {	transform: translateY(-4px);	box-shadow: var(--prd-shadow-hover);}.prd-card:focus-visible {	outline: 3px solid var(--prd-mint);	outline-offset: 2px;}.prd-media {	position: relative;	padding-top: 100%;	background: #fff;	border-bottom: 1px solid #f0f3f2;}.prd-media img {	position: absolute;	inset: 0;	top: 0;	left: 0;	width: 100%;	height: 100%;	object-fit: contain;	padding: 12px;	transition: transform .35s ease;}.prd-card:hover .prd-media img {	transform: scale(1.05);}.prd-badge {	position: absolute;	top: 10px;	left: 10px;	max-width: calc(100% - 20px);	overflow: hidden;	text-overflow: ellipsis;	white-space: nowrap;	font-size: 12px;	line-height: 1;	padding: 6px 10px;	border-radius: 999px;	background: var(--prd-mint-soft);	color: #238a6a;}.prd-body {	display: flex;	flex-direction: column;	flex: 1;	padding: 14px 16px 16px;}.prd-title {	font-size: 15px;	font-weight: 500;	line-height: 1.45;	color: var(--prd-ink);	margin: 0 0 10px;	min-height: 2.9em;	display: -webkit-box;	-webkit-line-clamp: 2;	-webkit-box-orient: vertical;	overflow: hidden;	letter-spacing: 0;	text-transform: none;}.prd-foot {	margin-top: auto;	display: flex;	align-items: center;	justify-content: space-between;	gap: 8px;}.prd-price {	font-size: 20px;	font-weight: 700;	line-height: 1;	color: var(--prd-price);}.prd-price small {	font-size: 14px;	font-weight: 600;	margin-right: 2px;}.prd-price--ask {	font-size: 14px;	font-weight: 600;	color: var(--prd-mint-dark);}.prd-go {	flex: 0 0 auto;	width: 34px;	height: 34px;	border-radius: 50%;	display: inline-flex;	align-items: center;	justify-content: center;	background: var(--prd-mint-soft);	color: var(--prd-mint-dark);	font-size: 13px;	transition: background-color .2s, color .2s;}.prd-card:hover .prd-go {	background: var(--prd-mint);	color: #fff;}.prd-empty {	text-align: center;	color: var(--prd-muted);	padding: 48px 16px;}.prd-empty i {	font-size: 36px;	color: #c9d6d2;	display: block;	margin-bottom: 12px;}.prd-more-wrap {	text-align: center;	margin-top: 32px;}.prd-more-btn {	display: inline-flex;	align-items: center;	gap: 8px;	padding: 12px 28px;	border-radius: 999px;	background: var(--prd-mint);	color: #fff !important;	font-size: 16px;	text-decoration: none !important;	box-shadow: 0 6px 16px rgba(103, 213, 179, .45);	transition: background-color .2s, transform .2s;}.prd-more-btn:hover {	background: var(--prd-mint-dark);	transform: translateY(-2px);}@media (max-width: 991px) {	.prd-grid {		grid-template-columns: repeat(3, minmax(0, 1fr));	}}@media (max-width: 767px) {	.prd-hero {		padding: 28px 0 26px;	}	.prd-hero-title {		font-size: 26px;	}	.prd-search {		flex-basis: 100%;	}	/* Chips scroll sideways on phones instead of stacking 40+ rows */	.prd-cats-section {		padding: 16px 0 10px;	}	.prd-cats {		flex-wrap: nowrap;		overflow-x: auto;		-webkit-overflow-scrolling: touch;		scrollbar-width: none;		margin: 0 -15px;		padding: 2px 15px 8px;		scroll-snap-type: x proximity;	}	.prd-cats::-webkit-scrollbar {		display: none;	}	.prd-chip {		scroll-snap-align: start;		font-size: 14px;		padding: 9px 14px;	}	.prd-listing {		padding: 22px 0 40px;	}	.prd-grid {		grid-template-columns: repeat(2, minmax(0, 1fr));		gap: 12px;	}	.prd-body {		padding: 10px 12px 12px;	}	.prd-title {		font-size: 14px;	}	.prd-price {		font-size: 17px;	}	.prd-go {		display: none;	}	.prd-badge {		top: 8px;		left: 8px;		font-size: 11px;		padding: 5px 8px;	}}@media (prefers-reduced-motion: reduce) {	.prd-card,	.prd-media img,	.prd-more-btn {		transition: none;	}	.prd-card:hover,	.prd-card:hover .prd-media img {		transform: none;	}}h1 + .prd-grid,h2 + .prd-grid {	margin-top: 20px;}/* ===== Tag page ===== */.tag-summary-section {	background: #fff;	padding: 24px 0;	border-bottom: 1px solid var(--prd-line);}.tag-lead {	font-size: 16px;	line-height: 1.8;	color: #33423e;	margin: 0 0 16px;}.tag-lead strong {	color: var(--prd-ink);}.tag-facts {	display: grid;	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));	gap: 10px;	margin: 0;}.tag-facts > div {	padding: 12px 16px;	border-radius: 14px;	background: #f6f8f7;	border: 1px solid #eef2f1;}.tag-facts dt {	font-size: 13px;	font-weight: 400;	color: var(--prd-muted);	margin-bottom: 2px;}.tag-facts dd {	margin: 0;	font-size: 16px;	font-weight: 700;	color: var(--prd-ink);	line-height: 1.5;}.tag-facts dd a {	color: #238a6a;	margin-right: 8px;	text-decoration: underline;}.tag-faq-section {	background: #fff;	padding: 40px 0 56px;}.tag-faq-title {	font-size: 24px;	font-weight: 700;	color: var(--prd-ink);	margin: 0 0 16px;	letter-spacing: 0;}.tag-faq {	display: flex;	flex-direction: column;	gap: 10px;	max-width: 860px;}.tag-faq details {	border: 1px solid var(--prd-line);	border-radius: 14px;	background: #fff;	transition: border-color .2s, box-shadow .2s;}.tag-faq details[open] {	border-color: var(--prd-mint);	box-shadow: 0 4px 16px rgba(20, 60, 50, .06);}.tag-faq summary {	list-style: none;	cursor: pointer;	display: flex;	align-items: center;	justify-content: space-between;	gap: 12px;	padding: 16px 18px;	font-size: 16px;	font-weight: 600;	color: var(--prd-ink);}.tag-faq summary::-webkit-details-marker {	display: none;}.tag-faq summary::after {	content: "+";	flex: 0 0 auto;	width: 28px;	height: 28px;	border-radius: 50%;	display: flex;	align-items: center;	justify-content: center;	background: var(--prd-mint-soft);	color: #238a6a;	font-size: 18px;	transition: transform .25s;}.tag-faq details[open] summary::after {	transform: rotate(45deg);}.tag-faq details p {	margin: 0;	padding: 0 18px 16px;	font-size: 15px;	line-height: 1.8;	color: #33423e;}.tag-related {	margin-top: 32px;}.tag-related h3 {	font-size: 18px;	font-weight: 700;	color: var(--prd-ink);	margin: 0 0 12px;	letter-spacing: 0;}@media (max-width: 767px) {	.tag-faq-title {		font-size: 20px;	}	.tag-faq summary {		font-size: 15px;		padding: 14px 16px;	}}/* ===== Product list paging + search ===== */.prd-search .prd-search-clear {	position: absolute;	right: 12px;	top: 50%;	transform: translateY(-50%);	width: 28px;	height: 28px;	border-radius: 50%;	display: flex;	align-items: center;	justify-content: center;	background: #f1f5f4;	color: var(--prd-muted) !important;	font-size: 12px;	text-decoration: none !important;}.prd-search .prd-search-clear i {	position: static;	transform: none;	color: inherit;}.prd-search input[type="search"] {	padding-right: 48px;}.prd-search input[type="search"]::-webkit-search-cancel-button {	-webkit-appearance: none;}.prd-range {	font-size: 14px;	color: var(--prd-muted);	margin-bottom: 14px;}.prd-pager {	display: flex;	flex-wrap: wrap;	align-items: center;	justify-content: center;	gap: 8px;	margin-top: 36px;}.prd-page {	min-width: 44px;	height: 44px;	padding: 0 14px;	display: inline-flex;	align-items: center;	justify-content: center;	gap: 8px;	border-radius: 12px;	background: #fff;	border: 1px solid var(--prd-line);	color: var(--prd-ink) !important;	font-size: 15px;	font-weight: 600;	text-decoration: none !important;	box-shadow: 0 1px 2px rgba(20, 60, 50, .05);	transition: background-color .2s, border-color .2s, color .2s, transform .2s, box-shadow .2s;}a.prd-page:hover {	border-color: var(--prd-mint);	background: var(--prd-mint-soft);	transform: translateY(-2px);	box-shadow: 0 6px 14px rgba(20, 60, 50, .1);}.prd-page.is-current {	background: var(--prd-mint);	border-color: var(--prd-mint);	color: #fff !important;	box-shadow: 0 6px 16px rgba(103, 213, 179, .45);}.prd-page.is-gap {	min-width: 24px;	padding: 0;	border: 0;	background: transparent;	box-shadow: none;	color: var(--prd-muted) !important;}.prd-page.is-nav i {	font-size: 12px;}.prd-page.is-disabled {	opacity: .4;	cursor: default;}@media (max-width: 767px) {	.prd-pager {		gap: 5px;		margin-top: 26px;	}	.prd-page {		min-width: 38px;		height: 40px;		padding: 0 8px;		font-size: 14px;		border-radius: 10px;	}	.prd-page.is-gap {		min-width: 16px;	}	/* Arrows only on phones to keep the row on one line */	.prd-page.is-nav span {		display: none;	}}/* ===== Promotion price (product cards) ===== */.prd-sale-badge {	position: absolute;	top: 10px;	right: 10px;	font-size: 13px;	font-weight: 700;	line-height: 1;	padding: 7px 10px;	border-radius: 999px;	background: linear-gradient(135deg, #ff4d4f, #e0322b);	color: #fff;	box-shadow: 0 4px 12px rgba(224, 50, 43, .35);	animation: prd-sale-pop 2.6s ease-in-out infinite;}.prd-price-wrap {	display: flex;	flex-direction: column;	gap: 2px;}.prd-price-old {	font-size: 13px;	line-height: 1;	color: var(--prd-muted);	text-decoration-thickness: 1.5px;}.prd-price-old small {	font-size: 11px;	margin-right: 1px;}@keyframes prd-sale-pop {	0%, 80%, 100% { transform: scale(1); }	88% { transform: scale(1.12); }}@media (max-width: 767px) {	.prd-sale-badge {		top: 8px;		right: 8px;		font-size: 12px;		padding: 5px 8px;	}	.prd-price-old {		font-size: 12px;	}}@media (prefers-reduced-motion: reduce) {	.prd-sale-badge {		animation: none;	}}