/* ==========================================================================
   Catalog: category head, types block, filters bar, product card
   ========================================================================== */

/* Category head: breadcrumbs, title, subtitle */
.catalog-head {
	padding: 24px 0;
}
.catalog-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 10px;
	padding: 0;
	list-style: none;
	font-size: 14px;
	line-height: 25px;
	color: #7a7a7a;
}
.catalog-breadcrumbs li + li:before {
	content: "/";
	margin: 0 6px;
}
.catalog-breadcrumbs a {
	color: #f4d03d;
	text-decoration: none;
	transition: color 0.2s;
}
.catalog-breadcrumbs a:hover {
	color: #f60;
}
.catalog-head__title {
	margin: 0;
	font-size: 30px;
	font-weight: 500;
	line-height: 30px;
	text-transform: uppercase;
	color: #555;
}
.catalog-head__subtitle {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 25px;
	color: #666;
}

.catalog-page--shop {
	padding-top: 100px;
}

/* Types block */
.catalog-types {
	margin: 50px 0 30px;
}
.catalog-types__group + .catalog-types__group {
	margin-top: 50px;
}
.catalog-types__title {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 24px;
	font-size: 20px;
	font-weight: 500;
	line-height: 25px;
	text-transform: uppercase;
	color: #1a1a1a;
}
.catalog-types__title:after {
	content: "";
	flex: 0 0 60px;
	height: 2px;
	background: #f4d03d;
}
.catalog-types__viewport {
	position: relative;
}
.catalog-types__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 4 * 16px) / 5);
	gap: 16px;
	/* room for card shadows inside the scroll area */
	margin: -6px -6px -14px;
	padding: 6px 6px 14px;
	list-style: none;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 6px;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.catalog-types__track::-webkit-scrollbar {
	display: none;
}
.catalog-types__item {
	scroll-snap-align: start;
	min-width: 0;
}
.catalog-type {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 4px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
	color: #1a1a1a;
	text-decoration: none;
	transition: box-shadow 0.2s;
}
.catalog-type:hover {
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.13);
}
.catalog-type__image {
	display: block;
	height: 200px;
	overflow: hidden;
	background: #f4f4f4;
}
.catalog-type__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transform-origin: center top;
	transition: transform 0.4s;
}
.catalog-type:hover .catalog-type__image img {
	transform: scale(1.04);
}
.catalog-type__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 12px 16px;
	background: #eee;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}
.catalog-type__arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 24px;
	height: 24px;
	border: 1px solid #f4d03d;
	border-radius: 50%;
	font-size: 11px;
	color: #f4d03d;
	transition: all 0.2s;
}
.catalog-type:hover .catalog-type__arrow {
	background: #f4d03d;
	color: #fff;
}
.catalog-types__nav {
	position: absolute;
	top: 42%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 2px solid #f60;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	font-size: 16px;
	color: #f60;
	cursor: pointer;
	transition: all 0.2s;
}
.catalog-types__nav:hover {
	background: #f60;
	color: #fff;
}
.catalog-types__nav[hidden] {
	display: none;
}
.catalog-types__nav--next {
	right: 0;
	transform: translate(40%, -50%);
}
.catalog-types__nav--prev {
	left: 0;
	transform: translate(-40%, -50%);
}
.catalog-types__more {
	margin: 50px 0 0;
	text-align: center;
}
.catalog-types__all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 330px;
	min-height: 48px;
	padding: 10px 30px;
	border-radius: 24px;
	background: #f4d03d;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	text-decoration: none;
	color: #2d3134;
	transition: background-color 0.2s, color 0.2s;
}
.catalog-types__all:hover:not(:disabled) {
	background: #fad926;
	color: #2d3134;
}
.catalog-types__all:active:not(:disabled) {
	background: #e0ba1f;
}
.catalog-types__all:disabled {
	background: #fff;
	color: #999;
	opacity: 0.6;
	cursor: not-allowed;
}

