/* Catalogue presentation, scoped independently from account and checkout forms. */
.gladys-catalog {
	color: var(--gladys-color-text, #111);
	font-family: var(--gladys-font-sans, Arial, sans-serif);
}
.gladys-catalog__title-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	border-bottom: 1px solid #111;
	padding-bottom: 20px;
}
.gladys-catalog__title-row h1 {
	font-size: var(--gladys-type-h1, clamp(40px, 3.1vw, 48px));
	font-weight: 700;
	line-height: .92;
	margin: 0;
}
.gladys-catalog a { color: inherit; }
.gladys-catalog__cart {
	display: inline-flex;
	align-items: center;
	gap: 20px;
	font-size: 20px;
	text-decoration: none;
	flex-shrink: 0;
}
.gladys-catalog__cart span {
	display: grid;
	place-items: center;
	min-width: 48px;
	padding-inline: 8px;
	box-sizing: border-box;
	height: 48px;
	border: 1px solid #111;
	background: #111;
	color: #fff;
	font-size: 20px;
}
.gladys-catalog__cart:hover span { background: #fff; color: #111; }
.gladys-catalog__intro {
	padding: clamp(26px, 3vw, 44px) 0;
	font-size: clamp(24px, 2.2vw, 34px);
	line-height: 1.18;
}
.gladys-catalog__intro > p { max-width: none; margin: 0; }
.gladys-catalog__intro .page-description,
.gladys-catalog__intro .term-description { font-size: 20px; margin-top: 20px; }
.gladys-catalog__filters { border-block: 1px solid #111; }
.gladys-catalog__filters summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 0;
	font-size: 26px;
	cursor: pointer;
	list-style: none;
}
.gladys-catalog__filters summary::-webkit-details-marker { display: none; }
.gladys-catalog__filters summary span { font-size: 34px; line-height: 1; }
.gladys-catalog__filters[open] summary span { transform: rotate(45deg); }
.gladys-catalog__filter-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 32px;
	padding: 8px 0 28px;
}
.gladys-catalog__filter-form label {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 20px;
	line-height: 1.2;
	min-width: 0;
}
.gladys-shop .gladys-catalog__filter-form :is(input, select) {
	font-family: inherit;
	font-size: 22px;
	border: 0;
	min-width: 0;
	min-height: 58px;
	padding: 14px 16px;
}
.gladys-catalog__search { grid-column: 1 / -1; }
.gladys-catalog__price-range { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.gladys-catalog__toggles { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; }
.gladys-catalog__toggles label { flex-direction: row; align-items: center; }
.gladys-shop .gladys-catalog__toggles input {
	appearance: auto;
	accent-color: #111;
	width: 22px;
	height: 22px;
	min-height: 0;
	margin: 0;
	padding: 0;
}
.gladys-catalog__filter-actions { grid-column: 1 / -1; display: flex; align-items: center; gap: 26px; }
.gladys-catalog__filter-actions a { font-size: 18px; text-underline-offset: 4px; }
.gladys-catalog__active { display: flex; flex-wrap: wrap; gap: 10px; padding: 22px 0 0; }
.gladys-catalog__active a {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	padding: 8px 12px;
	border: 1px solid #111;
	font-size: 17px;
	text-decoration: none;
}
.gladys-catalog__active a:hover { background: #111; color: #fff; }
.gladys-catalog__results { padding-top: 28px; }
.gladys-shop .gladys-catalog .woocommerce-result-count {
	float: none;
	font-size: 18px;
	line-height: 1.4;
	margin: 0 0 28px;
}
.gladys-shop .woocommerce .gladys-catalog ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 48px 28px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.gladys-shop .woocommerce .gladys-catalog ul.products::before,
.gladys-shop .woocommerce .gladys-catalog ul.products::after { content: none; }
.gladys-shop .woocommerce .gladys-catalog ul.products li.product {
	display: flex;
	flex-direction: column;
	float: none;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0 0 24px;
	border-bottom: 1px solid #111;
}
.gladys-catalog .woocommerce-loop-product__link { display: block; text-decoration: none; }
.gladys-shop .woocommerce .gladys-catalog ul.products li.product a img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
	background: #fff;
	margin: 0 0 20px;
	transition: opacity 180ms ease;
}
.gladys-catalog .woocommerce-loop-product__link:hover img { opacity: .85; }
.gladys-shop .woocommerce .gladys-catalog ul.products li.product .woocommerce-loop-product__link:is(:hover, :focus-visible) .woocommerce-loop-product__title {
 color: var(--gladys-color-teal, #50b8bf);
}

.gladys-catalog__product-category {
	display: block;
	margin-bottom: 10px;
	font-size: 17px;
	line-height: 1.2;
}
.gladys-shop .woocommerce .gladys-catalog ul.products li.product .woocommerce-loop-product__title {
	font-size: clamp(24px, 2vw, 32px);
	font-weight: 400;
	line-height: 1.08;
	margin: 0;
	padding: 0;
	overflow-wrap: anywhere;
}
.gladys-shop .woocommerce .gladys-catalog ul.products li.product .price {
	display: block;
	font-size: 22px;
	line-height: 1.25;
	margin: 14px 0 20px;
	color: #111;
}
.gladys-catalog .price ins { text-decoration: none; font-weight: 400; }
.gladys-catalog .price del { margin-right: 8px; }
.gladys-shop .woocommerce .gladys-catalog .onsale {
	background: #111;
	color: #fff;
	border-radius: 0;
	font: 400 16px/1.2 var(--gladys-font-sans, Arial, sans-serif);
	min-width: 0;
	min-height: 0;
	padding: 9px 12px;
	top: 12px;
	right: 12px;
	left: auto;
	margin: 0;
}
.gladys-catalog__availability { display: block; font-size: 17px; margin: 0 0 18px; }
.gladys-shop .woocommerce .gladys-catalog .button {
	background: #111;
	border: 1px solid #111;
	border-radius: 0;
	color: #fff;
	font: 400 18px/1.2 var(--gladys-font-sans, Arial, sans-serif);
	padding: 14px 18px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	min-height: 50px;
	margin: auto 0 0;
}
/* Override Woo's more specific product-button margin so each row shares a baseline. */
.gladys-shop .woocommerce .gladys-catalog ul.products li.product > .button {
 margin-top: auto;
}
.gladys-shop .woocommerce .gladys-catalog .button:hover,
.gladys-shop .woocommerce .gladys-catalog .button:focus-visible { background: #fff; color: #111; }
.gladys-catalog .added_to_cart { font-size: 18px; margin-top: 12px; }
.gladys-catalog .star-rating { margin-top: 12px; font-size: 15px; color: #111; }
.gladys-shop .gladys-catalog .woocommerce-pagination { margin-top: 48px; }
.gladys-shop .gladys-catalog .woocommerce-pagination ul { display: inline-flex; flex-wrap: wrap; gap: 8px; border: 0; }
.gladys-shop .gladys-catalog .woocommerce-pagination ul li { border: 0; }
.gladys-shop .gladys-catalog .woocommerce-pagination ul li :is(a, span) {
	display: grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	padding: 10px;
	font-size: 20px;
	border: 1px solid #111;
	color: #111;
	background: transparent;
}
.gladys-shop .gladys-catalog .woocommerce-pagination ul li :is(.current, a:hover) { background: #111; color: #fff; }
.gladys-catalog__empty { font-size: 24px; line-height: 1.3; padding-block: 28px; }
.gladys-catalog :is(a, button, input, select, summary):focus-visible { outline: 2px solid #111; outline-offset: 4px; }
@media (max-width: 1000px) {
	.gladys-shop .woocommerce .gladys-catalog ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.gladys-catalog__title-row { gap: 16px; padding-bottom: 20px; }
	.gladys-catalog__cart { gap: 10px; font-size: 16px; }
	.gladys-catalog__cart span { min-width: 40px; height: 40px; }
	.gladys-catalog__filter-form { grid-template-columns: minmax(0, 1fr); gap: 22px; }
	.gladys-catalog__filter-actions { flex-wrap: wrap; gap: 18px; }
	.gladys-shop .woocommerce .gladys-catalog ul.products { grid-template-columns: minmax(0, 1fr); gap: 36px; }
}
@media (prefers-reduced-motion: reduce) {
	.gladys-shop .woocommerce .gladys-catalog ul.products li.product a img { transition: none; }
}

/* Match the progressive content-grid sizing. */
.gladys-shop .woocommerce .gladys-catalog ul.products {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, max(260px, calc((100% - (3 - 1) * 28px) / 3))), 1fr));
}
