/*
Theme Name: Model Prayer Ministries
Theme URI: https://modelprayerministries.org
Description: A pure block theme (no page builder needed) in blue and gold for Model Prayer Ministries. Built for the WordPress Block Editor.
Author: Ikramul Hossain
Version: 1.1.6
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mpm
*/

/* ---------- Base ---------- */
body { -webkit-font-smoothing: antialiased; }
a { text-decoration: none; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Header ---------- */
.mpm-header { border-bottom: 2px solid var(--wp--preset--color--gold); }
.mpm-logo-badge {
	width: 48px; height: 48px; border-radius: 50%;
	background: var(--wp--preset--color--gold); color: var(--wp--preset--color--navy);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 24px; line-height: 1;
	margin: 0;
}
.mpm-header .wp-block-site-title a { color: var(--wp--preset--color--cream); }
.mpm-header .wp-block-navigation a { min-height: 44px; display: flex; align-items: center; gap: 8px; padding: 12px 14px; }

/* Menu icons (inline SVG masks, gold) */
.mpm-nav .wp-block-navigation-item[class*="nav-"] > a::before {
	content: ""; width: 22px; height: 22px; flex: 0 0 22px;
	background-color: var(--wp--preset--color--gold);
	-webkit-mask: var(--mpm-icon) center / contain no-repeat;
	mask: var(--mpm-icon) center / contain no-repeat;
}
.mpm-nav .nav-home  { --mpm-icon: url("assets/icons/home.svg"); }
.mpm-nav .nav-about { --mpm-icon: url("assets/icons/about.svg"); }
.mpm-nav .nav-books { --mpm-icon: url("assets/icons/books.svg"); }
.mpm-nav .nav-store { --mpm-icon: url("assets/icons/store.svg"); }
.mpm-nav .nav-contact { --mpm-icon: url("assets/icons/contact.svg"); }
.mpm-nav .wp-block-navigation-item > a:hover { color: var(--wp--preset--color--gold); }
.mpm-nav .wp-block-navigation__responsive-container-open svg,
.mpm-nav .wp-block-navigation__responsive-container-close svg { fill: var(--wp--preset--color--gold); }
.mpm-nav .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--navy); color: var(--wp--preset--color--cream);
}

/* ---------- Photo frames ---------- */
.mpm-frame { border: 2px solid var(--wp--preset--color--gold); padding: 14px; border-radius: 4px; }
.mpm-frame img, .mpm-frame video { display: block; width: 100%; height: 400px; object-fit: cover; }
.mpm-frame--book { padding: 12px; border-radius: 0; max-width: 320px; margin-inline: auto; }
.mpm-frame--book img { height: auto; aspect-ratio: 3 / 4; }
.mpm-video { border-radius: 6px; overflow: hidden; }
.mpm-video video, .mpm-video iframe { width: 100%; display: block; }

/* ---------- Eyebrow label ---------- */
.mpm-eyebrow {
	font-size: 14px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase;
	color: var(--wp--preset--color--gold-dark); margin: 0;
}
.mpm-on-dark .mpm-eyebrow, .mpm-eyebrow--gold { color: var(--wp--preset--color--gold); }

/* ---------- Cards ---------- */
.mpm-card {
	background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: 8px;
	padding: 32px 28px; height: 100%; box-sizing: border-box;
}
.mpm-card-icon {
	width: 60px; height: 60px; border-radius: 16px; background: var(--wp--preset--color--navy);
	display: flex; align-items: center; justify-content: center; margin: 0 0 16px;
}
.mpm-card-icon::before {
	content: ""; width: 30px; height: 30px; background-color: var(--wp--preset--color--gold);
	-webkit-mask: var(--mpm-icon) center / contain no-repeat; mask: var(--mpm-icon) center / contain no-repeat;
}
.mpm-card-icon.i-about { --mpm-icon: url("assets/icons/about.svg"); }
.mpm-card-icon.i-books { --mpm-icon: url("assets/icons/books.svg"); }
.mpm-card-icon.i-store { --mpm-icon: url("assets/icons/store.svg"); }
.mpm-card-icon.i-contact { --mpm-icon: url("assets/icons/contact.svg"); }
.mpm-card h3 { margin: 0 0 12px; }
.mpm-card p { margin: 0 0 16px; }
.mpm-card a.mpm-more { font-weight: 600; }

