/* Native CRM module layouts with the same storefront theme variables. */
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page){--cnvs-themecolor:var(--sf-primary);--bs-link-color:var(--sf-primary);--bs-link-hover-color:var(--sf-primary-hover);--cnc-location-primary:var(--sf-primary);--cnc-location-ink:var(--sf-text);--cnc-location-muted:var(--sf-muted);--cnc-location-surface:var(--sf-surface)}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #slider.subpage-hero{padding:64px 0;min-height:0;background:var(--sf-primary-soft-bg);color:var(--sf-text);border-bottom:1px solid var(--sf-border)}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #slider.subpage-hero :is(h1,p){color:var(--sf-text)!important;max-width:900px;margin-inline:auto}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #slider.subpage-hero h1{font-size:clamp(2.2rem,4.2vw,3.5rem);font-family:var(--sf-primary-font);font-weight:600!important}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #slider.subpage-hero p{font-size:1rem;color:var(--sf-muted)!important}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #content{background:var(--sf-page-bg);color:var(--sf-text)}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #content .content-wrap{padding-top:48px}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #content :is(.btn,.form-control,.form-select,.input-group-text){font-family:var(--sf-body-font);border-radius:var(--sf-control-radius)}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #content :is(.button,.bg-color){background:var(--sf-primary);color:var(--sf-primary-contrast);border:1px solid var(--sf-primary);border-radius:var(--sf-control-radius);clip-path:none;letter-spacing:0;text-transform:none;font:600 .95rem/1.5 var(--sf-body-font);padding:12px 20px;box-shadow:0 .35rem .9rem var(--sf-primary-shadow)}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #content .button:hover{background:var(--sf-primary-hover);color:var(--sf-primary-contrast)}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #content .bg-color{background-color:var(--sf-primary)!important;color:var(--sf-primary-contrast)!important}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #content .button.bg-color:hover{background-color:var(--sf-primary-hover)!important}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #content .color{color:var(--sf-primary)!important}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #content .border-color{border-color:var(--sf-primary)!important}
body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #content .button.button-border{background:transparent!important;color:var(--sf-primary)!important;border-color:var(--sf-primary)!important;box-shadow:none}
body.cnc-site .cnc-content-cta{background:var(--sf-primary-soft-bg);padding:64px 0;color:var(--sf-text)}
body.cnc-site .cnc-content-cta p{color:var(--sf-muted)}

/* Article search, cards, metadata and detail gallery. */
/* The CNC shell does not use the legacy Canvas reveal script. Keep native
   blog content (including authenticated previews) readable on first paint
   and when JavaScript is unavailable. Other installations retain their effects. */
body.cnc-site.mtm-blogs-public-page [data-animate]:not(.animated) {
	opacity: 1;
}

body.cnc-site.mtm-blogs-public-page .blog-post-title .alert-info {
	background: var(--sf-primary-soft-bg);
	border-color: var(--sf-primary-soft-border);
	border-radius: var(--sf-control-radius);
	color: var(--sf-text);
}

body.cnc-site.mtm-blogs-public-page .blog-post-title .alert-info .btn {
	/* Match the filled storefront action despite the core outline-button class. */
	background-color: var(--sf-primary) !important;
	border-color: var(--sf-primary) !important;
	color: var(--sf-primary-contrast) !important;
	font-family: var(--sf-body-font);
}

body.cnc-site.mtm-blogs-public-page .blog-post-title .alert-info .btn:hover {
	background-color: var(--sf-primary-hover) !important;
	border-color: var(--sf-primary-hover) !important;
}

body.cnc-site.mtm-blogs-public-page .swiper-parent {
	--swiper-bg-position: center center;
}

body.cnc-site.mtm-blogs-public-page .swiper-parent .swiper-slide {
	position: relative;
}

body.cnc-site.mtm-blogs-public-page .swiper-parent .swiper-slide::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(12,18,22,0.19) 0%, rgba(12,18,22,0.20) 55%, rgba(12,18,22,0.60) 100%);
	z-index: 1;
	pointer-events: none;
}

body.cnc-site.mtm-blogs-public-page .swiper-parent .swiper-slide-bg {
	z-index: 0;
	background-position: var(--swiper-bg-position) !important;
}

