/* MMC Site Enhancements: Phosphor icons (in place of Font Awesome 4.1),
   native video sizing (in place of FitVids) and the Popover API phone menu.
   Colour tokens (--mmc-*) are defined in the Customizer Additional CSS. */

/* ===== Icon primitive: SVG mask tinted with currentColor ===== */
.mmc-icon,
.social-links ul a::before,
.mmc-menu__social-list a::before,
.mmc-footer__social-list a::before,
.meta-list li::before,
.paging-navigation .fa::before {
	-webkit-mask: var(--mmc-i) center / contain no-repeat;
	mask: var(--mmc-i) center / contain no-repeat;
	background-color: currentColor;
}
.mmc-icon { display: inline-block; width: 22px; height: 22px; flex: none; }
.mmc-icon--menu { --mmc-i: url("icons/list.svg"); }
.mmc-icon--close { --mmc-i: url("icons/x.svg"); }

a[href*="twitter.com"], a[href*="x.com/"] { --mmc-i: url("icons/x-logo.svg"); }
a[href*="youtube.com"] { --mmc-i: url("icons/youtube-logo.svg"); }
a[href*="linkedin.com"] { --mmc-i: url("icons/linkedin-logo.svg"); }
a[href*="github.com"] { --mmc-i: url("icons/github-logo.svg"); }

/* Sidebar social links */
.social-links ul a {
	display: inline-grid !important;
	place-items: center;
	color: var(--mmc-accent);
}
.social-links ul a:hover { color: var(--mmc-on-accent); }
.social-links ul a::before {
	content: "" !important;
	width: 18px;
	height: 18px;
	font-family: inherit !important;
}

/* Post meta (category, tags, comments, edit) */
.meta-list li::before {
	content: "" !important;
	width: 15px;
	height: 15px;
	top: 2px;
	color: var(--mmc-faint);
	font-family: inherit !important;
}
.meta-list .meta-cat { --mmc-i: url("icons/folder-simple.svg"); }
.meta-list .meta-tag { --mmc-i: url("icons/tag.svg"); }
.meta-list .meta-comment { --mmc-i: url("icons/chat-circle.svg"); }
.meta-list .meta-edit { --mmc-i: url("icons/pencil-simple.svg"); }
.meta-list { font-family: var(--mmc-mono, ui-monospace, monospace) !important; }

/* Older / newer posts arrows */
.paging-navigation .fa {
	display: inline-block;
	width: 1em;
	height: 1em;
	vertical-align: -.125em;
}
.paging-navigation .fa::before { content: ""; display: block; width: 100%; height: 100%; }
.paging-navigation .fa-arrow-circle-o-left { --mmc-i: url("icons/arrow-left.svg"); }
.paging-navigation .fa-arrow-circle-o-right { --mmc-i: url("icons/arrow-right.svg"); }

/* Decorative glyphs that only existed as Font Awesome characters */
blockquote::before,
.format-quote .entry-title::before,
.bypostauthor .comment-cite::after { content: none !important; display: none !important; }
blockquote { padding-right: 0 !important; }

/* ===== Responsive video (replaces jQuery FitVids) ===== */
.entry-content iframe[src*="youtube"],
.entry-content iframe[src*="vimeo"],
.entry-content video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
}

/* ===== Phone menu (Popover API) ===== */
.mmc-menu-btn,
.mmc-menu { display: none; }

