/* Main site — featured schools shortcode */
.ssm-featured-schools {
	text-align: center;
}

.ssm-featured-schools__title {
	margin: 0 0 2.5rem;
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
	line-height: 1.2;
}

.ssm-featured-schools__title-highlight {
	color: #8b1a1a;
}

.ssm-featured-schools__grid {
	display: grid;
	gap: 2rem 1.5rem;
	justify-content: center;
}

.ssm-featured-schools__grid--cols-1 {
	grid-template-columns: minmax(0, 220px);
}

.ssm-featured-schools__grid--cols-2 {
	grid-template-columns: repeat(2, minmax(0, 220px));
}

.ssm-featured-schools__grid--cols-3 {
	grid-template-columns: repeat(3, minmax(0, 220px));
}

.ssm-featured-schools__grid--cols-4 {
	grid-template-columns: repeat(4, minmax(0, 220px));
}

.ssm-featured-schools__grid--cols-5 {
	grid-template-columns: repeat(5, minmax(0, 220px));
}

.ssm-featured-schools__grid--cols-6 {
	grid-template-columns: repeat(6, minmax(0, 220px));
}

.ssm-featured-schools__grid--count-1,
.ssm-featured-schools__grid--count-2 {
	justify-content: center;
}

.ssm-featured-school__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.ssm-featured-school__logo-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 180px;
	height: 180px;
	margin: 0 auto;
	padding: 1.25rem;
	background: #fff;
	border: 1px solid #e9e2e2;
	border-radius: 90px;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
	overflow: hidden;
	isolation: isolate;
}

.ssm-featured-school__logo {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 50%;
	clip-path: circle(50% at 50% 50%);
	-webkit-clip-path: circle(50% at 50% 50%);
}