body.cnc-site.mtm-blogs-public-page .swiper-parent .swiper-slide .container {
	position: relative;
	z-index: 2;
}

body.cnc-site.mtm-blogs-public-page #slider.slider-parallax,
body.cnc-site.mtm-blogs-public-page #slider.slider-parallax .slider-inner {
	transform: none !important;
}

/* This shell has no legacy parallax controller. Keep the gallery in its own
   section instead of fixing its image over the article and footer on scroll. */
body.cnc-site.mtm-blogs-public-page #slider.slider-parallax .slider-inner {
	position: relative;
}

body.cnc-site.mtm-blogs-public-page #slider.slider-parallax .swiper-slide-bg {
	top: 0 !important;
	background-attachment: scroll !important;
	transform: none !important;
}

body.cnc-site.mtm-blogs-public-page #slider.slider-parallax .slider-caption,
body.cnc-site.mtm-blogs-public-page #slider.slider-parallax .vertical-middle,
body.cnc-site.mtm-blogs-public-page #slider.slider-parallax .slider-video {
	transform: none !important;
}

body.cnc-site.mtm-blogs-public-page .blog-card-hover,
body.cnc-site.mtm-blogs-public-page .blog-sidebar-card,
body.cnc-site.mtm-blogs-public-page .blog-empty-card,
body.cnc-site.mtm-blogs-public-page .about-author-section {
	border-radius: var(--sf-card-radius,16px) !important;
	overflow: hidden;
}

body.cnc-site.mtm-blogs-public-page .blog-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.4rem 0.8rem;
}

body.cnc-site.mtm-blogs-public-page .blog-tags-label {
	font-size: 1.05em;
	font-weight: 600;
	margin-right: 8px;
	color: #2a3136;
}

body.cnc-site.mtm-blogs-public-page .blog-tag-pill {
	display: inline-block;
	padding: 1px 12px;
	border-radius: 30px;
	font-size: 0.97em;
	font-weight: 500;
	margin-bottom: 2px;
	border: 1px solid rgba(0,0,0,.07);
	box-shadow: 0 1px 3px rgba(0,0,0,.03);
	white-space: nowrap;
	text-decoration: none;
}

body.cnc-site.mtm-blogs-public-page .blog-tag-pill:hover {
	text-decoration: none;
	opacity: 0.92;
}

body.cnc-site.mtm-blogs-public-page .sidebar-tags {
	gap: 0.35rem;
}

body.cnc-site.mtm-blogs-public-page .sidebar-tag-pill {
	display: inline-flex;
	align-items: center;
	padding: 2px 8px;
	font-size: 0.78rem;
	line-height: 1.15;
	margin-bottom: 0;
	max-width: 100%;
}

body.cnc-site.mtm-blogs-public-page .sidebar-tag-count {
	margin-left: 4px;
	font-size: 0.76em;
	line-height: 1;
	opacity: 0.9;
	flex-shrink: 0;
}

body.cnc-site.mtm-blogs-public-page .blog-card-hover {
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

body.cnc-site.mtm-blogs-public-page .blog-card-hover:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(0,0,0,0.10) !important;
}

body.cnc-site.mtm-blogs-public-page .blog-card-media {
	position: relative;
	width: 100%;
	height: 240px !important;
	overflow: hidden;
}

body.cnc-site.mtm-blogs-public-page .blog-card-thumb {
	width: 100%;
	height: 100% !important;
	display: block;
	object-fit: cover !important;
	object-position: var(--blog-thumb-position, center center) !important;
	border-radius: var(--sf-card-radius,16px) !important;
}

body.cnc-site.mtm-blogs-public-page .blog-card-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

body.cnc-site.mtm-blogs-public-page .blog-card-excerpt {
	position: relative;
	max-height: 5.6em;
	overflow: hidden;
}

body.cnc-site.mtm-blogs-public-page .blog-card-excerpt::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2.2em;
	background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
}

body.cnc-site.mtm-blogs-public-page .blog-sidebar-thumb {
	width: 56px;
	height: 56px;
	border-radius: 0;
	object-fit: cover;
	object-position: var(--blog-thumb-position, center center);
	background: #222;
	flex: 0 0 auto;
}