/* Filters bar (BeRocket widgets as dropdowns) */
.catalog-filters {
	position: relative;
	z-index: 5;
	margin: 0 0 40px;
	padding: 24px 0;
	background: #eee;
}
.catalog-filters__inner {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.catalog-filters__list {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	gap: 12px;
	min-width: 0;
}
.catalog-filters__side {
	display: flex;
	flex: 0 0 auto;
	gap: 12px;
	margin-left: auto;
}
.catalog-filters:not(.is-expanded) .is-overflow {
	display: none !important;
}
.catalog-filters .filter-button,
.catalog-filters .berocket_single_filter_widget:has(.filter-button) {
	display: none !important;
}
.catalog-filters .berocket_single_filter_widget {
	display: block;
	position: relative;
}
.catalog-filters .widget_custom_html {
	margin: 0;
}
.catalog-filters .mobile-filter,
.catalog-filters .bapf_sfilter .bapf_head h3,
.catalog-filters .woocommerce-ordering select {
	display: flex;
	align-items: center;
	gap: 14px;
	box-sizing: border-box;
	height: 38px;
	margin: 0;
	padding: 0 16px;
	border: 1px solid #dcdcdc;
	border-radius: 4px;
	background: #fff;
	font-family: "Roboto", sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	text-transform: none;
	white-space: nowrap;
	color: #2e383e;
	cursor: pointer;
	transition: border-color 0.2s;
}
.catalog-filters .mobile-filter {
	border-color: #f4d03d;
	color: #e0b400;
}
.catalog-filters .mobile-filter:before {
	content: "\f1de";
	position: static;
	order: 2;
	margin: 0;
	font-family: FontAwesome;
	font-size: 14px;
	color: #f4d03d;
	transform: none;
}
.catalog-filters .mobile-filter.active {
	background: #f4d03d;
	color: #1a1a1a;
}
.catalog-filters .mobile-filter.active:before {
	color: #1a1a1a;
}
.catalog-filters .bapf_sfilter {
	margin: 0;
}
.catalog-filters .bapf_sfilter .bapf_head h3:hover,
.catalog-filters .bapf_sfilter.bapf_ccolaps .bapf_head h3,
.catalog-filters .bapf_sfilter:has(input:checked) .bapf_head h3 {
	border-color: #f4d03d;
}
/* BeRocket positions the arrow absolutely at the right edge — keep it inside the button */
.catalog-filters .bapf_sfilter .bapf_colaps_smb {
	position: static;
	margin: 0;
	font-size: 9px;
	line-height: 1;
	color: #2e383e;
}
.catalog-filters .bapf_sfilter .bapf_body {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	z-index: 20;
	width: max-content;
	min-width: 220px;
	max-width: 320px;
	max-height: 340px;
	padding: 14px 16px;
	overflow: auto;
	background: #fff;
	border: 1px solid #dcdcdc;
	border-radius: 4px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.catalog-filters .bapf_slidr .bapf_body {
	width: 300px;
	max-width: none;
	padding: 12px 20px 16px;
	overflow: visible;
}
.catalog-filters .irs--flat .irs-bar,
.catalog-filters .irs--flat .irs-from,
.catalog-filters .irs--flat .irs-to,
.catalog-filters .irs--flat .irs-single,
.catalog-filters .irs--flat .irs-handle > i:first-child,
.catalog-filters .irs--flat .irs-handle.state_hover > i:first-child,
.catalog-filters .irs--flat .irs-handle:hover > i:first-child {
	background-color: #f4d03d;
}
.catalog-filters .irs--flat .irs-from:before,
.catalog-filters .irs--flat .irs-to:before,
.catalog-filters .irs--flat .irs-single:before {
	border-top-color: #f4d03d;
}
.catalog-filters .irs--flat .irs-from,
.catalog-filters .irs--flat .irs-to,
.catalog-filters .irs--flat .irs-single {
	color: #1a1a1a;
}
.catalog-filters .bapf_body ul {
	margin: 0;
	padding: 0;
}
.catalog-filters .bapf_body li {
	margin: 0 0 8px;
	font-size: 14px;
}
.catalog-filters .bapf_body li:last-child {
	margin-bottom: 0;
}
.catalog-filters .bapf_body li label {
	cursor: pointer;
}
.catalog-filters .bapf_body input[type="checkbox"] {
	margin: 0 8px 0 0;
	accent-color: #f4d03d;
}
.catalog-filters .woocommerce-ordering {
	float: none;
	margin: 0;
}
.catalog-filters .woocommerce-ordering label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}
.catalog-filters .woocommerce-ordering select {
	max-width: 260px;
	padding-right: 40px;
	-webkit-appearance: none;
	appearance: none;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232e383e' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 16px center;
}

/* Product grid */
.catalog-products {
	margin-bottom: 20px;
}
.woocommerce ul.products:has(> li.terra-card) {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 50px 20px;
	margin: 0 0 40px;
	padding: 0;
}
.woocommerce ul.products.columns-4:has(> li.terra-card) {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.woocommerce ul.products.columns-3:has(> li.terra-card) {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.woocommerce ul.products.columns-2:has(> li.terra-card) {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.woocommerce ul.products:has(> li.terra-card):before,
.woocommerce ul.products:has(> li.terra-card):after {
	display: none;
}

/* Product card */
.woocommerce ul.products li.product.terra-card,
.woocommerce ul.products[class*="columns-"] li.product.terra-card,
.woocommerce-page ul.products[class*="columns-"] li.product.terra-card {
	position: relative;
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e1e1e1;
	border-radius: 4px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	text-align: left;
	transition: box-shadow 0.2s;
}
.woocommerce ul.products li.product.terra-card:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.13);
}
.terra-card__media {
	position: relative;
	height: 260px;
	overflow: hidden;
	background: #f4f4f4;
}
.woocommerce ul.products li.product.terra-card .terra-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: cover;
	box-shadow: none;
	transition: transform 0.4s;
}
.woocommerce ul.products li.product.terra-card:hover .terra-card__media img {
	transform: scale(1.04);
}
.terra-card__badges {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 5px;
	pointer-events: none;
}
.terra-card__badge {
	padding: 4px 8px;
	border-radius: 3px;
	background: #f60;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
	color: #fff;
}
.terra-card__badge--sale {
	background: #d83b2d;
}
.terra-card__availability {
	position: absolute;
	left: 10px;
	bottom: 10px;
	z-index: 2;
	padding: 3px 8px;
	border-radius: 3px;
	background: rgba(255, 255, 255, 0.92);
	font-size: 12px;
	line-height: 1.3;
	color: #1a1a1a;
	pointer-events: none;
}
.terra-card__wishlist {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 3;
}
.terra-card__wishlist .yith-wcwl-add-to-wishlist {
	margin: 0;
}
.terra-card__wishlist .yith-wcwl-add-to-wishlist a,
.terra-card__wishlist .yith-wcwl-add-button a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
	font-size: 0;
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.2s;
}
.terra-card__wishlist a:hover,
.terra-card__wishlist .yith-wcwl-wishlistaddedbrowse a,
.terra-card__wishlist .yith-wcwl-wishlistexistsbrowse a {
	color: #f60;
}
/* YITH (php-templates) prints no icon in the loop: outline heart = add, filled = already in wishlist */
.terra-card__wishlist a:before {
	content: "\f08a";
	font-family: FontAwesome;
	font-size: 15px;
	line-height: 1;
}
.terra-card__wishlist .yith-wcwl-wishlistaddedbrowse a:before,
.terra-card__wishlist .yith-wcwl-wishlistexistsbrowse a:before {
	content: "\f004";
}
.terra-card__wishlist a i,
.terra-card__wishlist a svg,
.terra-card__wishlist a span,
.terra-card__wishlist .feedback,
.terra-card__wishlist .separator,
.terra-card__wishlist .yith-wcwl-add-to-wishlist .ajax-loading {
	display: none;
}
.terra-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 14px 12px;
}
.woocommerce ul.products li.product.terra-card .terra-card__title {
	min-height: 0;
	margin: 0 0 8px;
	padding: 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 25px;
	text-align: left;
	color: #1a1a1a;
}
.terra-card__link {
	color: inherit;
	text-decoration: none;
}
.terra-card__link:hover {
	color: #f60;
}
/* whole card opens the product */
.terra-card__link:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.terra-card__attrs {
	margin: 0 0 14px;
	padding: 0;
	list-style: none;
	font-size: 16px;
	line-height: 1.2;
	color: #2d3134;
}
.terra-card__attr-label {
	color: #979c9f;
}
.terra-card__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
}
.woocommerce ul.products li.product.terra-card .price {
	margin: 0;
	padding: 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
	text-align: left;
	white-space: nowrap;
	color: #1a1a1a;
}
.woocommerce ul.products li.product.terra-card .price del {
	display: block;
	font-size: 13px;
	font-weight: 400;
	color: #979c9f;
	opacity: 1;
}
.woocommerce ul.products li.product.terra-card .price ins {
	text-decoration: none;
	color: #d83b2d;
}
.terra-card__actions {
	position: relative;
	z-index: 2;
	display: flex;
	flex: 0 0 auto;
	gap: 8px;
}
.woocommerce ul.products li.product.terra-card .terra-card__btn {
	position: static;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	max-width: none;
	height: 32px;
	margin: 0;
	padding: 0;
	border: 1.5px solid #f60;
	border-radius: 3px;
	background: #fff;
	font-size: 15px;
	line-height: 1;
	color: #f60;
	text-decoration: none;
	opacity: 1;
	transform: none;
	transition: all 0.2s;
}
.woocommerce ul.products li.product.terra-card .terra-card__btn:after,
.woocommerce ul.products li.product.terra-card .terra-card__btn:before {
	display: none;
}
.woocommerce ul.products li.product.terra-card .terra-card__btn--quick {
	border-color: #f4d03d;
	color: #e0b400;
}
.woocommerce ul.products li.product.terra-card .terra-card__btn:hover {
	background: #f60;
	color: #fff;
}
.woocommerce ul.products li.product.terra-card .terra-card__btn--quick:hover {
	background: #f4d03d;
	color: #1a1a1a;
}
.woocommerce ul.products li.product.terra-card .terra-card__btn.loading {
	opacity: 0.6;
	pointer-events: none;
}
.woocommerce ul.products li.product.terra-card .terra-card__btn.loading i:before {
	content: "\f110";
	display: inline-block;
	animation: rot 1s linear infinite;
}
.woocommerce ul.products li.product.terra-card .terra-card__btn--cart.added i:before {
	content: "\f00c";
}
.woocommerce ul.products li.product.terra-card .added_to_cart {
	display: none;
}
.terra-card .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
	white-space: nowrap;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media only screen and (max-width: 1250px) {
	.catalog-types__nav--next {
		transform: translate(0, -50%);
	}
	.catalog-types__nav--prev {
		transform: translate(0, -50%);
	}
}

