:root{--si-brand-teal:#1C878C;--si-brand-teal-hover:#176F73;--si-brand-teal-tint:#E8F3F4;--si-brand-teal-border:#C6E1E2;--si-brand-teal-rgb:28,135,140}
/* Public /templates/ presentation. SureCart owns catalogue state and controls. */
.si-template-catalog-page {
	--si-catalog-ink: #111a33;
	--si-catalog-copy: #64717b;
	--si-catalog-teal: var(--si-brand-teal,#1C878C);
	--si-catalog-line: #e6ebea;
	background: #fff;
}
.si-template-catalog-page .site-content > .ast-container,
.si-template-catalog-page #primary {
	width: 100%; max-width: none; margin: 0; padding: 0;
}
.si-template-catalog-page .entry-header { display: none; }
.si-template-catalog-page .si-shop-hero,
.si-template-catalog-page .si-shop-catalog {
	box-sizing: border-box; width: 100%; max-width: 1320px; margin: 0 auto;
	font-family: Poppins, sans-serif; color: var(--si-catalog-ink);
}
.si-template-catalog-page .si-shop-hero { padding: 44px 32px 32px; text-align: center; }
.si-template-catalog-page .si-shop-hero__copy { padding-bottom: 28px; border-bottom: 1px solid var(--si-catalog-line); }
.si-template-catalog-page .si-shop-hero__eyebrow {
	color: var(--si-catalog-teal); font-size: 12px; font-weight: 700;
	letter-spacing: .13em; text-transform: uppercase; margin: 0 0 14px;
}
.si-template-catalog-page .si-shop-hero h1 {
	color: var(--si-catalog-ink); font-size: clamp(38px, 5vw, 62px);
	font-weight: 680; letter-spacing: -.045em; line-height: 1.02; margin: 0 auto; max-width: 100%;
}
.si-template-catalog-page .si-shop-hero__lead {
	color: var(--si-catalog-copy); font-size: 17px; line-height: 1.7;
	margin: 20px auto 0; max-width: 720px;
}
.si-template-catalog-page .si-shop-catalog { padding: 0 32px 84px; }
.si-template-catalog-page .si-shop-catalog .wp-block-surecart-product-list {
	--sc-color-primary-500: var(--si-catalog-teal);
	width: 100%; max-width: none; margin-inline: 0;
}
.si-template-catalog-page .wp-block-surecart-product-list-content { gap: 28px; align-items: flex-start; }
.si-template-catalog-page .wp-block-surecart-product-template-container { min-width: 0; flex: 1; }
.si-template-catalog-page .wp-block-surecart-product-template { gap: 24px; }
.si-template-catalog-page .sc-product-item {
	border: 1px solid var(--si-catalog-line); border-radius: 12px;
	background: #fff; overflow: hidden;
}
.si-template-catalog-page .sc-product-item-link { display: block; height: 100%; padding: 16px; text-decoration: none; }
.si-template-catalog-page .sc-product-item .wp-block-cover { border-radius: 8px; overflow: hidden; }
.si-template-catalog-page .wp-block-surecart-product-title {
	color: var(--si-catalog-ink); font-size: 17px; font-weight: 600; line-height: 1.4; margin-top: 16px;
}
.si-template-catalog-page .wp-block-surecart-product-list-price { color: var(--si-catalog-ink); font-weight: 600; }
.si-template-catalog-page .wp-block-surecart-product-list-search { max-width: 360px; }
.si-template-catalog-page .wp-block-surecart-product-list-search input {
	font-size: 16px; border-radius: 6px; min-height: 44px;
}
.si-template-catalog-page .si-shop-catalog :is(a, button, input):focus-visible {
	outline: 2px solid var(--si-catalog-teal); outline-offset: 3px;
}
@media (max-width: 921px) {
	.si-template-catalog-page .wp-block-surecart-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.si-template-catalog-page .si-shop-hero { padding: 30px 20px 24px; }
	.si-template-catalog-page .si-shop-hero h1 { font-size: 36px; line-height: 1.1; }
	.si-template-catalog-page .si-shop-hero__lead { font-size: 15px; }
	.si-template-catalog-page .si-shop-catalog { padding: 0 20px 48px; }
	.si-template-catalog-page .wp-block-surecart-product-template { grid-template-columns: minmax(0, 1fr); }
}

/* 1.0.95: "+ Add" quick-add button at the bottom-right of the card image, so it
   doesn't cover the image's headline. /templates/ product list only. */
.si-template-catalog-page .wp-block-surecart-product-list .sc-product-item .wp-block-cover.has-custom-content-position {
	align-items: flex-end !important;
	justify-content: flex-end !important;
	padding: 12px !important;
}
.si-template-catalog-page .wp-block-surecart-product-list .sc-product-item .wp-block-cover.has-custom-content-position > .wp-block-cover__inner-container {
	margin: 0 !important;
	width: auto !important;
}
.si-template-catalog-page .wp-block-surecart-product-list .sc-product-item .wp-block-cover__inner-container > .wp-block-group {
	justify-content: flex-end !important;
	gap: 6px;
}
.si-template-catalog-page .wp-block-surecart-product-list .sc-product-item .wp-block-surecart-product-quick-view-button {
	box-shadow: 0 1px 4px rgba(17, 26, 51, .18);
}

/* 1.0.124: same desktop width for guests as for members. Astra's
   .entry-content[data-ast-blocks-layout] > * (max-width: content width, 1920px here) has the
   same specificity as the 1320px rule above and wins when LiteSpeed's combined CSS loads
   before Astra's inline CSS (guests). The extra .entry-content wins in either order. Desktop only. */
@media (min-width: 922px) {
	.si-template-catalog-page .entry-content > .si-shop-hero,
	.si-template-catalog-page .entry-content > .si-shop-catalog {
		max-width: 1320px; margin-left: auto; margin-right: auto;
	}
}