body.cnc-site.mtm-blogs-public-page .sf-blog-sort-controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 0.6rem;
	width: 100%;
	min-width: 0;
}

body.cnc-site.mtm-blogs-public-page .sf-blog-sort-controls .sf-sort-form {
	flex: 1 1 220px;
	max-width: 280px;
}

body.cnc-site.mtm-blogs-public-page .blog-meta {
	font-size: 0.98em;
	color: #888;
	margin-bottom: 8px;
}

body.cnc-site.mtm-blogs-public-page .author-badge {
	background: #F8F9FA;
	border-radius: 50px;
	padding: 0.2em 1.2em;
	color: #111;
	font-size: 0.97em;
	font-weight: 500;
	display: inline-block;
}

body.cnc-site.mtm-blogs-public-page .about-author-section {
	background: #fafbfc;
	padding: 1.6em 1.7em 1.3em 1.7em;
	margin-bottom: 1.7em;
	box-shadow: 0 1px 4px rgba(0,0,0,0.07);
	min-width: 230px;
}

body.cnc-site.mtm-blogs-public-page .author-alias {
	font-size: 1.17em;
	font-weight: 600;
	color: #252d36;
	letter-spacing: 0.01em;
}

body.cnc-site.mtm-blogs-public-page .author-bio {
	margin: 8px 0 12px 0;
	color: #62676b;
	font-size: 1.02em;
}

body.cnc-site.mtm-blogs-public-page .author-social-icons a {
	margin-right: 8px;
	color: #585b63;
	font-size: 1.22em;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	transition: color 0.18s;
}

body.cnc-site.mtm-blogs-public-page .author-social-icons a:hover {
	color: #3d6bba;
}

body.cnc-site.mtm-blogs-public-page .blog-content a:not(.btn):not(.nav-link),
body.cnc-site.mtm-blogs-public-page .post-content a:not(.btn):not(.nav-link),
body.cnc-site.mtm-blogs-public-page .entry-content a:not(.btn):not(.nav-link) {
	color: var(--bs-link-color) !important;
	text-decoration: underline;
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

body.cnc-site.mtm-blogs-public-page .blog-content a:not(.btn):not(.nav-link):hover,
body.cnc-site.mtm-blogs-public-page .post-content a:not(.btn):not(.nav-link):hover,
body.cnc-site.mtm-blogs-public-page .entry-content a:not(.btn):not(.nav-link):hover {
	color: var(--bs-link-hover-color) !important;
	text-decoration-thickness: 2px;
}

@media (min-width: 992px) {
	body.cnc-site.mtm-blogs-public-page .blog-card-hover {
		height: 240px !important;
		min-height: 240px !important;
		max-height: 240px !important;
	}

	body.cnc-site.mtm-blogs-public-page .blog-card-hover .row.g-0,
	body.cnc-site.mtm-blogs-public-page .blog-card-hover .row.g-0 > [class*="col-"] {
		height: 100%;
	}

	body.cnc-site.mtm-blogs-public-page .blog-card-media {
		height: 100% !important;
		min-height: 0 !important;
	}
}

@media (max-width: 991.98px) {
	body.cnc-site.mtm-blogs-public-page .row.align-items-stretch > .col-md-8,
	body.cnc-site.mtm-blogs-public-page .row.align-items-stretch > .col-md-4 {
		max-width: 100%;
		flex: 0 0 100%;
	}

	body.cnc-site.mtm-blogs-public-page .about-author-section {
		margin-top: 2.2rem;
	}
}

@media (max-width: 575.98px) {
	body.cnc-site.mtm-blogs-public-page .sidebar-tags {
		gap: 0.28rem;
	}

	body.cnc-site.mtm-blogs-public-page .sidebar-tag-pill {
		padding: 2px 7px;
		font-size: 0.74rem;
	}

body.cnc-site.mtm-blogs-public-page .sidebar-tag-count {
	margin-left: 3px;
}
}


/* Interactive locations map and list. */
body.cnc-site.public-locations-page .public-locations-section {
	padding: clamp(3rem, 6vw, 5rem) 0;
	background:
		linear-gradient(180deg, var(--sf-surface), var(--sf-surface)),
		linear-gradient(125deg, var(--sf-primary-soft-border), var(--sf-primary-soft-bg));
}

body.cnc-site.public-locations-page .public-locations-search {
	width: 100%;
}

body.cnc-site.public-locations-page .public-locations-categories {
	width: 100%;
	max-width: 280px;
	margin-left: auto;
}

body.cnc-site.public-locations-page .public-locations-layout {
	align-items: stretch;
}

body.cnc-site.public-locations-page .public-locations-map-card {
	position: relative;
	border: 1px solid var(--sf-primary-soft-border);
	border-radius: var(--sf-card-radius,16px) !important;
	background: var(--cnc-location-surface);
	box-shadow: 0 22px 55px var(--sf-primary-soft-border);
	overflow: hidden;
}

@media (min-width: 992px) {
	body.cnc-site.public-locations-page .public-locations-map-card {
		position: sticky;
		top: 96px;
	}
}

body.cnc-site.public-locations-page .public-locations-map {
	width: 100%;
	min-height: clamp(28rem, 48vw, 42rem);
	background: var(--sf-page-bg);
	overscroll-behavior: contain;
	touch-action: none;
}

body.cnc-site.public-locations-page .public-locations-map-hint {
	position: absolute;
	left: 50%;
	bottom: 1rem;
	z-index: 550;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	max-width: calc(100% - 2rem);
	padding: 0.55rem 0.8rem;
	border: 1px solid var(--sf-border);
	border-radius: var(--sf-control-radius);
	background: var(--sf-text);
	box-shadow: 0 14px 34px var(--sf-primary-soft-border);
	color: var(--sf-surface);
	font-size: 0.8rem;
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	transform: translateX(-50%);
	transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
	pointer-events: none;
}

body.cnc-site.public-locations-page .public-locations-map-hint.is-hidden {
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 0.35rem);
}