@supports selector(:popover-open) {
	@media (max-width: 768px) {
		/* The sheet replaces the swipeable nav row and sidebar socials */
		.site-header .main-navigation,
		.site-header #tab-1.current .main-navigation { display: none !important; }
		.site-header { padding-bottom: 16px !important; padding-right: 72px !important; }

		.mmc-menu-btn {
			position: fixed;
			z-index: 110; /* theme .site-header is 100 */
			top: calc(14px + env(safe-area-inset-top));
			right: 14px;
			display: grid;
			place-items: center;
			width: 44px;
			height: 44px;
			padding: 0;
			border: 1px solid var(--mmc-line-strong) !important;
			border-radius: 10px !important;
			background: color-mix(in srgb, var(--mmc-side) 78%, transparent) !important;
			-webkit-backdrop-filter: blur(12px) saturate(140%);
			backdrop-filter: blur(12px) saturate(140%);
			box-shadow: 0 6px 20px -8px rgb(0 0 0 / .6);
			color: var(--mmc-fg) !important;
			cursor: pointer;
			transition: border-color .2s, transform .12s var(--mmc-ease);
		}
		.mmc-menu-btn:hover { border-color: var(--mmc-accent-line) !important; }
		.mmc-menu-btn:active { transform: scale(.96); }
		.admin-bar .mmc-menu-btn { top: calc(60px + env(safe-area-inset-top)); }

		.mmc-menu:popover-open {
			display: flex;
		}
		.mmc-menu {
			position: fixed;
			inset: 0;
			width: 100%;
			max-width: none;
			height: 100dvh;
			max-height: none;
			margin: 0;
			padding: calc(14px + env(safe-area-inset-top)) 6% calc(28px + env(safe-area-inset-bottom));
			flex-direction: column;
			gap: 8px;
			overflow-y: auto;
			overscroll-behavior: contain;
			border: 0;
			background: color-mix(in srgb, var(--mmc-side) 94%, transparent);
			-webkit-backdrop-filter: blur(18px);
			backdrop-filter: blur(18px);
			color: var(--mmc-fg);
			font-family: var(--mmc-sans, system-ui, sans-serif);
		}
		.mmc-menu::backdrop { background: rgb(0 0 0 / .35); }
		.admin-bar .mmc-menu { padding-top: calc(60px + env(safe-area-inset-top)); }

		.mmc-menu__top {
			display: flex;
			align-items: center;
			justify-content: space-between;
			gap: 16px;
			min-height: 44px;
		}
		.mmc-menu__name {
			color: var(--mmc-fg) !important;
			font-size: 18px;
			font-weight: 600;
			letter-spacing: -.02em;
			text-decoration: none !important;
		}
		.mmc-menu__close {
			display: grid;
			place-items: center;
			width: 44px;
			height: 44px;
			padding: 0;
			border: 1px solid var(--mmc-line-strong) !important;
			border-radius: 10px !important;
			background: transparent !important;
			box-shadow: none !important;
			color: var(--mmc-fg) !important;
			cursor: pointer;
			transition: border-color .2s, transform .12s var(--mmc-ease);
		}
		.mmc-menu__close:hover { border-color: var(--mmc-accent-line) !important; }
		.mmc-menu__close:active { transform: scale(.96); }

		.mmc-menu__nav { margin-top: 6vh; }
		.mmc-menu__list {
			margin: 0 !important;
			padding: 0 !important;
			list-style: none;
			counter-reset: mmc-nav;
		}
		.mmc-menu__list li {
			margin: 0;
			border-bottom: 1px solid var(--mmc-line);
			counter-increment: mmc-nav;
		}
		.mmc-menu__list a {
			display: flex;
			align-items: baseline;
			gap: 14px;
			padding: 16px 0;
			color: var(--mmc-body) !important;
			font-size: clamp(26px, 8vw, 34px);
			font-weight: 600;
			letter-spacing: -.03em;
			line-height: 1.1;
			text-decoration: none !important;
			transition: color .2s, transform .3s var(--mmc-ease);
		}
		.mmc-menu__list a::before {
			content: counter(mmc-nav, decimal-leading-zero);
			min-width: 2ch;
			color: var(--mmc-faint);
			font-family: var(--mmc-mono, ui-monospace, monospace);
			font-size: 12px;
			font-weight: 500;
			letter-spacing: .02em;
		}
		.mmc-menu__list a:hover,
		.mmc-menu__list a:focus-visible { color: var(--mmc-fg) !important; transform: translateX(4px); }
		.mmc-menu__list .current-menu-item > a,
		.mmc-menu__list .current_page_item > a,
		.mmc-menu__list .current_page_parent > a,
		.mmc-menu__list .current-page-ancestor > a,
		.mmc-menu__list .current-menu-ancestor > a { color: var(--mmc-accent) !important; }
		.mmc-menu__list .current-menu-item > a::before,
		.mmc-menu__list .current_page_item > a::before,
		.mmc-menu__list .current_page_parent > a::before,
		.mmc-menu__list .current-page-ancestor > a::before { color: var(--mmc-accent); }

		.mmc-menu__social { margin-top: auto; padding-top: 28px; }
		.mmc-menu__social-list {
			display: flex;
			gap: 10px;
			margin: 0 !important;
			padding: 0 !important;
			list-style: none;
		}
		.mmc-menu__social-list li { margin: 0; }
		.mmc-menu__social-list a {
			display: grid;
			place-items: center;
			width: 44px;
			height: 44px;
			border: 1px solid var(--mmc-line-strong);
			border-radius: 10px;
			color: var(--mmc-mute);
			transition: color .2s, border-color .2s;
		}
		.mmc-menu__social-list a:hover { color: var(--mmc-accent); border-color: var(--mmc-accent-line); }
		.mmc-menu__social-list a::before { content: ""; width: 20px; height: 20px; }

		/* Lock page scroll while the sheet is open */
		html:has(.mmc-menu:popover-open) { overflow: hidden; }

		@media (prefers-reduced-motion: no-preference) {
			.mmc-menu {
				opacity: 0;
				transform: translateY(-8px);
				transition: opacity .22s ease, transform .32s var(--mmc-ease), overlay .32s allow-discrete, display .32s allow-discrete;
			}
			.mmc-menu:popover-open { opacity: 1; transform: none; }
			.mmc-menu__list li,
			.mmc-menu__social {
				opacity: 0;
				transform: translateY(10px);
				transition: opacity .3s ease, transform .5s var(--mmc-ease);
			}
			.mmc-menu:popover-open .mmc-menu__list li,
			.mmc-menu:popover-open .mmc-menu__social { opacity: 1; transform: none; }
			.mmc-menu:popover-open li:nth-child(1) { transition-delay: .04s; }
			.mmc-menu:popover-open li:nth-child(2) { transition-delay: .08s; }
			.mmc-menu:popover-open li:nth-child(3) { transition-delay: .12s; }
			.mmc-menu:popover-open li:nth-child(4) { transition-delay: .16s; }
			.mmc-menu:popover-open li:nth-child(5) { transition-delay: .2s; }
			.mmc-menu:popover-open li:nth-child(6) { transition-delay: .24s; }
			.mmc-menu:popover-open li:nth-child(n+7),
			.mmc-menu:popover-open .mmc-menu__social { transition-delay: .28s; }

			@starting-style {
				.mmc-menu:popover-open { opacity: 0; transform: translateY(-8px); }
				.mmc-menu:popover-open .mmc-menu__list li,
				.mmc-menu:popover-open .mmc-menu__social { opacity: 0; transform: translateY(10px); }
			}
		}
	}
}