@media only screen and (max-width: 1024px) {
	.catalog-types__track {
		grid-auto-columns: calc((100% - 3 * 16px) / 3.6);
		gap: 16px;
	}
	.woocommerce ul.products.columns-4:has(> li.terra-card) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 960px) {
	.catalog-page--shop {
		padding-top: 136px;
	}
	.catalog-filters {
		padding: 16px 0;
	}
	/* Mobile: "Filters" + sorting in one row, filters as accordion below */
	.catalog-filters__inner {
		flex-wrap: wrap;
	}
	.catalog-filters__list {
		display: contents;
	}
	.catalog-filters .widget_custom_html {
		order: 1;
	}
	.catalog-filters__side {
		order: 2;
	}
	.catalog-filters .berocket_single_filter_widget {
		order: 3;
		flex: 0 0 100%;
		display: none;
	}
	.catalog-filters.is-expanded .berocket_single_filter_widget {
		display: block;
	}
	.catalog-filters.is-expanded .is-overflow {
		display: block !important;
	}
	.catalog-filters .mobile-filter {
		display: flex;
	}
	.catalog-filters .bapf_sfilter .bapf_head h3 {
		justify-content: space-between;
		width: 100%;
	}
	.catalog-filters .bapf_sfilter .bapf_body,
	.catalog-filters .bapf_slidr .bapf_body {
		position: static;
		width: auto;
		max-width: none;
		max-height: 260px;
		border-top: 0;
		box-shadow: none;
	}
	.catalog-filters .woocommerce-ordering select {
		max-width: 200px;
	}
}

@media only screen and (max-width: 768px) {
	.catalog-head {
		padding: 20px 0 24px;
	}
	.catalog-head__title {
		font-size: 22px;
	}
	.catalog-types__title {
		font-size: 16px;
	}
	.catalog-types__track {
		grid-auto-columns: calc((100% - 12px) / 2.3);
		gap: 12px;
	}
	.catalog-types__nav {
		display: none;
	}
	.catalog-types__all {
		min-width: 0;
		width: 100%;
	}
	.woocommerce ul.products:has(> li.terra-card),
	.woocommerce ul.products[class*="columns-"]:has(> li.terra-card) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 12px;
	}
	.terra-card__body {
		padding: 12px 10px 14px;
	}
	.woocommerce ul.products li.product.terra-card .terra-card__title {
		font-size: 14px;
	}
	.terra-card__attrs {
		font-size: 12px;
	}
}

@media only screen and (max-width: 480px) {
	.terra-card__footer {
		flex-direction: column;
		align-items: flex-start;
	}
	.woocommerce ul.products li.product.terra-card .price {
		font-size: 16px;
	}
}