body.cnc-site.public-locations-page .public-locations-map-empty {
	position: absolute;
	inset: 1rem;
	z-index: 500;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	border: 1px dashed var(--sf-primary-soft-border);
	border-radius: var(--sf-control-radius);
	background: var(--sf-surface);
	color: var(--cnc-location-primary);
	text-align: center;
	pointer-events: none;
}

body.cnc-site.public-locations-page .public-locations-list-card {
	height: 100%;
	border: 1px solid var(--sf-primary-soft-border);
	border-radius: var(--sf-card-radius,16px) !important;
	background: var(--sf-surface);
	box-shadow: 0 18px 42px var(--sf-primary-soft-border);
	padding: clamp(1rem, 2vw, 1.35rem);
}

body.cnc-site.public-locations-page .public-locations-eyebrow,
body.cnc-site.public-locations-page .public-location-category {
	display: block;
	color: var(--cnc-location-primary);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: uppercase;
}

body.cnc-site.public-locations-page .public-locations-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	min-height: 2.25rem;
	border-radius: 999px;
	background: var(--cnc-location-primary);
	color: var(--sf-surface);
	font-weight: 700;
}

body.cnc-site.public-locations-page .public-locations-list {
	display: grid;
	gap: 1rem;
}

body.cnc-site.public-locations-page .public-location-card,
body.cnc-site.public-locations-page .public-location-empty {
	border: 1px solid var(--sf-primary-soft-border);
	border-radius: var(--sf-card-radius,16px) !important;
	background: var(--cnc-location-surface);
	box-shadow: 0 14px 34px var(--sf-primary-soft-border);
	overflow: hidden;
}

body.cnc-site.public-locations-page .public-location-card {
	padding: 1rem;
	transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

body.cnc-site.public-locations-page .public-location-card:hover {
	border-color: var(--sf-primary-soft-border);
	box-shadow: 0 18px 42px var(--sf-primary-soft-border);
	transform: translateY(-2px);
}

body.cnc-site.public-locations-page .public-location-card.is-active {
	border-color: var(--sf-primary-soft-border);
	box-shadow:
		0 18px 42px var(--sf-primary-soft-border),
		0 0 0 3px var(--sf-primary-soft-border);
}

body.cnc-site.public-locations-page .public-location-focus {
	display: flex;
	width: 100%;
	align-items: center;
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--cnc-location-ink);
	font: inherit;
	text-align: left;
}

