/*
 * Resource Hub: page-template-resource-hub.php, single-resource.php and
 * template-parts/pages/resources/. Enqueued by
 * custom-functions/assets/load/pages/css/register/css-resource_hub.php
 */

.mm-resources {
	--ink: #0f3f4a;
	--teal: #147f7f;
	--mint: #91fed8;
	--muted: #646464;
	color: #1a1a1a;
	font-family: Inter,sans-serif;
}

.mm-resources * {
	box-sizing: border-box;
}

.mm-resources h1,
.mm-resources h2,
.mm-resources h3,
.mm-resources p {
	margin-top: 0;
}

.mm-resources h1,
.mm-resources h2 {
	font-family: 'Bricolage Grotesque',sans-serif;
	font-weight: 700;
	letter-spacing: -.045em;
}

.mm-resources a {
	text-decoration: none;
}

.mmr-container {
	max-width: 1228px;
	width: calc(100% - 48px);
	margin-inline: auto;
}

.mmr-hero {
	background: radial-gradient(ellipse at 73% 20%,#0c5961 0%,transparent 45%),linear-gradient(120deg,#0b3843,#09515b 60%,#08353e);
	color: #fff;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.mmr-hero:after {
	content: "";
	position: absolute;
	width: 58%;
	height: 160%;
	right: -16%;
	top: -65%;
	border: 1px solid #ffffff16;
	transform: rotate(-31deg);
	border-radius: 35%;
}

.mmr-hero__inner {
	padding: 70px 0 75px;
	position: relative;
	z-index: 1;
}

.mmr-eyebrow {
	font-family: Poppins,sans-serif;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .1em;
	color: var(--teal);
	margin-bottom: 12px;
}

.mmr-hero .mmr-eyebrow {
	color: var(--mint);
}

.mmr-hero h1 {
	font-size: clamp(36px,4.4vw,56px);
	line-height: 1.07;
	margin-bottom: 16px;
}

.mmr-hero p:last-child {
	font-size: 18px;
	line-height: 1.55;
	margin-bottom: 0;
}

.mmr-filterbar {
	background: #fff;
}

.mmr-filterbar__inner {
	min-height: 86px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.mmr-types {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
}

.mmr-pill {
	border: 1px solid #bfc3c4;
	border-radius: 40px;
	background: white;
	color: #777;
	font: 500 14px Inter,sans-serif;
	padding: 6px 14px;
	cursor: pointer;
}

.mmr-pill.is-active,
.mmr-pill:hover {
	background: #e1fbf6;
	border-color: var(--teal);
	color: var(--teal);
}

.mmr-highlights {
	background: #f7f7f7;
	padding: 58px 0 68px;
}

.mmr-highlights__grid {
	display: grid;
	grid-template-columns: 1.48fr .88fr;
	gap: 70px;
}

.mm-resources h2 {
	color: var(--ink);
	font-size: clamp(29px,3vw,42px);
	line-height: 1.12;
}

.mmr-highlights h2 {
	margin-bottom: 32px;
}

.mmr-featured {
	display: block;
	color: inherit;
}

.mmr-featured__image,
.mmr-card__image,
.mmr-trend__image {
	background: linear-gradient(140deg,#e600a3,#770055);
	overflow: hidden;
	border-radius: 13px;
}

.mmr-featured__image {
	aspect-ratio: 1.9;
}

.mmr-featured img,
.mmr-trend img,
.mmr-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mmr-featured h3 {
	font: 700 21px 'Bricolage Grotesque',sans-serif;
	margin: 24px 0 8px;
	color: #222;
}

.mmr-featured p {
	font-size: 15px;
	line-height: 1.5;
	color: #4e4e4e;
	max-width: 580px;
}

.mmr-trending-title {
	font-size: 29px!important;
	margin-top: 6px;
}

.mmr-trending {
	display: grid;
	gap: 22px;
}

.mmr-trend {
	display: grid;
	grid-template-columns: 160px 1fr;
	gap: 24px;
	align-items: center;
	color: #262626;
}

.mmr-trend__image {
	aspect-ratio: 1.32;
}

.mmr-trend__type {
	font: 600 11px Poppins,sans-serif;
	color: #999;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.mmr-trend h3 {
	font: 600 16px/1.35 Inter,sans-serif;
	margin: 8px 0;
}

.mmr-explore {
	background: #fff;
	padding: 72px 0 100px;
}

.mmr-explore__grid {
	display: grid;
	grid-template-columns: 310px 1fr;
	gap: 70px;
}

.mmr-sidebar h2 {
	margin-bottom: 54px;
}

.mmr-sidebar__label {
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 20px;
}

.mmr-topics {
	display: grid;
	gap: 6px;
}

.mmr-topic {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	text-align: left;
	border: 0;
	background: transparent;
	color: #747474;
	padding: 16px 13px;
	font: 500 14px Inter,sans-serif;
	cursor: pointer;
	border-radius: 5px;
}

.mmr-topic:hover,
.mmr-topic.is-active {
	background: #f0f6f6;
	color: var(--teal);
	font-weight: 700;
}

.mmr-cards {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 42px 35px;
}

.mmr-card[hidden] {
	display: none!important;
}

.mmr-card a {
	color: #262626;
}

.mmr-card__image {
	aspect-ratio: 1.8;
}

.mmr-card h3 {
	font: 700 21px/1.22 'Bricolage Grotesque',sans-serif;
	margin: 17px 4px 0;
}

.mmr-card a:hover h3,
.mmr-trend:hover h3,
.mmr-featured:hover h3 {
	color: var(--teal);
}

.mmr-empty,
.mmr-no-results {
	font-size: 15px;
	color: #666;
}

.mmr-social {
	padding: 76px 0 100px;
	background: linear-gradient(#fff 0%,#dffff3 100%);
	position: relative;
}

.mmr-social__header {
	text-align: center;
	margin-bottom: 48px;
}

.mmr-social__header h2 {
	margin-bottom: 22px;
}

.mm-resources .screen-reader-text {
	position: absolute;
	clip: rect(1px,1px,1px,1px);
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.mm-resources button:focus-visible,
.mm-resources a:focus-visible {
	outline: 3px solid var(--teal);
	outline-offset: 3px;
}

/* The theme's reboot gives every focused button the browser focus ring
   (`button:focus { outline: 5px auto ... }`), which shows as a black box
   on mouse click. Drop it unless the focus came from the keyboard, where
   the teal :focus-visible ring above takes over. */
.mm-resources button:focus:not(:focus-visible),
.mm-resources a:focus:not(:focus-visible),
.mm-resource-single button:focus:not(:focus-visible),
.mm-resource-single a:focus:not(:focus-visible) {
	outline: none;
}

.mm-resource-single button:focus-visible,
.mm-resource-single a:focus-visible {
	outline: 3px solid var(--mmrs-teal);
	outline-offset: 3px;
}

@media (max-width: 1023px) {
	.mmr-highlights__grid {
		gap: 32px;
	}
	.mmr-trend {
		grid-template-columns: 110px 1fr;
		gap: 12px;
	}
	.mmr-explore__grid {
		grid-template-columns: 240px 1fr;
		gap: 32px;
	}
	
}

@media (max-width: 767px) {
	.mmr-container {
		width: calc(100% - 32px);
	}
	.mmr-hero__inner {
		padding: 65px 0;
	}
	.mmr-hero p:last-child {
		font-size: 16px;
	}
	.mmr-desktop {
		display: none;
	}
	.mmr-filterbar__inner {
		padding: 20px 0;
		align-items: stretch;
		flex-direction: column;
	}
	.mmr-types {
		gap: 8px;
	}
	
	.mmr-highlights {
		padding: 44px 0;
	}
	.mmr-highlights__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.mmr-highlights h2 {
		margin-bottom: 20px;
	}
	.mmr-trend {
		grid-template-columns: 115px 1fr;
	}
	.mmr-explore {
		padding: 52px 0 75px;
	}
	.mmr-explore__grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}
	.mmr-sidebar h2 {
		margin-bottom: 20px;
	}
	.mmr-topics {
		display: flex;
		overflow-x: auto;
		gap: 8px;
		padding-bottom: 10px;
	}
	.mmr-topic {
		flex: 0 0 auto;
		width: auto;
		gap: 12px;
		white-space: nowrap;
		border: 1px solid #e0e5e5;
	}
	.mmr-cards {
		gap: 28px 16px;
	}
	.mmr-card h3 {
		font-size: 17px;
	}
	.mmr-social {
		padding: 55px 0 85px;
	}
	
	
	
	
}

@media (max-width: 520px) {
	.mmr-cards {
		grid-template-columns: 1fr;
	}
	
	
	
	
}

/* ---- Theme overrides: keep site-wide heading/link styles out of the hub ---- */
.mm-resources a:hover,
.mm-resources a:focus {
	text-decoration: none;
}

.mmr-hero h1 {
	color: #fff;
}

.mmr-eyebrow {
	text-transform: uppercase;
}

/* ---- Fixed nav offset ----
   The theme's .site-banner (which normally clears the fixed .nav-header) is
   not rendered on the hub or single resources, so the page clears it itself.
   128px matches the header height; resource-hub/index.js replaces it with
   the measured height (the header is height: auto below 992px). */
.mm-resources,
.mm-resource-single {
	padding-top: var(--mmr-nav-offset, 128px);
}

/* ---- Hero: fixed 325px on desktop ---- */
@media (min-width: 1024px) {
	.mmr-hero {
		height: 325px;
		display: flex;
		align-items: center;
	}

	.mmr-hero__inner {
		padding: 0;
	}
}

/* Breaks the description after "music teachers" (two lines at 18px Inter) */
.mmr-hero p:last-child {
	max-width: 540px;
	margin-inline: auto;
}

/* ---- Topics: thin inline SVG chevron instead of the "›" glyph ---- */
.mmr-topic svg {
	flex: 0 0 auto;
	width: 10px;
	height: 17px;
}

/* Sidebar list (tablet and up): inactive items sit flush with the
   "I want to:" label; only the active item gets the tinted, inset box.
   Below 768px the topics are bordered pills and keep their padding. */
@media (min-width: 768px) {
	.mmr-topic {
		padding: 19px 6px 19px 0;
	}

	.mmr-topic:hover {
		background: transparent;
	}

	.mmr-topic.is-active,
	.mmr-topic.is-active:hover {
		padding: 19px 19px 19px 13px;
		background: #f0f6f6;
	}
}

/* ---- Search: icon button that swaps the type pills for a search bar ---- */
.mmr-filterbar__inner {
	position: relative;
}

.mmr-search-toggle,
.mmr-search-close {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	border: 0;
	border-radius: 10px;
	background: #f2f8f8;
	color: var(--teal);
	cursor: pointer;
	padding: 0;
	transition: background-color .15s ease;
}

.mmr-search-toggle {
	width: 48px;
	height: 48px;
}

.mmr-search-close {
	width: 36px;
	height: 36px;
}

.mmr-search-toggle:hover,
.mmr-search-close:hover {
	background: #e1fbf6;
}

.mmr-searchbar {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	color: var(--teal);
}

.mmr-searchbar[hidden] {
	display: none;
}

.mmr-searchbar svg {
	flex: 0 0 auto;
}

/* Out-specifies the theme's input[type='search'](:focus) form defaults */
.mmr-searchbar input[type='search'],
.mmr-searchbar input[type='search']:focus {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	height: auto;
	border: 0;
	border-radius: 0;
	outline: none;
	box-shadow: none;
	background: none;
	padding: 8px 0;
	font: 16px/1.5 Inter,sans-serif;
	color: #1a1a1a;
}

.mmr-searchbar input[type='search']::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.mmr-filterbar.is-searching .mmr-types,
.mmr-filterbar.is-searching .mmr-search-toggle {
	display: none;
}

/* Search results view (/resources/search?query=): results sit under the bar */
.mm-resources.is-search-results .mmr-highlights {
	display: none;
}

/* ---- Studio Feed: teal footer icons, 9:16 autoplay video cards ---- */
.mmr-social__icons {
	display: flex;
	gap: 15px;
	justify-content: center;
}

.mmr-social__icons a {
	display: block;
	width: 28px;
	height: 28px;
	transition: opacity .15s ease;
}

.mmr-social__icons a:hover {
	opacity: .8;
}

.mmr-social__icons svg {
	display: block;
	width: 28px;
	height: 28px;
}

.mmr-social__cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
}

.mmr-social__card {
	display: block;
	position: relative;
	aspect-ratio: 9 / 16;
	border-radius: 14px;
	overflow: hidden;
	color: #fff;
	background: #067fc6;
	/* Keeps the rounded corners clipping the scaled media in Safari */
	isolation: isolate;
}

.mmr-social__card:hover,
.mmr-social__card:focus {
	color: #fff;
	text-decoration: none;
}

.mmr-social__media {
	position: absolute;
	inset: 0;
}

.mmr-social__media video,
.mmr-social__media img,
.mmr-social__placeholder {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}

.mmr-social__card:hover .mmr-social__media video,
.mmr-social__card:hover .mmr-social__media img,
.mmr-social__card:hover .mmr-social__placeholder,
.mmr-social__card:focus-visible .mmr-social__media video,
.mmr-social__card:focus-visible .mmr-social__media img,
.mmr-social__card:focus-visible .mmr-social__placeholder {
	transform: scale(1.06);
}

.mmr-social__placeholder {
	display: grid;
	place-items: center;
	background: linear-gradient(145deg,#0b93e1,#074b83);
	font: 700 30px 'Bricolage Grotesque',sans-serif;
}

.mmr-social__card:after {
	content: "";
	position: absolute;
	inset: 55% 0 0;
	background: linear-gradient(transparent,#0009);
	pointer-events: none;
}

.mmr-social__caption {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 14px;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.mmr-social__caption svg {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
}

@media (prefers-reduced-motion: reduce) {
	.mmr-social__media video,
	.mmr-social__media img,
	.mmr-social__placeholder {
		transition: none;
	}
}

@media (max-width: 1023px) {
	.mmr-social__cards {
		gap: 16px;
	}
}

@media (max-width: 767px) {
	/* Keep the search button beside the pills instead of stacking */
	.mmr-filterbar__inner {
		flex-direction: row;
		align-items: flex-start;
	}

	/* One vertical card per row would be very tall at full width */
	.mmr-social__cards {
		grid-template-columns: minmax(0, 340px);
		justify-content: center;
	}
}

/* ---- Mobile: topics row scrolls inside the screen ----
   Below 768px the topics become one horizontally scrolling row. A plain
   1fr track grows to fit its content, so without minmax(0, 1fr) and
   min-width: 0 the column stretched to the full row width (~1500px) and
   zoomed the whole page out. Scrollbar hidden like the homepage tabs. */
@media (max-width: 767px) {
	.mmr-explore__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.mmr-explore__grid > * {
		min-width: 0;
	}

	.mmr-topics {
		scrollbar-width: none;
	}

	.mmr-topics::-webkit-scrollbar {
		display: none;
	}
}

/* ============================================================= */
/* Get Started CTA (template-parts/pages/resources/resource-cta.php)
   Copy of the homepage "HOME-SEVEN: GET STARTED" styles, which live in
   the homepage content rather than the theme, so this section matches
   the homepage exactly. Keep the two in sync.                     */
/* ============================================================= */
.home-content .container {
	max-width: 1228px;
}

.home-seven.get-state {
	position: relative;
	margin: 50px auto 0;
	padding-top: 25px;
	padding-bottom: 80px;
	background: url("../../../../images/home_seven_bg.png") top center / cover no-repeat;
}

.home-seven.get-state .row.content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 120px 0 0;
}

.home-seven .get-state-header {
	text-align: center;
	position: relative;
	z-index: 1;
	margin-bottom: 15px;
}

.home-seven .get-state-heading {
	font-family: 'Bricolage Grotesque', sans-serif;
	font-weight: 700;
	font-size: 48px;
	line-height: 52px;
	letter-spacing: -2px;
	color: #FFFFFF;
	margin-bottom: 20px;
}

.home-seven .get-state-heading .highlight {
	color: #91FED8;
}

.home-seven .get-state-subtext {
	font-family: 'Inter', sans-serif;
	font-weight: 400;
	font-size: 20px;
	line-height: 28px;
	letter-spacing: -0.2px;
	color: #E2E8F0;
}

.home-content .content .links {
	display: flex;
	justify-content: start;
	padding-top: 25px;
	gap: 10px;
}

.home-content .content .links .a-link a {
	color: #ffffff;
	font-family: 'Poppins', sans-serif;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 1px;
	padding: 12px 25px;
	text-transform: uppercase;
	display: block;
	border-radius: 30px;
	border: 1px solid #ffffff;
	text-decoration: none;
}

.home-content.home-seven .content .links {
	padding-top: 0;
}

.home-content.home-seven .content .links.get-state-actions {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 25px;
	position: relative;
	z-index: 1;
}

.home-content.home-seven .content .links.get-state-actions .start-trial.a-link a {
	background-color: #91FED8;
	color: #0F3F4A;
	border-color: #91FED8;
}

.home-content.home-seven .content .links.get-state-actions .start-trial.a-link a:hover {
	background-color: transparent;
	color: #A7FEE0;
}

.home-content.home-seven .content .links.get-state-actions .book-demo.a-link a {
	border-color: #FFFFFF;
	color: #FFFFFF;
}

.home-content.home-seven .content .links.get-state-actions .book-demo.a-link a:hover {
	background-color: #FFFFFF;
	color: #0F3F4A;
}

/* The image's slanted top is transparent. On the homepage a white section
   sits above it; here the section above is tinted, so the CTA sits flush
   against it and the slant shows that section's colour instead of a white
   strip (the Studio Feed fades to #dffff3, related resources are #f7f7f7). */
.mmr-social + .home-seven.get-state {
	background-color: #dffff3;
}

.mmrs-related + .home-seven.get-state {
	background-color: #f7f7f7;
}

@media (min-width: 601px) {
	.mmr-social + .home-seven.get-state,
	.mmrs-related + .home-seven.get-state {
		margin-top: 0;
	}
}

@media (max-width: 1023px) {
	.home-content .content .links {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		padding-top: 20px;
	}
	.home-content .content .links .a-link {
		width: 100%;
	}
	.home-content .content .links .a-link a {
		text-align: center;
		width: 100%;
		box-sizing: border-box;
	}
}

/* The theme's mobile overflow guard (style.css) gives .site-main containers
   16px side padding and zeroes .row margins; these pages render outside
   .site-main, so the CTA repeats it to match the homepage. */
@media (max-width: 1023px) {
	.home-seven.get-state .container {
		max-width: 100%;
		padding-left: 16px;
		padding-right: 16px;
	}

	.home-seven.get-state .row {
		margin-left: 0;
		margin-right: 0;
	}
}

@media (min-width: 601px) and (max-width: 1023px) {
	.home-seven .get-state-heading {
		font-size: 36px;
		line-height: 42px;
	}
	.home-seven .row.content {
		padding-top: 90px;
	}
}

@media (max-width: 600px) {
	.home-seven.get-state {
		margin: -10vw auto 0;
		padding-top: calc(80px + 10vw);
		padding-bottom: 80px;
		clip-path: polygon(0 0, 100% 10vw, 100% 100%, 0 100%);
	}
	.home-content.home-seven .content .links.get-state-actions {
		flex-direction: column;
		gap: 16px;
		width: 100%;
		max-width: 300px;
		margin: 0 auto;
	}
	.home-content.home-seven .content .links.get-state-actions .a-link {
		width: 100%;
		margin-right: 0;
	}
	.home-content.home-seven .content .links.get-state-actions .a-link a {
		width: 100%;
		text-align: center;
	}
	.home-seven .get-state-heading {
		font-size: 40px;
		line-height: 44px;
	}
}

/* ============================================================= */
/* Single resource (single-resource.php)                          */
/* ============================================================= */

.mm-resource-single {
	--mmrs-ink: #0f3f4a;
	--mmrs-mint: #91fed8;
	--mmrs-teal: #147f7f;
	font-family: Inter,sans-serif;
	color: #242424;
	background: #fff;
}

.mm-resource-single * {
	box-sizing: border-box;
}

.mm-resource-single h1,
.mm-resource-single h2,
.mm-resource-single h3,
.mm-resource-single p {
	margin-top: 0;
}

.mm-resource-single h1,
.mm-resource-single .mmrs-related>div>h2 {
	font-family: 'Bricolage Grotesque',sans-serif;
	letter-spacing: -.045em;
}

.mmrs-container {
	width: calc(100% - 48px);
	max-width: 1228px;
	margin: 0 auto;
}

.mmrs-breadcrumb {
	padding-top: 60px;
	display: flex;
	gap: 12px;
	align-items: center;
	color: #555;
	font-size: 13px;
}

.mmrs-breadcrumb a {
	color: #aaa;
	text-decoration: none;
}

.mmrs-header {
	margin: 25px 0 65px;
}

.mmrs-header h1 {
	font-size: clamp(34px,3.6vw,48px);
	line-height: 1.15;
	max-width: 850px;
	color: var(--mmrs-ink);
	margin-bottom: 15px;
	font-weight: 700;
}

.mmrs-header p {
	max-width: 690px;
	font-size: 19px;
	line-height: 1.5;
	color: #555;
}

.mmrs-layout {
	display: grid;
	grid-template-columns: minmax(270px,440px) minmax(0,1fr);
	gap: 80px;
	align-items: start;
	padding-bottom: 90px;
}

.mmrs-download {
	background: #f7f7f7;
	border-radius: 24px;
	padding: 44px 36px;
}

.mmrs-download h2 {
	font-family: Inter,sans-serif;
	font-size: 21px;
	font-weight: 500;
	line-height: 1.4;
	margin-bottom: 20px;
}

.mmrs-form-description {
	font-size: 15px;
	color: #7d7d7d;
	line-height: 1.55;
	margin-bottom: 18px;
}

.mmrs-form-description ul {
	padding-left: 22px;
}

.mmrs-form input[type=email],
.mmrs-form input[type=text] {
	width: 100%;
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 2px;
	min-height: 42px;
	padding: 10px 15px;
	font: 14px Inter,sans-serif;
}

.mmrs-form button,
.mmrs-form input[type=submit],
.mmrs-submit {
	width: 100%;
	display: block;
	text-align: center;
	background: var(--mmrs-teal);
	color: #fff!important;
	border: 0;
	border-radius: 30px;
	padding: 15px 16px;
	font: 700 12px Poppins,sans-serif;
	letter-spacing: .06em;
	text-decoration: none;
	cursor: pointer;
	margin-top: 15px;
}

.mmrs-privacy {
	font-size: 11px;
	color: #aaa;
	margin: 16px 0 0;
}

.mmrs-privacy a {
	color: #888;
	text-decoration: underline;
}

.mmrs-media {
	width: 100%;
	aspect-ratio: 1.77;
	background: #c5c5c5;
	border-radius: 22px;
	overflow: hidden;
	margin-bottom: 38px;
}

.mmrs-media img,
.mmrs-media iframe {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mmrs-media-placeholder {
	width: 100%;
	height: 100%;
	background: #c5c5c5;
}

.mmrs-article h2 {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.35;
	margin-bottom: 14px;
}

.mmrs-body {
	font-size: 15px;
	line-height: 1.65;
	color: #333;
}

.mmrs-body p {
	margin-bottom: 13px;
}

.mmrs-related {
	background: #f7f7f7;
	padding: 70px 0 85px;
}

.mmrs-related>div>h2 {
	color: var(--mmrs-ink);
	font-size: 42px;
	line-height: 1.15;
	margin-bottom: 45px;
}

.mmrs-related-grid {
	display: grid;
	grid-template-columns: repeat(3,minmax(0,1fr));
	gap: 24px;
}

.mmrs-card {
	color: #222;
	text-decoration: none;
}

.mmrs-card-image {
	aspect-ratio: 1.6;
	background: linear-gradient(145deg,#ef00a9,#790060);
	border-radius: 15px;
	overflow: hidden;
	margin-bottom: 22px;
}

.mmrs-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.mmrs-card h3 {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 8px;
}

.mmrs-card p {
	font-size: 14px;
	line-height: 1.55;
	color: #333;
}

@media (max-width: 900px) {
	.mmrs-layout {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.mmrs-download {
		max-width: 500px;
	}
	.mmrs-header {
		margin-bottom: 40px;
	}
	.mmrs-related-grid {
		gap: 16px;
	}
}

@media (max-width: 600px) {
	.mmrs-container {
		width: calc(100% - 32px);
	}
	.mmrs-breadcrumb {
		padding-top: 35px;
	}
	.mmrs-header h1 {
		font-size: 32px;
	}
	.mmrs-header p {
		font-size: 16px;
	}
	.mmrs-download {
		padding: 26px 22px;
	}
	.mmrs-layout {
		padding-bottom: 60px;
	}
	.mmrs-related {
		padding: 55px 0;
	}
	.mmrs-related>div>h2 {
		font-size: 32px;
		margin-bottom: 26px;
	}
	.mmrs-related-grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}
	.mmrs-card-image {
		margin-bottom: 12px;
	}
}

/* Theme overrides and template additions */
.mmrs-breadcrumb a:hover,
.mmrs-card:hover,
.mmrs-submit:hover {
	text-decoration: none;
}

.mmrs-card:hover h3,
.mmrs-breadcrumb a:hover {
	color: var(--mmrs-teal);
}

.mmrs-header h1 {
	font-family: 'Bricolage Grotesque',sans-serif;
}

/* No download card (nothing to download or no form): article takes the full width */
.mmrs-layout--full {
	grid-template-columns: minmax(0, 1fr);
}

.mmrs-layout--full .mmrs-article {
	max-width: 860px;
}

.mmrs-form button,
.mmrs-form input[type=submit],
.mmrs-submit {
	text-transform: uppercase;
}
