/*
 * Matthew Music
 * Main Styles
 * Version 1.1
 */

/* ==========================================================
   Design Tokens
   ========================================================== */

:root {

	--mm-measure: 45rem;

	--mm-space-xxs: 0.5rem;
	--mm-space-xs: 1rem;
	--mm-space-s: 1.5rem;
	--mm-space-m: 2.5rem;
	--mm-space-l: 4rem;
	--mm-space-xl: 6rem;

	--mm-transition: 180ms ease;

}


/* ==========================================================
   Base
   ========================================================== */

html {
	scroll-behavior: smooth;
}

body {

	text-rendering: optimizeLegibility;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

}


/* ==========================================================
   Typography
   ========================================================== */

.wp-block-post-content p {

	max-width: var(--mm-measure);

	margin-block: 0 var(--mm-space-s);

}

h1,
h2,
h3,
h4,
h5,
h6 {

	text-wrap: balance;

	margin-block-start: 0;

}

h1,
h2,
h3 {

	letter-spacing: -0.01em;

}

h4,
h5,
h6 {

	letter-spacing: normal;

}


h1,
.wp-block-heading.is-style-default {

	font-size: 3.5rem;

	line-height: 1.15;

}

h2 {

	font-size: 2.5rem;

	line-height: 1.15;

}

h3 {

	font-size: 1.75rem;

	line-height: 1.2;

}

h4 {

	font-size: 1.4rem;

	line-height: 1.3;

}

h5,
h6 {

	font-size: 1.15rem;

	line-height: 1.4;

}


/* ==========================================================
   Links
   ========================================================== */

.wp-site-blocks a,
.wp-block-navigation a,
.wp-block-site-title a {

	text-decoration: none;

	transition: color var(--mm-transition);

}


.wp-site-blocks a:hover,
.wp-site-blocks a:focus,
.wp-block-navigation a:hover,
.wp-block-navigation a:focus,
.wp-block-site-title a:hover,
.wp-block-site-title a:focus {

	color: var(--wp--preset--color--brass) !important;

	text-decoration: none;

}


/* ==========================================================
   Lists
   ========================================================== */

.wp-block-post-content ul,
.wp-block-post-content ol {

	margin-block: 0 var(--mm-space-s);

	padding-inline-start: 1.4em;

}

.wp-block-post-content li + li {

	margin-block-start: 0.35em;

}


/* ==========================================================
   Blockquotes
   ========================================================== */

.wp-block-post-content blockquote {

	margin-block: var(--mm-space-m);

	padding-inline-start: var(--mm-space-m);

	border-inline-start: 2px solid currentColor;

	font-style: italic;

}


/* ==========================================================
   Images
   ========================================================== */

img {

	display: block;

	max-width: 100%;

	height: auto;

}

figure {

	margin-block: var(--mm-space-m);

}

figcaption {

	margin-top: var(--mm-space-xs);

	font-size: 0.9rem;

	font-style: italic;

}


/* ==========================================================
   Horizontal Rule
   ========================================================== */

hr {

	margin-block: var(--mm-space-l);

	border: 0;

	border-top: 1px solid currentColor;

	opacity: 0.2;

}


/* ==========================================================
   Text Selection
   ========================================================== */

::selection {

	background: rgba(176,141,87,.28);

}


/* ==========================================================
   Header
   ========================================================== */

header.wp-block-template-part {
	border-bottom: 3px solid var(--wp--preset--color--brass);
}

/* Common pages */

header.common-header {
	background: var(--wp--preset--color--stone);
}

header.common-header .wp-block-site-title a,
header.common-header .wp-block-navigation-item__content {
	color: var(--wp--preset--color--charcoal);
}

/* Studio */

header.studio-header .wp-block-site-title a,
header.studio-header .wp-block-navigation-item__content {
	color: var(--wp--preset--color--ivory);
}

/* Performance */

header.performance-header .wp-block-site-title a,
header.performance-header .wp-block-navigation-item__content {
	color: var(--wp--preset--color--ivory);
}
/* Current navigation item */

/* ==========================================================
   Navigation — Current Page
   Twenty Twenty-Five applies the active state to the label
   rather than the link, so the label receives the Brass color.
   ========================================================== */

header .current-menu-item .wp-block-navigation-item__label,
header .current_page_item .wp-block-navigation-item__label,
header .current-menu-ancestor .wp-block-navigation-item__label,
header .current-menu-parent .wp-block-navigation-item__label {

	color: var(--wp--preset--color--brass);

}

/* ==========================================================
   Footer
   ========================================================== */

footer.wp-block-template-part {

	position: relative;

	width: 100%;

	max-width: none;

	background: var(--wp--preset--color--charcoal);

}


footer.wp-block-template-part::before {

	content: "";

	position: absolute;

	top: 0;

	left: 0;

	width: 100%;

	border-top: 3px solid var(--wp--preset--color--brass);

}


footer.wp-block-template-part > * {

	max-width: 1200px;

	margin-inline: auto;

}


footer a {

	color: var(--wp--preset--color--ivory);

}


footer a:hover,
footer a:focus {

	color: var(--wp--preset--color--brass);

}


footer .wp-block-group:last-child {

	border-top: 1px solid rgba(176,141,87,.35);

	padding-top: 1.25rem;

}

/* ==========================================================
   Responsive
   ========================================================== */

@media (max-width: 781px) {

	.studio-performance-columns::before {

		display: none;

	}


	.studio-performance-columns > .wp-block-column:first-child,
	.studio-performance-columns > .wp-block-column:last-child {

		padding-left: 0;

		padding-right: 0;

	}

}
/* Refined focus states */

a:focus,
a:focus-visible {

	outline: none;

}

a:focus-visible {

	box-shadow: 0 0 0 1px var(--wp--preset--color--brass);

}
.mm-flourish {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 3rem 0;
    color: var(--wp--preset--color--brass);
}

.mm-flourish::before,
.mm-flourish::after {
    content: "";
    flex: 1;
    max-width: 140px;
    border-top: 1px solid currentColor;
}

.mm-flourish::before {
    margin-right: 1rem;
}

.mm-flourish::after {
    margin-left: 1rem;
}

.mm-flourish span {
    font-size: 1.4rem;
    line-height: 1;
}

/* Homepage section dividers */

.wp-block-separator.studio-divider {
    border: 0;
    border-top: 3px solid var(--wp--preset--color--forest);
    opacity: 1;
}

.wp-block-separator.performance-divider {
    border: 0;
    border-top: 3px solid var(--wp--preset--color--bordeaux);
    opacity: 1;
}