body.cnc-site.public-locations-page .public-location-focus strong {
	display: block;
	color: var(--cnc-location-ink);
	font-size: 1.04rem;
	line-height: 1.25;
}

body.cnc-site.public-locations-page .public-location-pin {
	--location-pin-color: var(--cnc-location-primary);
	display: inline-flex;
	width: 2.65rem;
	height: 2.65rem;
	flex: 0 0 2.65rem;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--location-pin-color);
	color: var(--sf-surface);
	box-shadow:
		0 0 0 5px var(--sf-primary-soft-border),
		0 12px 22px var(--sf-primary-soft-border);
}

body.cnc-site.public-locations-page .public-location-card p {
	margin: 0.75rem 0 0;
	color: var(--cnc-location-muted);
	line-height: 1.55;
}

body.cnc-site.public-locations-page .public-location-line {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	margin-top: 0.62rem;
	color: var(--cnc-location-muted);
	font-size: 0.92rem;
	line-height: 1.45;
}

body.cnc-site.public-locations-page .public-location-line i {
	color: var(--cnc-location-primary);
	line-height: 1.45;
}

body.cnc-site.public-locations-page .public-location-hours {
	display: block;
}

body.cnc-site.public-locations-page .public-location-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin-top: 0.9rem;
}

body.cnc-site.public-locations-page .public-location-actions .btn {
	border-radius: var(--sf-control-radius) !important;
	font-weight: 700;
}

body.cnc-site.public-locations-page .public-location-empty {
	padding: 2rem 1.25rem;
	color: var(--cnc-location-primary);
}

body.cnc-site.public-locations-page .public-location-empty p {
	color: var(--cnc-location-muted);
}

body.cnc-site.public-locations-page .public-locations-marker {
	width: 36px !important;
	height: 44px !important;
	background: transparent;
	border: 0;
}

body.cnc-site.public-locations-page .public-locations-map-pin {
	--location-pin-color: var(--cnc-location-primary);
	position: relative;
	display: inline-flex;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--sf-surface);
	border-radius: 999px 999px 999px 0;
	background: var(--location-pin-color);
	color: var(--sf-surface);
	box-shadow: 0 12px 24px var(--sf-primary-soft-border);
	transform: rotate(-45deg);
}

body.cnc-site.public-locations-page .public-locations-map-pin i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1rem;
	transform: rotate(45deg);
}

body.cnc-site.public-locations-page .public-locations-popup strong,
body.cnc-site.public-locations-page .public-locations-popup span {
	display: block;
}

body.cnc-site.public-locations-page .public-locations-popup strong {
	color: var(--cnc-location-ink);
	font-size: 0.98rem;
}

body.cnc-site.public-locations-page .public-locations-popup span {
	color: var(--cnc-location-primary);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0;
	text-transform: uppercase;
}

body.cnc-site.public-locations-page .public-locations-popup p {
	margin: 0.45rem 0 0;
	color: var(--cnc-location-muted);
}

body.cnc-site.public-locations-page .public-locations-popup a {
	display: inline-block;
	margin-top: 0.55rem;
	padding: 0.42rem 0.68rem;
	border-radius: var(--sf-control-radius);
	background: var(--cnc-location-primary);
	color: var(--sf-surface);
	font-weight: 700;
	text-decoration: none;
}

body.cnc-site.public-locations-page .public-locations-popup-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: 0.55rem;
}

body.cnc-site.public-locations-page .public-locations-popup-actions a {
	margin-top: 0;
}

body.cnc-site.public-locations-page .leaflet-container {
	font-family: inherit;
	background: var(--sf-page-bg);
	cursor: grab;
	overscroll-behavior: contain;
	touch-action: none;
}

body.cnc-site.public-locations-page .leaflet-container:active {
	cursor: grabbing;
}