/* ===== Site footer (replaces the theme's copyright strip) ===== */
.site-footer { display: none !important; }
.mmc-footer {
	max-width: var(--mmc-w, 1040px);
	margin: 0 auto;
	padding: 0 var(--mmc-gutter, 24px) 40px;
	font-family: var(--mmc-sans, system-ui, sans-serif);
	color: var(--mmc-mute);
}
.mmc-footer__inner {
	display: grid;
	grid-template-columns: 1fr;
	gap: 28px;
	padding: 40px 0 32px;
	border-top: 1px solid var(--mmc-line);
}
.mmc-footer__name {
	color: var(--mmc-fg) !important;
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -.015em;
	text-decoration: none !important;
}
.mmc-footer__brand p { margin: 6px 0 0; font-size: 14px; color: var(--mmc-faint); }
.mmc-footer__list,
.mmc-footer__social-list { display: flex; flex-wrap: wrap; margin: 0 !important; padding: 0 !important; list-style: none; }
.mmc-footer__list { gap: 8px 24px; }
.mmc-footer__list li, .mmc-footer__social-list li { margin: 0 !important; }
.mmc-footer__list a {
	color: var(--mmc-mute) !important;
	font-size: 14.5px;
	text-decoration: none !important;
	transition: color .2s;
}
.mmc-footer__list a:hover { color: var(--mmc-fg) !important; }
.mmc-footer__social-list { gap: 4px; }
.mmc-footer__social-list a {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	color: var(--mmc-faint);
	transition: color .2s, background-color .2s;
}
.mmc-footer__social-list a:hover { color: var(--mmc-fg); background: rgba(255, 255, 255, .045); }
.mmc-footer__social-list a::before { content: ""; width: 18px; height: 18px; }
.mmc-footer__base {
	padding-top: 20px;
	border-top: 1px solid var(--mmc-line);
	font-family: var(--mmc-mono, ui-monospace, monospace);
	font-size: 12.5px;
	color: var(--mmc-faint);
}
@media (min-width: 769px) {
	.mmc-footer__inner { grid-template-columns: 1fr auto auto; align-items: center; gap: 40px; }
}

/* ===== 404 ===== */
.error404 .main-navigation li > a { background: none !important; color: var(--mmc-mute) !important; border-bottom-color: transparent !important; }
.error404 .page-title { background: none !important; }
