/* Medical Coding Pro: styles theme.json can't express. */

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}

/* ---------- Utility bar ---------- */
.mcp-utility { font-size: var(--wp--preset--font-size--small); }
.mcp-utility a { text-decoration: none; }
.mcp-utility a:hover { text-decoration: underline; }
@media (max-width: 700px) {
	.mcp-utility .mcp-utility__links { display: none; }
	.mcp-utility > .wp-block-group { justify-content: center !important; }
}

/* ---------- Main header ---------- */
.mcp-header {
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 1px 0 var(--wp--preset--color--line);
}
.admin-bar .mcp-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .mcp-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .mcp-header { top: 0; } }
.mcp-header .wp-block-site-logo img { max-height: 52px; width: auto; }

/* Navigation links */
.mcp-main-nav .wp-block-navigation-item__content { padding-block: .4rem; }
.mcp-main-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--primary);
}

/* Dropdowns */
.mcp-main-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: 10px;
	box-shadow: var(--wp--preset--shadow--card);
	padding: .5rem !important;
	font-weight: 500;
}
.mcp-main-nav .wp-block-navigation__submenu-container a:hover {
	background: var(--wp--preset--color--soft);
	border-radius: 6px;
}

/* Mega menu: "Exam Study Guides" opens as one wide panel with both exam groups visible */
@media (min-width: 600px) {
	.mcp-main-nav:not(.is-menu-open) .mcp-mega > .wp-block-navigation__submenu-container {
		display: grid;
		grid-template-columns: 2fr 1fr;
		gap: 0 1.5rem;
		min-width: 620px !important;
		padding: 1.25rem !important;
		left: 50%;
		transform: translateX(-35%);
	}
	.mcp-main-nav:not(.is-menu-open) .mcp-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		position: static;
		visibility: visible;
		opacity: 1;
		height: auto;
		width: auto;
		min-width: 0 !important;
		border: 0 !important;
		box-shadow: none;
		padding: 0 !important;
		display: grid;
	}
	.mcp-main-nav:not(.is-menu-open) .mcp-mega > .wp-block-navigation__submenu-container > li:first-child > .wp-block-navigation__submenu-container {
		grid-template-columns: 1fr 1fr;
	}
	.mcp-main-nav:not(.is-menu-open) .mcp-mega > .wp-block-navigation__submenu-container > li {
		flex-direction: column;
		align-items: stretch !important;
	}
	.mcp-main-nav:not(.is-menu-open) .mcp-mega > .wp-block-navigation__submenu-container > li > .wp-block-navigation-item__content {
		font-family: var(--wp--preset--font-family--heading);
		color: var(--wp--preset--color--primary);
		border-bottom: 1px solid var(--wp--preset--color--line);
		margin-bottom: .4rem;
		padding-inline: .5rem;
	}
	.mcp-main-nav:not(.is-menu-open) .mcp-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon { display: none; }
	.mcp-main-nav:not(.is-menu-open) .mcp-mega .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding: .35rem .5rem;
		font-size: .95rem;
	}
}

/* ---------- Buttons ---------- */
.wp-block-button.is-style-accent .wp-block-button__link {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--primary-dark);
}
.wp-block-button.is-style-accent .wp-block-button__link:hover { filter: brightness(1.06); }

.wp-block-button.is-style-chip .wp-block-button__link {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary-dark);
	border: 1.5px solid var(--wp--preset--color--line);
	padding: .55rem .5rem;
	width: 100%;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	text-align: center;
	transition: border-color .15s, background-color .15s;
}
.wp-block-button.is-style-chip .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--soft);
}
.mcp-chips.wp-block-buttons {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr);
	gap: .6rem;
}
.mcp-chips .wp-block-button { width: auto !important; }
@media (prefers-reduced-motion: reduce) {
	.wp-block-button.is-style-chip .wp-block-button__link { transition: none; }
}

/* ---------- Cards ---------- */
.wp-block-group.is-style-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	padding: clamp(1.25rem, 3vw, 1.75rem);
	box-shadow: var(--wp--preset--shadow--card);
}
.wp-block-group.is-style-card > :last-child { margin-bottom: 0; }

/* Numbered steps (a real sequence) */
.mcp-steps { counter-reset: mcp-step; }
.mcp-steps .mcp-step { counter-increment: mcp-step; }
.mcp-steps .mcp-step::before {
	content: counter(mcp-step);
	display: grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
}

/* Study guide cards */
.mcp-guide { display: flex; flex-direction: column; height: 100%; }
.mcp-guide .wp-block-image img {
	aspect-ratio: 3 / 4;
	object-fit: contain;
	width: 100%;
	background: var(--wp--preset--color--soft);
	border-radius: 8px;
}
.mcp-guide .mcp-guide__price {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
}
.mcp-guide .wp-block-buttons { margin-top: auto; padding-top: .5rem; }
.mcp-guide .wp-block-buttons .wp-block-button { flex: 1; }
.mcp-guide .wp-block-buttons .wp-block-button__link { width: 100%; }

/* Stats band */
.mcp-stat strong {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2rem, 4vw, 2.75rem);
	line-height: 1.1;
	color: var(--wp--preset--color--accent);
}

/* FAQ */
.wp-block-details summary {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	cursor: pointer;
}

/* Footer */
.mcp-footer a { text-decoration: none; }
.mcp-footer a:hover { text-decoration: underline; }

/* Cards always use dark text, even inside coloured sections */
.wp-block-group.is-style-card { color: var(--wp--preset--color--contrast); }
.wp-block-group.is-style-card a:where(:not(.wp-element-button)) { color: var(--wp--preset--color--primary); }

/* Outline button on coloured backgrounds */
.mcp-hero .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wp--preset--color--base); border-color: currentColor; }
.mcp-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: rgba(255,255,255,.1); }