body.cnc-site.public-locations-page .leaflet-control-zoom,
body.cnc-site.public-locations-page .public-locations-map-control {
	border: 0 !important;
	border-radius: var(--sf-control-radius) !important;
	box-shadow: 0 12px 26px var(--sf-primary-soft-border) !important;
	overflow: hidden;
}

body.cnc-site.public-locations-page .leaflet-control-zoom a,
body.cnc-site.public-locations-page .public-locations-map-control {
	display: flex !important;
	width: 2.5rem !important;
	height: 2.5rem !important;
	align-items: center;
	justify-content: center;
	border: 0 !important;
	background: var(--sf-surface) !important;
	color: var(--cnc-location-primary) !important;
	font-weight: 700;
	line-height: 1 !important;
	transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

body.cnc-site.public-locations-page .leaflet-control-zoom a:hover,
body.cnc-site.public-locations-page .public-locations-map-control:hover,
body.cnc-site.public-locations-page .public-locations-map-control:focus {
	background: var(--cnc-location-primary) !important;
	color: var(--sf-surface) !important;
}

body.cnc-site.public-locations-page .public-locations-map-control {
	margin-bottom: 0.5rem !important;
	border-radius: 999px !important;
	cursor: pointer;
}

body.cnc-site.public-locations-page .public-locations-map-control.is-loading {
	animation: public-location-control-pulse 0.8s ease-in-out infinite alternate;
}

body.cnc-site.public-locations-page .public-locations-map-control.is-error {
	background: #8f2f2f !important;
	color: var(--sf-surface) !important;
}

body.cnc-site.public-locations-page .public-locations-user-marker {
	filter: drop-shadow(0 8px 14px var(--sf-primary-soft-border));
}

@keyframes public-location-control-pulse {
	from {
		transform: scale(1);
	}

	to {
		transform: scale(0.94);
	}
}

@media (max-width: 991.98px) {
	body.cnc-site.public-locations-page .public-locations-map {
		min-height: 28rem;
	}
}

@media (max-width: 767.98px) {
	body.cnc-site.public-locations-page .public-locations-section {
		padding: 2.5rem 0;
	}

	body.cnc-site.public-locations-page .public-locations-map {
		min-height: 22rem;
	}

	body.cnc-site.public-locations-page .public-locations-map-hint {
		width: calc(100% - 2rem);
		justify-content: center;
		border-radius: var(--sf-control-radius);
		font-size: 0.76rem;
	}

	body.cnc-site.public-locations-page .public-location-card {
		padding: 0.92rem;
	}
}

/* The core event layout remains unchanged; replace its former installation treatment. */
body.cnc-site.public-events-page{--event-public-border:var(--sf-border);--event-public-border-strong:var(--sf-primary-soft-border);--event-public-soft:var(--sf-primary-soft-bg);--event-public-soft-strong:var(--sf-primary-soft-bg);--event-public-surface:var(--sf-surface);--event-public-text:var(--sf-text);--event-public-muted:var(--sf-muted);--event-public-shadow:0 4px 15px #1c243008}
body.cnc-site.public-events-page :is(.event-listing-card,.event-date-badge,.event-listing-media,.event-option-card,.event-detail-panel,.event-scoring-panel,.event-detail-hero-image,.event-media-carousel-viewport,.events-summary-card,.event-alert,.event-form-message,.event-context-note,.event-ticket-summary,.event-ticket-row,.event-profile-card,.event-resource-link,.event-card){border-radius:var(--sf-card-radius,16px)!important;-webkit-clip-path:none;clip-path:none;border-color:var(--sf-border)!important}
body.cnc-site.public-events-page :is(.event-listing-card,.event-option-card,.event-detail-panel,.event-scoring-panel,.event-media-carousel-viewport,.events-summary-card,.event-form-message,.event-context-note,.event-ticket-summary,.event-ticket-row,.event-profile-card,.event-resource-link)::after{display:none}
body.cnc-site.public-events-page :is(.event-status,.event-category,.event-tag,.event-ticket-meta span,.event-standing-rank,.event-standing-status){border-radius:var(--sf-control-radius)!important;-webkit-clip-path:none;clip-path:none}
body.cnc-site.public-events-page .event-date-badge{background:var(--sf-primary);color:var(--sf-primary-contrast)}
body.cnc-site.public-events-page .event-page-loader-spinner{border-top-color:var(--sf-primary)}
body.cnc-site.public-events-page .event-photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:20px}
body.cnc-site.public-events-page .event-photo-gallery .student-art-item{display:block;overflow:hidden;border-radius:var(--sf-card-radius,16px)}
body.cnc-site.public-events-page .event-photo-gallery img{display:block;width:100%;height:100%;object-fit:cover}
.cnc-event-lightbox .mfp-content{font-family:var(--sf-body-font)}
body.cnc-site.mtm-blogs-public-page :is(.blog-card-hover,.blog-sidebar-card,.blog-empty-card,.about-author-section){background:var(--sf-surface);border:1px solid var(--sf-border);box-shadow:0 4px 15px #1c243008}
body.cnc-site.mtm-blogs-public-page :is(.blog-card-hover,.blog-card-media,.blog-card-thumb){max-height:none!important}
body.cnc-site.mtm-blogs-public-page .blog-card-thumb{border-radius:0!important}
body.cnc-site.mtm-blogs-public-page .blog-sidebar-thumb{border-radius:var(--sf-control-radius)}
body.cnc-site.mtm-blogs-public-page .blog-meta,body.cnc-site.mtm-blogs-public-page .author-bio{color:var(--sf-muted)}
body.cnc-site.mtm-blogs-public-page .author-social-icons a:hover{color:var(--sf-primary)}
body.cnc-site.mtm-blogs-public-page #slider.swiper_wrapper,body.cnc-site.mtm-blogs-public-page #slider.swiper_wrapper :is(.slider-inner,.swiper,.swiper-wrapper,.swiper-slide){min-height:320px;height:clamp(320px,45vw,480px)}
body.cnc-site.mtm-blogs-public-page #slider .swiper-slide-bg{position:absolute;inset:0;background-size:cover}
body.cnc-site.public-locations-page .public-locations-section{background:var(--sf-page-bg);padding-top:0}
body.cnc-site.public-locations-page :is(.public-locations-map-card,.public-locations-list-card,.public-location-card,.public-location-empty){border-color:var(--sf-border);box-shadow:0 4px 15px #1c243008}
body.cnc-site.public-locations-page :is(.public-locations-count,.public-locations-search .btn,.public-locations-popup a){color:var(--sf-primary-contrast)}
body.cnc-site.public-locations-page .public-location-phone,
body.cnc-site.public-locations-page .public-locations-popup .public-locations-popup-phone a {
	color: var(--sf-primary);
}
body.cnc-site.public-locations-page .public-locations-popup .public-locations-popup-phone a {
	padding: 0;
	margin: 0;
	background: transparent;
}
body.cnc-site.public-locations-page .public-location-phone:hover,
body.cnc-site.public-locations-page .public-location-phone:focus-visible,
body.cnc-site.public-locations-page .public-locations-popup .public-locations-popup-phone a:hover,
body.cnc-site.public-locations-page .public-locations-popup .public-locations-popup-phone a:focus-visible {
	color: var(--sf-primary-hover);
	text-decoration: underline;
}
body.cnc-site.public-locations-page .public-location-phone:focus-visible,
body.cnc-site.public-locations-page .public-locations-popup .public-locations-popup-phone a:focus-visible {
	outline: 2px solid var(--sf-primary) !important;
	outline-offset: 3px;
}
body.cnc-site.public-locations-page :is(.public-location-pin,.public-locations-map-pin){color:#fff}
@media(max-width:767.98px){body.cnc-site:is(.mtm-blogs-public-page,.public-locations-page,.public-events-page) #slider.subpage-hero{padding:44px 0}body.cnc-site.mtm-blogs-public-page .blog-card-hover{height:auto!important;min-height:0!important}body.cnc-site.public-events-page .event-listing-card{padding:20px;gap:16px}}
@media(prefers-reduced-motion:reduce){body.cnc-site.public-locations-page .public-locations-map-control.is-loading{animation:none}body.cnc-site.mtm-blogs-public-page .blog-card-hover{transition:none}}