/* Exact catalog tokens from the Figma frames. */
.catalog-types__title { color: #364763; }
.catalog-type { border-color: #cdcdcd; border-radius: 8px; box-shadow: none; }
.catalog-type__name { overflow-wrap: anywhere; }
.catalog-type__arrow { border: 0; }
.catalog-type__arrow i { width: 24px; height: 24px; background: url('../images/catalog/category-arrow.svg') center / contain no-repeat; }
.catalog-type__arrow i:before { content: none; }
.woocommerce ul.products li.product.terra-card { border-color: #e4eff8; border-radius: 6px; box-shadow: none; }
.woocommerce ul.products li.product.terra-card .terra-card__title { color: #3c546b; }
.terra-card__attrs li + li { margin-top: 4px; }
.terra-card__attrs { margin-bottom: 28px; }
.terra-card__wishlist .yith-wcwl-add-to-wishlist a { width: 30px; height: 30px; box-shadow: none; }
.terra-card__wishlist a:before { content: ''; width: 16px; height: 16px; background: url('../images/catalog/heart.svg') center / contain no-repeat; }
.terra-card__wishlist .yith-wcwl-wishlistaddedbrowse a:before,
.terra-card__wishlist .yith-wcwl-wishlistexistsbrowse a:before { background: none; }
.terra-card__actions { gap: 10px; }
.woocommerce ul.products li.product.terra-card .terra-card__btn { border-width: 2px; border-radius: 4px; }
.terra-card__btn--quick i { width: 16px; height: 16px; background: url('../images/catalog/zap.svg') center / contain no-repeat; }
.terra-card__btn--quick i:before { content: none; }
.catalog-products { margin-bottom: 40px; }
@media (max-width: 768px) {
 .catalog-types { margin-top: 24px; }
 .catalog-types__group + .catalog-types__group { margin-top: 30px; }
 .catalog-types__track { grid-auto-columns: calc((100% - 12px) / 2); }
 .catalog-type__image { height: auto; aspect-ratio: 1.1; }
 .catalog-type__footer { padding: 10px 8px; font-size: 12px; gap: 4px; }
 .catalog-types__title { font-size: 16px; }
 .catalog-types__more { margin-top: 30px; }
 .terra-card__media { height: auto; aspect-ratio: 1.05; }
 .woocommerce ul.products li.product.terra-card .terra-card__title { font-size: 14px; line-height: 19px; }
 .terra-card__attrs { font-size: 12px; margin-bottom: 16px; }
 .terra-card__footer { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px; }
 .terra-card__actions { gap: 6px; }
 .woocommerce ul.products li.product.terra-card .terra-card__btn { width: 28px; height: 28px; }
 .woocommerce ul.products li.product.terra-card .price { font-size: 15px; }
}

/* Native WooCommerce filters: desktop dropdowns and the mobile expanded panel. */
.catalog-filters--design { padding: 24px 0; margin-bottom: 50px; }
.terra-filter-form *, .terra-filter-panel * { box-sizing: border-box; }
.terra-filter-row { display: flex; align-items: flex-start; gap: 10px; }
.terra-filter-options { display: flex; flex-wrap: wrap; gap: 10px; flex: 1; min-width: 0; }
.terra-filter { position: relative; margin: 0; }
.terra-filter summary, .terra-filter-toggle, .terra-filter-sort select { display: flex; align-items: center; gap: 10px; margin: 0; height: 36px; padding: 0 15px; border: 1px solid #d3ced2; border-radius: 4px; background: #fff; color: #364763; font: 500 14px/16px Roboto,sans-serif; cursor: pointer; white-space: nowrap; }
.terra-filter summary { list-style: none; }
.terra-filter summary::-webkit-details-marker { display: none; }
.terra-filter summary:after { content: ''; width: 12px; height: 12px; background: url('../images/catalog/chevron.svg') center / 8px 5px no-repeat; }
.terra-filter summary:hover { border-color: #979c9f; background-color: #f5f7fa; }
.terra-filter[open] summary, .terra-filter.has-selection summary { border-color: #f4d03d; }
.terra-filter[open] summary:after { transform: rotate(180deg); }
.terra-filter-toggle { flex: 0 0 auto; color: #d0ad1f; border-color: #f4d03d; }
.terra-filter-toggle__icon { display: block; flex: 0 0 16px; width: 16px; height: 16px; overflow: hidden; }
.terra-filter-toggle[aria-expanded="true"] { background: #fff8d8; }
.terra-filter-count { background: #f4d03d; border-radius: 8px; min-width: 16px; padding: 0 4px; font-size: 10px; text-align: center; }
.terra-filter-sort { flex: 0 0 auto; margin: 0 0 0 auto; }
.terra-filter-sort select { width: 140px; max-width: 100%; padding-right: 30px; appearance: none; background: #fff url('../images/catalog/chevron.svg') right 12px center / 8px 5px no-repeat; text-overflow: ellipsis; }
.catalog-filters--design:not(.is-expanded) .terra-filter--extra { display: none; }
.terra-filter-panel { position: absolute; left: 0; top: calc(100% + 10px); z-index: 25; width: 260px; padding: 12px; border: 1px solid #f4d03d; border-radius: 8px; background: #fff; box-shadow: 0 8px 12px #0000001a; color: #364763; }
.terra-filter-empty { margin: 0; font-size: 14px; line-height: 20px; }
.terra-filter-choices { max-height: 380px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #d3ced2 transparent; }
.terra-filter-choice { display: flex; align-items: center; gap: 12px; min-height: 34px; margin: 0 0 4px; padding: 8px 12px; border-radius: 4px; font: 400 14px/18px Roboto,sans-serif; cursor: pointer; }
.terra-filter-choice:hover, .terra-filter-choice:has(input:checked) { background: #f5f7fa; }
.terra-filter-choice input[type="checkbox"] { position: static; appearance: auto; opacity: 1; flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: #f4d03d; cursor: pointer; }
.terra-filter-choices--colors { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 0 0 8px; }
.terra-filter-choices--colors .terra-filter-choice { position: relative; flex-direction: column; justify-content: flex-start; gap: 6px; padding: 0; margin: 0; font-size: 11px; line-height: 13px; text-align: center; overflow-wrap: anywhere; }
.terra-filter-choices--colors input[type="checkbox"] { position: absolute; top: 0; width: 32px; height: 32px; opacity: 0; }
.terra-swatch { display: block; width: 32px; height: 32px; flex: 0 0 32px; border: 1px solid #d3ced2; border-radius: 50%; }
.terra-filter-choice input:checked + .terra-swatch { border: 2px solid #f4d03d; box-shadow: inset 0 0 0 3px white; }
.terra-filter-choice input:focus-visible + .terra-swatch { outline: 2px solid #364763; outline-offset: 2px; }
.terra-filter-apply { margin-top: 4px; padding-top: 12px; border-top: 1px solid #d3ced2; }
.terra-filter-apply button { width: 100%; min-height: 31px; padding: 8px 16px; border: 0; border-radius: 4px; background: #f4d03d; color: #2d3134; font: 700 13px/15px Roboto,sans-serif; cursor: pointer; transition: background-color 0.2s, color 0.2s; }
.terra-filter-apply button:hover:not(:disabled) { background: #fad926; }
.terra-filter-apply button:active:not(:disabled) { background: #e0ba1f; }
.terra-filter-apply button:disabled { background: #fff; color: #999; opacity: 0.6; cursor: not-allowed; }
.terra-filter-reset { display: inline-block; margin-top: 12px; color: #364763; font-size: 13px; text-decoration: underline; }
.terra-range { padding: 8px 12px 12px; }
.terra-range-sliders { position: relative; height: 20px; margin-bottom: 12px; background: linear-gradient(to right,#eee 0 var(--low,0%),#f4d03d var(--low,0%) var(--high,100%),#eee var(--high,100%) 100%) center / 100% 4px no-repeat; }
.terra-range-sliders input[type="range"] { position: absolute; inset: 0; width: 100%; height: 20px; padding: 0; margin: 0; appearance: none; background: transparent; border: 0; pointer-events: none; }
.terra-range-sliders input::-webkit-slider-thumb { appearance: none; pointer-events: auto; width: 16px; height: 16px; border: 2px solid #f4d03d; border-radius: 50%; background: #fff; box-shadow: 0 2px 4px #0002; cursor: ew-resize; }
.terra-range-sliders input::-moz-range-thumb { pointer-events: auto; width: 14px; height: 14px; border: 2px solid #f4d03d; border-radius: 50%; background: #fff; cursor: ew-resize; }
.terra-range-limits { display: flex; justify-content: space-between; margin-bottom: 16px; color: #979c9f; font-size: 12px; line-height: 14px; }
.terra-range-values { display: flex; gap: 8px; }
.terra-range-values label { display: flex; align-items: center; gap: 4px; width: 50%; margin: 0; padding: 4px 8px; border: 1px solid #d3ced2; border-radius: 3px; color: #979c9f; font-size: 12px; }
.terra-range-values input { min-width: 0; width: 100%; height: 20px; margin: 0; padding: 0; border: 0; box-shadow: none; color: #364763; font: 500 13px/15px Roboto,sans-serif; }
.terra-filter summary:focus-visible, .terra-filter-toggle:focus-visible, .terra-filter-apply button:focus-visible { outline: 2px solid #364763; outline-offset: 3px; }
@media (max-width: 960px) {
 .catalog-filters--design { padding: 20px 0; margin-bottom: 30px; }
 .terra-filter-row { flex-wrap: wrap; }
 .terra-filter-toggle { width: calc(50% - 5px); justify-content: center; }
 .terra-filter-sort { order: 1; width: calc(50% - 5px); }
 .terra-filter-sort select { width: 100%; }
 .terra-filter-options { order: 2; flex: 0 0 100%; }
 .catalog-filters--design:not(.is-expanded) .terra-filter-options { display: none; }
 .terra-filter-panel { max-width: calc(100vw - 30px); }
}
.terra-card__btn--cart i.fa-shopping-cart { display: block; width: 16px; height: 16px; background: url('../images/catalog/cart.svg') center / contain no-repeat; }
.terra-card__btn--cart:not(.loading):not(.added) i.fa-shopping-cart:before { content: none; }
.woocommerce ul.products li.product.terra-card .terra-card__btn.added i,
.woocommerce ul.products li.product.terra-card .terra-card__btn.loading i { background: none; }
.catalog-page + #full-division-box { background-size: cover; background-position: center; }
.woocommerce ul.products li.product.terra-card .terra-card__btn img { width: 16px; height: 16px; margin: 0; display: block; }
.woocommerce ul.products li.product.terra-card .terra-card__btn--cart:not(.loading):not(.added) i:before { content: none !important; }
@media (min-width: 1200px) {
 body:has(.catalog-page) .header .top-row { padding: 12px 0; }
 body:has(.catalog-page) .header .top-row .row { flex-wrap: nowrap; align-items: center; }
 body:has(.catalog-page) .header .top-row .col:first-child { flex: 1; min-width: 0; }
 body:has(.catalog-page) .header .top-row .col:first-child ul { gap: 4px 16px; margin: 0; }
 body:has(.catalog-page) .header .top-row .col:first-child li { margin: 0; line-height: 25px; }
 body:has(.catalog-page) .header .top-row .col-tel { flex: 0 0 380px; width: 380px; align-items: center; justify-content: space-between; }
 body:has(.catalog-page) .header .top-row .col-tel > ul { flex-direction: column; gap: 8px; margin: 0; }
 body:has(.catalog-page) .header .top-row .col-tel > ul li { margin: 0; white-space: nowrap; }
 body:has(.catalog-page) .header-dropdown { width: 72px; }
}

/* Responsive catalog, including the 390px Figma layout. */
.catalog-types__dots { display: none; }
.terra-card__title, .terra-card__attrs { overflow-wrap: anywhere; }
@media (min-width: 961px) and (max-width: 1199px) {
 body:has(.catalog-page) .header nav .menu > li { margin-left: 16px; }
 body:has(.catalog-page) .header nav .menu > li > a,
 body:has(.catalog-page) .header nav .menu > li > span { font-size: 12px; }
 body:has(.catalog-page) .header .row .col-tel { width: 100%; }
 .terra-filter-row { flex-wrap: wrap; }
 .terra-filter-options { order: 2; flex-basis: 100%; }
}
@media (max-width: 960px) {
 body:has(.catalog-page) .header .top-row,
 body:has(.catalog-page) .header.fixed .top-row { display: block; padding: 4px 0; }
 body:has(.catalog-page) .header .row .col-tel { padding: 0; }
 body:has(.catalog-page) .header .col-tel > ul { margin: 0; flex-wrap: nowrap; justify-content: center; }
 body:has(.catalog-page) .header .col-tel > ul li { white-space: nowrap; font-size: 12px; line-height: 25px; margin: 0 5px; }
 body:has(.catalog-page) .header > .holder-content { padding: 0 24px; }
 body:has(.catalog-page) .header .row-logo { height: 64px; position: relative; }
 body:has(.catalog-page) .header .logo { position: absolute; left: 50%; transform: translateX(-50%); width: 76px; height: 48px; margin: 0; }
 body:has(.catalog-page) .header .logo img { width: 76px; height: 48px; object-fit: contain; }
 body:has(.catalog-page) .header nav { width: 100%; align-items: center; justify-content: space-between; }
 body:has(.catalog-page) .header nav > ul:not(.menu):not(.nav-icon) { display: none; }
 body:has(.catalog-page) .header .mob-btn { width: 24px; height: 24px; line-height: 24px; background: transparent; color: #2e383e; }
 body:has(.catalog-page) .header .mob-btn:before { color: #2e383e; }
 body:has(.catalog-page) .header .nav-icon { margin: 0 40px 0 auto; padding: 0; }
 body:has(.catalog-page) .header .nav-icon > li { margin: 0; }
 body:has(.catalog-page) .header .nav-icon > li:not(:last-child) { display: none; }
 body:has(.catalog-page) .header-search-btn { display: block; width: 24px; height: 24px; background: url('../images/catalog/search.svg') center / contain no-repeat; }
 body:has(.catalog-page) .header-search-btn i { display: none; }
 body:has(.catalog-page) .header .header-cart { position: absolute; right: 0; top: 20px; margin: 0; width: 24px; height: 24px; background: url('../images/catalog/header-cart.svg') center / contain no-repeat; }
 body:has(.catalog-page) .header nav .menu { top: 64px; left: -24px; width: calc(100% + 48px); max-height: calc(100dvh - 97px); padding: 24px; box-sizing: border-box; }
 body:has(.catalog-page) .header .menu .header-dropdown { display: block; margin: 12px 0; }
 body:has(.catalog-page) .header .holder-header-search { width: calc(100vw - 48px); max-width: 400px; right: -40px; box-sizing: border-box; }
 body:has(.catalog-page) .header .holder-header-search:before { right: 44px; }
 .terra-filter-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
 .terra-filter { min-width: 0; }
 .terra-filter summary { white-space: normal; justify-content: space-between; height: auto; min-height: 42px; }
 .terra-filter summary:after { flex: 0 0 12px; }
 .terra-filter-panel { position: static; width: 100%; margin-top: 8px; }
 .terra-filter:has([open]) { min-width: 0; }
 .terra-filter[open] { grid-column: 1 / -1; }
 .terra-filter-row { gap: 15px; }
 .terra-filter-toggle, .terra-filter-sort { width: calc(50% - 7.5px); }
 .terra-filter-toggle, .terra-filter-sort select { height: 38px; }
}
@media (max-width: 768px) {
 .catalog-page .holder-content, .catalog-head .holder-content { padding-left: 20px; padding-right: 20px; }
 .catalog-head { padding: 8px 0; }
 .catalog-head__title { font-size: 30px; line-height: 30px; }
 .catalog-head__subtitle { margin-top: 5px; }
 .catalog-types { margin: 30px 0; }
 .catalog-types__title { margin-bottom: 15px; line-height: 1.2; }
 .catalog-types__title:after { flex: 1; }
 .catalog-types__track { grid-auto-columns: 200px; gap: 16px; margin: 0 -20px 0 0; padding: 0 20px 0 0; scroll-padding: 0; }
 .catalog-type__image { height: 180px; aspect-ratio: auto; }
 .catalog-type__footer { padding: 12px 16px; font-size: 15px; gap: 8px; min-height: 48px; box-sizing: border-box; }
 .catalog-types__dots { display: flex; justify-content: center; gap: 0; margin-top: 3px; }
 .catalog-types__dot { width: 32px; height: 32px; padding: 12px; border: 0; background: transparent; cursor: pointer; }
 .catalog-types__dot:before { content: ''; display: block; width: 8px; height: 8px; border-radius: 50%; background: #d9d9d9; }
 .catalog-types__dot[aria-current="true"]:before { background: #f4d03d; }
 .catalog-types__more { display: none; }
 .catalog-filters--design { margin-bottom: 30px; background: #f4f4f4; }
 .woocommerce ul.products:has(> li.terra-card), .woocommerce ul.products[class*="columns-"]:has(> li.terra-card) { gap: 20px; }
 .terra-card__media { height: clamp(180px, 42vw, 260px); aspect-ratio: auto; }
 .terra-card__body { padding: 14px 12px; }
 .woocommerce ul.products li.product.terra-card .terra-card__title { font-size: 16px; line-height: 1.2; }
 .terra-card__attrs { font-size: 14px; line-height: 1.2; margin-bottom: 16px; }
 .terra-card__footer { gap: 6px; }
 .terra-card__actions { gap: 8px; }
 .woocommerce ul.products li.product.terra-card .terra-card__btn { width: 24px; height: 24px; border-width: 1.5px; }
 .woocommerce ul.products li.product.terra-card .price { font-size: 16px; white-space: normal; }
 .woocommerce ul.products li.product.terra-card .price .amount { white-space: nowrap; }
 body:has(.catalog-page) .footer .holder-content { padding-left: 20px; padding-right: 20px; }
}
@media (max-width: 960px) {
 body:has(.catalog-page) .header .nav-icon.mob-position { display: none; }
}
@media (max-width: 768px) {
 .catalog-type__image { flex: 0 0 180px; }
 .catalog-type__footer { flex: 1; }
}
/* A stable header height prevents content jumps when resizing a scrolled catalog. */
body:has(.catalog-page) .header.fixed .top-row { display: block; }
@media (max-width: 960px) {
 body:has(.catalog-page) .header .catalog-mobile-wishlist a:after { content: attr(aria-label); margin-left: 8px; }
}
@media (prefers-reduced-motion: reduce) {
 .catalog-type img, .terra-card__media img { transition: none !important; }
}
@media (max-width: 960px) {
 body:has(.catalog-page) .header nav .menu > li { padding: 12px 0; margin: 0; }
 body:has(.catalog-page) .header nav .menu li.has_child:before { top: 12px; }
 body:has(.catalog-page) .header .menu .header-dropdown ul { display: block; }
 body:has(.catalog-page) .header .menu .header-dropdown li { padding: 0; margin: 0; }
 body:has(.catalog-page) .header .menu .header-dropdown a { padding: 8px 30px 8px 12px; }
}

/* Extra category rows are revealed in place; keep the hidden attribute authoritative. */
.catalog-types [hidden] { display: none !important; }
button.catalog-types__all { border: 0; font-family: inherit; }
button.catalog-types__all:not(:disabled) { cursor: pointer; }

/* BR-1: interactive states and responsive catalog controls. */
.catalog-type__footer { flex: 1; min-height: 48px; box-sizing: border-box; }
.catalog-type:hover .catalog-type__arrow { background: transparent; }
.catalog-type:hover .catalog-type__arrow i { filter: brightness(0) saturate(100%) invert(44%) sepia(99%) saturate(2709%) hue-rotate(359deg) brightness(103%) contrast(107%); }
.woocommerce ul.products[class*="columns-"] li.product.terra-card,
.woocommerce-page ul.products[class*="columns-"] li.product.terra-card,
.woocommerce ul.products li.product.terra-card:hover { box-shadow: none; }
.terra-card__actions { margin-left: auto; }
.terra-filter-toggle { color: #2d3134; }
.terra-filter-toggle:hover { background: #faeda6; }
.terra-filter-toggle[aria-expanded="true"] { background: #f4d03d; }
.terra-filter-toggle:active { background: #f4d03d; border-color: #d1b22e; }
.terra-filter-toggle:disabled { opacity: .6; color: #999; border-color: #999; cursor: default; }
.terra-filter { flex: 0 0 auto; max-width: 100%; }
.terra-filter[open] { z-index: 30; }
.catalog-filters--design.is-measuring .terra-filter { display: block; }
.catalog-filters--design.is-measuring .terra-filter-options { flex-wrap: nowrap; }
.terra-filter.has-selection summary { padding-right: 37px; background: #fefbf0; }
.terra-filter.has-selection summary:after { display: none; }
.terra-filter-clear { position: absolute; right: 7px; top: 5px; width: 26px; height: 26px; padding: 0; border: 0; background: url('../images/catalog/filter-clear.svg') center / 10px 10px no-repeat; cursor: pointer; }
.terra-filter-clear:focus-visible { outline: 2px solid #364763; border-radius: 4px; }
.terra-filter-choice input[type="checkbox"] { appearance: none; -webkit-appearance: none; border: 1px solid #cdcdcd; border-radius: 4px; background: #fff; box-shadow: none; }
.terra-filter-choice input[type="checkbox"]:checked { border-color: #f4d03d; background: #f4d03d url('../images/catalog/check-circle.svg') center / 10px 10px no-repeat; }
.terra-filter-choice input[type="checkbox"]:focus-visible { outline: 2px solid #364763; outline-offset: 2px; }
.terra-filter-choice:has(input:checked) { font-weight: 500; }
.terra-filter-choices--colors .terra-filter-choice { background: transparent; }
.terra-swatch { position: relative; }
.terra-filter-choice input:checked + .terra-swatch:after { content: ''; position: absolute; inset: 0; background: url('../images/catalog/swatch-check.svg') center / 12px 10px no-repeat; }
.terra-range-values label { background: #fff; }
.terra-filter-panel .terra-range-values input { width: 100%; min-width: 0; height: 20px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; appearance: textfield; color: #364763; font: 500 13px/20px Roboto,sans-serif; text-align: center; }
.terra-range-values input::-webkit-inner-spin-button,
.terra-range-values input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.terra-range-values label:focus-within { border-color: #f4d03d; }
.terra-range-values input:focus { outline: none; }
.woocommerce ul.products li.product.terra-card .terra-card__btn--quick:hover { background: rgba(252, 238, 186, .3); }
.woocommerce ul.products li.product.terra-card .terra-card__btn--cart:hover { background: #ffe0cc; }
.woocommerce ul.products li.product.terra-card .terra-card__btn--quick:active,
.woocommerce ul.products li.product.terra-card .terra-card__btn--quick.added { background: #f4d03d; }
.woocommerce ul.products li.product.terra-card .terra-card__btn--cart:active,
.woocommerce ul.products li.product.terra-card .terra-card__btn--cart.added { background: #f60; color: #fff; }
.terra-card__btn:active i { filter: brightness(0) invert(1); }
.terra-card__wishlist .yith-wcwl-add-to-wishlist a:hover { background: #ededed; }
.terra-card__wishlist a:hover:before { background: url('../images/catalog/heart-hover.svg') center / contain no-repeat; }
.terra-card__wishlist .yith-wcwl-add-to-wishlist a.delete_item:before { content: ''; background: url('../images/catalog/heart-active.svg') center / contain no-repeat; }
.terra-card__wishlist .yith-wcwl-add-to-wishlist a.delete_item:hover { background: #fdeeee; }
.terra-card__wishlist .yith-wcwl-add-to-wishlist a.delete_item:hover:before { background-image: url('../images/catalog/heart-active-hover.svg'); }
.terra-card__wishlist a:focus-visible { outline: 2px solid #364763; outline-offset: 2px; }
.terra-card__wishlist a[aria-disabled="true"] { opacity: .5; pointer-events: none; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 4px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { float: none; margin: 0; border: 0; flex: 0 0 auto; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { color: #586065; box-sizing: border-box; }
body:has(.catalog-page) .backtop { z-index: 1000; isolation: isolate; }
body:has(.catalog-page) #yith-wcwl-popup-message { position: fixed; z-index: 10000; left: 50% !important; top: auto; bottom: 24px; transform: translateX(-50%); margin: 0 !important; width: max-content; max-width: calc(100vw - 40px); box-sizing: border-box; padding: 16px 20px; line-height: 1.5; text-align: center; border-radius: 8px; box-shadow: 0 4px 24px #0002; }
@media (max-width: 1199px) {
 .terra-filter-options { order: 2; flex: 0 0 100%; display: flex; flex-wrap: wrap; gap: 10px; }
 .terra-filter summary { height: 36px; min-height: 36px; white-space: nowrap; justify-content: flex-start; }
 .terra-filter[open] { grid-column: auto; }
 .terra-filter-panel { position: absolute; top: calc(100% + 10px); width: min(350px, calc(100vw - 40px)); max-width: calc(100vw - 40px); margin-top: 0; }
 .terra-filter-choices:not(.terra-filter-choices--colors) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .terra-filter-choice { padding: 8px 10px; gap: 10px; overflow-wrap: anywhere; align-items: flex-start; }
 .terra-filter-choices--colors { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .terra-filter-row { gap: 10px; flex-wrap: wrap; }
 .terra-filter-sort { order: 1; }
 .terra-filter-sort select { width: 100%; }
 .catalog-filters--design:not(.is-expanded) .terra-filter-options { display: none; }
 .terra-filter-toggle, .terra-filter-sort { width: calc(50% - 5px); }
 .terra-filter-toggle, .terra-filter-sort select { height: 36px; justify-content: center; text-align: center; }
}
@media (max-width: 768px) {
 .catalog-types__more { display: block; }
 .catalog-page .after-shop-recently-products { display: none; }
 .woocommerce nav.woocommerce-pagination ul { gap: 3px; }
 .woocommerce nav.woocommerce-pagination ul li a,
 .woocommerce nav.woocommerce-pagination ul li span { min-width: 26px; height: 28px; padding: 5px; font-size: 12px; line-height: 16px; }
}

.woocommerce ul.products li.product.terra-card .terra-card__btn--quick:active { border-color: #c9a214; }
.terra-card__btn--quick:active img, .terra-card__btn--quick.added img { content: url('../images/catalog/zap-active.svg'); }
.woocommerce ul.products li.product.terra-card .terra-card__btn:disabled,
.woocommerce ul.products li.product.terra-card .terra-card__btn[aria-disabled="true"] { opacity: .6; border-color: #cdcdcd; pointer-events: none; }
.terra-card__btn[aria-disabled="true"] img, .terra-card__btn[aria-disabled="true"] i { filter: grayscale(1); }
.catalog-page nav.woocommerce-pagination ul.page-numbers li { margin: 0; }
.catalog-page nav.woocommerce-pagination ul.page-numbers li a,
.catalog-page nav.woocommerce-pagination ul.page-numbers li span,
.catalog-page nav.woocommerce-pagination ul.page-numbers li a:hover,
.catalog-page nav.woocommerce-pagination ul.page-numbers li span:hover { color: #586065; }
@media (max-width: 768px) {
 .catalog-page nav.woocommerce-pagination ul.page-numbers li a,
 .catalog-page nav.woocommerce-pagination ul.page-numbers li span { width: 26px; min-width: 26px; height: 28px; padding: 5px; font-size: 12px; line-height: 16px; }
}

/* TEST_2: active page remains readable on the yellow background. */
.catalog-page nav.woocommerce-pagination ul.page-numbers li span.current,
.catalog-page nav.woocommerce-pagination ul.page-numbers li span.current:hover { color: #fff; }

/* TEST_2: full pagination from the reference on wide screens, compact list on mobile. */
.woocommerce nav.woocommerce-pagination ul.page-numbers--compact { display: none; }
@media (max-width: 768px) {
 .woocommerce nav.woocommerce-pagination ul.page-numbers--wide { display: none; }
 .woocommerce nav.woocommerce-pagination ul.page-numbers--compact { display: inline-flex; }
}

/* TEST_3: on tablet/mobile the panel is centred by CSS against the full-width options row,
   so it never renders at the trigger's edge first (that overflow caused the flicker). */
@media (max-width: 1199px) {
 .terra-filter-options { position: relative; }
 .terra-filter-options .terra-filter { position: static; }
 .terra-filter-options .terra-filter-panel { top: auto; left: 0 !important; right: 0; margin: 10px auto 0; }
}

/* TEST_5: the novelty page has no sorting — the filters button takes the whole row. */
@media (max-width: 1199px) {
 .terra-filter-row:not(:has(.terra-filter-sort)) .terra-filter-toggle { width: 100%; }
}
