/*
Theme Name:   Muzzbecatz
Description:  Warm, elegant block theme for the Muzzbecatz Selkirk Rex cattery. Use with the Muzzbecatz Cats plugin.
Version:      1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Author:       Muzzbecatz
License:      GPL-2.0-or-later
Text Domain:  muzzbecatz
*/

/* Visible keyboard focus everywhere. */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--apricot);
	outline-offset: 2px;
	border-radius: 4px;
}

/* ---------- Header ---------- */
.mbz-header {
	border-bottom: 1px solid var(--wp--preset--color--cream-deep);
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .mbz-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .mbz-header { top: 0; position: relative; } }
.mbz-header .wp-block-navigation a { text-decoration: none; }
.mbz-header .wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: 4px; }
.mbz-header .wp-block-navigation__submenu-container {
	border-radius: 12px;
	border: 1px solid var(--wp--preset--color--cream-deep) !important;
	padding: 0.4rem 0;
	box-shadow: 0 10px 30px rgba(43, 34, 48, 0.12);
	min-width: 240px !important;
}
.mbz-header .wp-block-navigation__submenu-container a { padding: 0.5rem 1rem !important; }
.mbz-nav-cta > a {
	background: var(--wp--preset--color--plum);
	color: var(--wp--preset--color--white) !important;
	padding: 0.5rem 1.15rem !important;
	border-radius: 999px;
}
.mbz-nav-cta > a:hover { background: var(--wp--preset--color--plum-dark); text-decoration: none !important; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.wp-block-navigation__responsive-container.is-menu-open .mbz-nav-cta > a { display: inline-block; }

/* ---------- Page layout ---------- */
.mbz-main { padding-top: var(--wp--preset--spacing--50); }
.mbz-front { padding-top: 0; }
.mbz-page-title { margin-bottom: var(--wp--preset--spacing--40); }

/* ---------- Hero ---------- */
.mbz-hero { border-radius: 0 0 28px 28px; }
.mbz-hero h1, .mbz-hero p { color: var(--wp--preset--color--white); }
.mbz-hero .wp-block-cover__background { background-image: radial-gradient(circle at 85% 20%, rgba(242, 184, 128, 0.35), transparent 55%); }
.mbz-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--wp--preset--color--apricot) !important;
}
.mbz-hero .is-style-outline .wp-block-button__link {
	color: var(--wp--preset--color--white);
	border: 2px solid currentColor;
	background: transparent;
}

/* ---------- Highlights, panels and lists ---------- */
.mbz-highlights { margin-top: var(--wp--preset--spacing--50) !important; }
.mbz-highlights > .wp-block-column {
	background: var(--wp--preset--color--white);
	border-radius: 18px;
	padding: 1.5rem;
	box-shadow: 0 2px 0 var(--wp--preset--color--cream-deep);
}
.mbz-highlights h2 { margin-top: 0; }
.mbz-panel {
	border-radius: 22px;
	padding: clamp(1.25rem, 4vw, 2.5rem) !important;
	margin-top: var(--wp--preset--spacing--50) !important;
}
.mbz-panel > :first-child { margin-top: 0; }
.mbz-cta { text-align: center; }
.mbz-cta .wp-block-buttons { justify-content: center; }

.mbz-checklist { list-style: none; padding-left: 0; }
.mbz-checklist li { position: relative; padding-left: 2rem; margin-bottom: 0.5rem; }
.mbz-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.35em;
	width: 1.1rem;
	height: 1.1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--apricot) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%233F1F3C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 80% no-repeat;
}

.mbz-steps { counter-reset: step; list-style: none; padding-left: 0; }
.mbz-steps li {
	counter-increment: step;
	position: relative;
	padding: 1rem 1rem 1rem 4rem;
	margin-bottom: 0.75rem;
	background: var(--wp--preset--color--white);
	border-radius: 16px;
}
.mbz-steps li::before {
	content: counter(step);
	position: absolute;
	left: 1rem;
	top: 1rem;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 50%;
	display: grid;
	place-items: center;
	background: var(--wp--preset--color--plum);
	color: var(--wp--preset--color--white);
	font-weight: 700;
	font-family: var(--wp--preset--font-family--heading);
}

.mbz-option-grid > .wp-block-column {
	background: var(--wp--preset--color--white);
	border-radius: 18px;
	padding: 1.25rem 1.5rem;
}
.mbz-option-grid h3 { margin-top: 0; }

.mbz-faq {
	background: var(--wp--preset--color--white);
	padding: 0.9rem 1.2rem;
	margin-bottom: 0.6rem !important;
}
.mbz-faq summary { font-weight: 700; cursor: pointer; }
.mbz-faq[open] summary { margin-bottom: 0.5rem; }

/* ---------- Footer ---------- */
.mbz-footer { border-radius: 28px 28px 0 0; }
.mbz-footer h2 { margin-top: 0; }
.mbz-footer-links { list-style: none; padding-left: 0; }
.mbz-footer-links li { margin-bottom: 0.35rem; }
.mbz-footer a { text-decoration: none; }
.mbz-footer a:hover { text-decoration: underline; }
.mbz-copyright { margin-top: var(--wp--preset--spacing--50) !important; opacity: 0.85; }
.mbz-footer .mbz-social { display: flex; flex-direction: column; gap: 0.35rem; }
.mbz-footer .mbz-social span { display: none; }