.ssm-featured-school__fallback {
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

@media (max-width: 767px) {

	.ssm-featured-schools__grid--cols-2,
	.ssm-featured-schools__grid--cols-3,
	.ssm-featured-schools__grid--cols-4,
	.ssm-featured-schools__grid--cols-5,
	.ssm-featured-schools__grid--cols-6 {
		grid-template-columns: repeat(2, minmax(0, 160px));
	}

	.ssm-featured-schools__grid--count-1 {
		grid-template-columns: minmax(0, 180px);
	}

	.ssm-featured-school__logo-wrap {
		width: 150px;
		height: 150px;
		border-radius: 75px;
	}
}

/* School subdomains — body.school-page */
body.school-page .ssm-school-title {
	color: #fff;
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
}

/*
 * The header title is an <h1> only on pages without their own H1; elsewhere
 * it is a <p>, styled here to match the theme's h1 so both look identical.
 */
body.school-page p.ssm-school-title {
	margin: 0 0 16px;
	font-size: 42px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -1.1px;
}

@media (max-width: 768px) {
	body.school-page .site p.ssm-school-title {
		font-size: 30px;
		letter-spacing: -0.01em;
	}
}

body.school-page .ssm-school-logo-link {
	display: inline-block;
	color: inherit;
	text-decoration: none;
}

body.school-page .ssm-school-logo-link:hover,
body.school-page .ssm-school-logo-link:focus {
	color: inherit;
	text-decoration: none;
}

body.school-page:not(.elementor-editor-active) .hide-if-empty:not(:has(.school_welcome_text, .school_blurb_text)) {
	display: none !important;
}

body.school-page .school-color-bg,
body.school-page .elementor-button {
	background-color: var(--ssm-school-primary) !important;
}

body.school-page .info-box,
body.school-page .info-box .elementor-motion-effects-layer,
body.school-page .info_box {
	background-color: var(--ssm-school-primary) !important;
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
}

body.school-page .school_welcome_text,
body.school-page .school_welcome_text * {
	color: #fff !important;
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
}

body.school-page .school_blurb_text,
body.school-page .school_blurb_text * {
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;

}

body.school-page .school-color-bg2,
body.school-page .elementor-button.school-color-bg2,
body.school-page .elementor-button-wrapper .elementor-button.school-color-bg2 {
	background-color: var(--ssm-school-secondary) !important;
}

body.school-page .school-color-border,
body.school-page .elementor-button.school-color-border,
body.school-page .elementor-button-wrapper .elementor-button.school-color-border {
	border-color: var(--ssm-school-primary) !important;
}

body.school-page .ssm-featured-products {
	display: grid;
	gap: 2rem;
	margin: 0;
}

body.school-page .ssm-featured-products--cols-1 {
	grid-template-columns: 1fr;
}

body.school-page .ssm-featured-products--cols-2 {
	grid-template-columns: repeat(2, 1fr);
}

body.school-page .ssm-featured-products--cols-3 {
	grid-template-columns: repeat(3, 1fr);
}

body.school-page .ssm-featured-products--cols-4 {
	grid-template-columns: repeat(4, 1fr);
}

body.school-page .ssm-featured-products--cols-5 {
	grid-template-columns: repeat(5, 1fr);
}

body.school-page .ssm-featured-products--cols-6 {
	grid-template-columns: repeat(6, 1fr);
}

body.school-page .ssm-featured-products--count-1 {
	grid-template-columns: minmax(0, 380px);
	justify-content: center;
}

body.school-page .ssm-featured-products--count-2 {
	grid-template-columns: repeat(2, minmax(0, 380px));
	justify-content: center;
}

body.school-page .ssm-featured-product__link {
	display: flex;
	flex-direction: column;
	align-items: center;
	height: 100%;
	text-align: center;
	gap: 1rem;
	color: inherit;
	text-decoration: none;
}

body.school-page .ssm-featured-product__image {
	display: block;
	width: 100%;
}

body.school-page .ssm-featured-product__img {
	display: block;
	width: 100%;
	height: auto;
}

body.school-page .ssm-featured-product__title {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

body.school-page .ssm-featured-product__link:hover .ssm-featured-product__title,
body.school-page .ssm-featured-product__link:focus-visible .ssm-featured-product__title {
	text-decoration: underline;
}

body.school-page .ssm-featured-product__title,
body.school-page .ssm-featured-product__button {
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
}

body.school-page .ssm-featured-product__button {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	color: #fff !important;
	text-decoration: none;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.04em;
	border-radius: 0;
}

body.school-page .button,
body.school-page input[type=submit],
body.school-page ul.products li.product .button,
body.school-page .commercekit-wishlist-table button,
body.school-page .woocommerce #respond input#submit.alt,
body.school-page .product .cart .single_add_to_cart_button,
body.school-page .widget_shopping_cart a.button.checkout,
body.school-page .main-navigation ul.menu li.menu-item-has-children.full-width>.sub-menu-wrapper li a.added_to_cart,
body.school-page .site div.wpforms-container-full .wpforms-form button[type=submit],
body.school-page ul.products li.product .added_to_cart,
body.school-page ul.wc-block-grid__products .wp-block-button__link,
body.school-page .woocommerce-cart p.return-to-shop a,
body.school-page .elementor-row .feature a,
body.school-page .image-feature figcaption span,
body.school-page .wp-element-button.wc-block-cart__submit-button,
body.school-page .wp-element-button.wc-block-components-button.wc-block-components-checkout-place-order-button {
	background-color: var(--ssm-school-primary) !important;
}

@media (max-width: 767px) {

	body.school-page .ssm-featured-products--cols-2,
	body.school-page .ssm-featured-products--cols-3,
	body.school-page .ssm-featured-products--cols-4,
	body.school-page .ssm-featured-products--cols-5,
	body.school-page .ssm-featured-products--cols-6 {
		grid-template-columns: 1fr;
	}

	body.school-page .ssm-featured-products--count-2 {
		grid-template-columns: minmax(0, 380px);
	}
}