.mpm-product { background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: 8px; overflow: hidden; height: 100%; }
.mpm-product img { width: 100%; height: 240px; object-fit: cover; display: block; }
.mpm-product .mpm-product-body { padding: 24px; }

/* ---------- Buttons ---------- */
.wp-block-button__link { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
.is-style-outline > .wp-block-button__link { border-width: 1.5px; }
.mpm-on-dark .is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--cream); border-color: var(--wp--preset--color--gold); }

/* ---------- Contact form ---------- */
.mpm-form { display: flex; flex-direction: column; gap: 16px; }
.mpm-form label { display: flex; flex-direction: column; gap: 8px; font-size: 15px; font-weight: 600; }
.mpm-form input[type=text], .mpm-form input[type=email], .mpm-form textarea {
	box-sizing: border-box; padding: 12px 14px; border: 1px solid #5B709B; border-radius: 6px;
	background: var(--wp--preset--color--navy-mid); color: var(--wp--preset--color--cream);
	font-family: inherit; font-size: 16px; width: 100%;
}
.mpm-form input[type=text], .mpm-form input[type=email] { min-height: 48px; }
.mpm-form input:focus, .mpm-form textarea:focus { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 2px; }
.mpm-form button {
	min-height: 48px; padding: 0 28px; align-self: flex-start; background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--navy); border: 0; border-radius: 6px; font-family: inherit;
	font-weight: 600; font-size: 16px; cursor: pointer;
}
.mpm-form button:hover { filter: brightness(1.08); }
.mpm-hp { position: absolute; left: -9999px; }
.mpm-notice { padding: 12px 16px; border-radius: 6px; font-weight: 600; margin-bottom: 8px; }
.mpm-notice--ok { background: #DDF3E4; color: #11522A; }
.mpm-notice--err { background: #FBE0E0; color: #7A1616; }

/* ---------- Footer ---------- */
.mpm-footer { border-top: 2px solid var(--wp--preset--color--gold); }
.mpm-footer a { color: var(--wp--preset--color--light); }
.mpm-footer a:hover { color: var(--wp--preset--color--gold); }

/* ---------- Mobile ---------- */
@media (max-width: 781px) {
	.mpm-frame img, .mpm-frame video { height: 300px; }
}

/* ---------- Sections ---------- */
.mpm-section { padding: 88px 32px; }
.mpm-hero { padding: 80px 32px 96px; }
.mpm-section--tight { padding: 72px 32px; }
.mpm-section--border { border-top: 1px solid var(--wp--preset--color--border); border-bottom: 1px solid var(--wp--preset--color--border); }
.mpm-section h2 { margin: 0; }
.mpm-hero h1 { margin: 0; }
.mpm-stack > * { margin-block: 0; }
.mpm-stack > * + * { margin-block-start: 20px; }
.mpm-page-banner { padding: 64px 32px; }
.mpm-gallery img { aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 781px) {
	.mpm-section, .mpm-hero, .mpm-section--tight { padding-left: 20px; padding-right: 20px; }
	.mpm-section { padding-top: 56px; padding-bottom: 56px; }
}

/* Footer/header link colours need to beat the global link style */
.wp-site-blocks .mpm-footer a { color: var(--wp--preset--color--light); }
.wp-site-blocks .mpm-footer a:hover { color: var(--wp--preset--color--gold); }
.wp-site-blocks .mpm-header .wp-block-site-title a { color: var(--wp--preset--color--cream); }
.wp-site-blocks .mpm-nav a { color: var(--wp--preset--color--cream); }
.wp-site-blocks .mpm-nav a:hover { color: var(--wp--preset--color--gold); }
.wp-site-blocks .mpm-card a.mpm-more, .wp-site-blocks .mpm-more a { color: var(--wp--preset--color--gold-dark); }

/* Donation section */
.mpm-donate { background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: 8px; overflow: hidden; }
.mpm-donate .wp-block-media-text__media img { height: 100%; object-fit: cover; }
.mpm-donate .wp-block-media-text__content { padding: 32px; }

/* Automatic media grid: [mpm_media] */
.mpm-media { display: grid; grid-template-columns: repeat(var(--mpm-cols, 4), 1fr); gap: 16px; }
.mpm-media__item { margin: 0; }
.mpm-media--image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; display: block; border: 1px solid var(--wp--preset--color--border); }
.mpm-media--video video { width: 100%; border-radius: 6px; display: block; background: #000; }
.mpm-media figcaption strong { display: block; color: var(--wp--preset--color--navy); font-size: 16px; }
.mpm-media figcaption { font-size: 15px; line-height: 1.5; color: var(--wp--preset--color--muted); margin-top: 8px; }
@media (max-width: 900px) { .mpm-media { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .mpm-media { grid-template-columns: 1fr; } }

/* Photos on rebuilt pages */
.mpm-photo { max-width: 560px; margin: 24px auto; }
.mpm-photo img { width: 100%; height: auto; border: 2px solid var(--wp--preset--color--gold); padding: 8px; border-radius: 4px; background: #fff; box-sizing: border-box; display: block; }
.mpm-photo--team { max-width: 260px; margin: 0 auto 12px; }
.mpm-team-name { margin: 0 0 4px; font-size: 18px; }
.wp-site-blocks .mpm-section h2 { margin-top: 40px; margin-bottom: 16px; }
.wp-site-blocks .mpm-section > * + * { margin-top: 18px; }
.wp-block-details { border: 1px solid var(--wp--preset--color--border); border-radius: 8px; padding: 14px 18px; background: #fff; }
.wp-block-details summary { font-weight: 600; cursor: pointer; }
.wp-block-details[open] summary { margin-bottom: 10px; }

/* Dropdown menus */
.mpm-nav .wp-block-navigation__submenu-container { background: var(--wp--preset--color--navy) !important; border: 1px solid var(--wp--preset--color--gold) !important; color: var(--wp--preset--color--cream); }
.mpm-nav .wp-block-navigation__submenu-container a { color: var(--wp--preset--color--cream) !important; }
.mpm-nav .wp-block-navigation__submenu-container a:hover { color: var(--wp--preset--color--gold) !important; }

/* Dropdown menus */
.mpm-nav .wp-block-navigation__submenu-container { background: var(--wp--preset--color--navy-deep) !important; border: 1px solid var(--wp--preset--color--gold) !important; min-width: 240px; }
.mpm-nav .wp-block-navigation__submenu-container a { color: var(--wp--preset--color--cream) !important; padding: 10px 14px; }
.mpm-nav .wp-block-navigation__submenu-container a:hover { color: var(--wp--preset--color--gold) !important; }
.mpm-nav .wp-block-navigation__submenu-icon svg { stroke: var(--wp--preset--color--gold); }

/* Imported content */
.mpm-gallery img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.mpm-richtext p, .wp-block-details p { line-height: 1.7; }
.wp-block-details { background: #fff; border: 1px solid var(--wp--preset--color--border); border-radius: 8px; padding: 14px 18px; margin-bottom: 12px; }
.wp-block-details summary { font-weight: 600; cursor: pointer; font-size: 18px; }
.mpm-section .mpm-frame figcaption { margin-top: 10px; }

/* Book covers keep their natural shape */
.mpm-frame--book { max-width: 300px; }
.mpm-frame--book img { height: auto !important; aspect-ratio: auto !important; object-fit: contain; }
