/*
Theme Name: MK Mabale Holdings
Description: The approved MK Mabale Holdings website, packaged as a self-contained classic WordPress theme. Five unique, editable hero scenes rotate every seven seconds with layered parallax, live text, mobile swipe controls and reduced-motion support. Includes private first-party enquiry capture, native capability pages, contextual lead generation and a curated real-operations photography layer.
Author: Ecodigital Tech Group
Version: 1.3.2
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mk-mabale-holdings
Tags: custom-logo, custom-menu, featured-images, translation-ready, one-column
*/

/* WordPress integration. The approved design is loaded first from assets/css/. */
.mkm-menu { list-style: none; padding: 0; margin: 0; }
.primary-nav > .mkm-menu { display: flex; align-items: center; gap: inherit; }
.primary-nav .mkm-menu > li { display: flex; min-width: 0; }
.primary-nav .current-menu-item > a::after { transform: scaleX(1); }
.mobile-menu .mkm-menu { display: grid; }
.mobile-menu .mkm-menu a { display: block; width: 100%; }
.footer-links .mkm-menu { display: grid; gap: 10px; }
.footer-links .mkm-menu a { display: inline-block; }
.site-header, body.overlay-locked .site-header { top: var(--admin-bar-offset, 0px); }
body.admin-bar .site-header, body.admin-bar.overlay-locked .site-header { top: var(--admin-bar-offset, 32px); }
section[id], footer[id], #main-content { scroll-margin-top: calc(var(--header-actual) + var(--admin-bar-offset, 0px) + 20px); }
.mobile-menu { max-height: calc(var(--visual-height, 100dvh) - var(--menu-top, var(--header-actual))); }
@media (max-width:782px) {
  body.admin-bar .site-header, body.admin-bar.overlay-locked .site-header { top: var(--admin-bar-offset, 46px); }
}

/* Native WordPress pages, posts, archive/search results and error pages. */
.mkm-page-hero { background: #f5f5f2; border-bottom: 1px solid #e3e3de; padding: clamp(44px,7vw,92px) 0; }
.mkm-page-hero h1 { font: 400 clamp(2.4rem,5vw,4.5rem)/1.06 var(--serif); letter-spacing: -.025em; margin: 14px 0 20px; max-width: 1080px; overflow-wrap: anywhere; }
.mkm-page-hero p { max-width: 780px; line-height: 1.75; color: #5c6264; }
.mkm-page-body { width: min(calc(100% - 72px),920px); margin: 0 auto; padding: 56px 0 80px; min-height: 260px; }
.mkm-post-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; padding: 54px 0; }
.mkm-post-card { border: 1px solid #e3e3de; background: #fff; min-width: 0; }
.mkm-post-card .mkm-post-image { width: 100%; height: 220px; object-fit: cover; }
.mkm-post-card-body { padding: 28px; }
.mkm-post-card h2 { font: 400 1.8rem/1.18 var(--serif); margin: 10px 0 16px; overflow-wrap: anywhere; }
.mkm-post-card p { font-size: .9375rem; line-height: 1.75; color: #596164; }
.mkm-post-meta { font-size: .75rem; color: #62686b; letter-spacing: .04em; }
.mkm-read-more { display: inline-flex; align-items: center; gap: 18px; padding: 14px 0; font-size: .75rem; font-weight: 700; }
.mkm-post-pagination { padding: 0 0 60px; }
.mkm-post-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.mkm-post-pagination .page-numbers { border: 1px solid #deded9; min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; padding: 10px 15px; }
.mkm-post-pagination .current { background: #111; color: #fff; border-color: #111; }
.mkm-empty { padding: 50px 0 70px; }
.mkm-empty p { font-size: 1rem; line-height: 1.75; max-width: 660px; }
.mkm-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 50px; padding: 14px 24px; background: #111; color: #fff; font-size: .75rem; font-weight: 700; border: 1px solid #111; }
.entry-content { font-size: 1rem; line-height: 1.85; color: #34393c; overflow-wrap: anywhere; }
.entry-content:after { content: ''; display: table; clear: both; }
.entry-content h1,.entry-content h2,.entry-content h3,.entry-content h4 { font-family: var(--serif); font-weight: 400; line-height: 1.2; color: #111; margin: 1.3em 0 .6em; }
.entry-content h2 { font-size: clamp(1.8rem,4vw,2.5rem); }
.entry-content h3 { font-size: 1.6rem; }
.entry-content p { margin: 0 0 1.4em; }
.entry-content a:not(.wp-block-button__link):not(.mkm-button) { text-decoration: underline; text-underline-offset: 3px; }
.entry-content img,.entry-content video,.entry-content iframe { max-width: 100%; }
.entry-content img { height: auto; }
.entry-content figure { max-width: 100%; margin-inline: 0; }
.entry-content blockquote { border-left: 2px solid var(--gold); margin: 30px 0; padding: 6px 0 6px 24px; font: 400 1.35rem/1.6 var(--serif); }
.entry-content table { border-collapse: collapse; width: 100%; }
.entry-content .wp-block-table { overflow-x: auto; }
.entry-content th,.entry-content td { border: 1px solid #deded9; padding: 12px; text-align: left; }
.entry-content pre { white-space: pre; overflow: auto; padding: 20px; background: #f5f5f2; }
.entry-content .alignwide { width: min(1120px,calc(100vw - 72px)); max-width: none; position: relative; left: 50%; transform: translateX(-50%); }
.entry-content .alignfull { width: calc(100vw - 40px); max-width: none; position: relative; left: 50%; transform: translateX(-50%); }
.alignleft { float: left; margin: 0 24px 20px 0; }
.alignright { float: right; margin: 0 0 20px 24px; }
.aligncenter { display: block; margin-inline: auto; }
.wp-caption { max-width: 100%; }
.wp-caption-text,.gallery-caption { font-size: .8125rem; color: #62686b; }
.sticky { border-top: 2px solid var(--gold); }
.bypostauthor { border-left: 2px solid var(--gold); }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; display: block; height: auto; left: 8px; top: 8px; padding: 16px; width: auto; background: #fff; color: #111; z-index: 100000; }
.search-form { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin: 24px 0; }
.search-form label { flex: 1; min-width: 160px; }
.search-field { width: 100%; min-height: 50px; padding: 12px 16px; border: 1px solid #c7cdce; background: #fff; color: #111; }
.search-submit { min-height: 50px; padding: 12px 24px; background: #111; color: #fff; border: 1px solid #111; }
.comments-area { margin-top: 48px; border-top: 1px solid #deded9; padding-top: 30px; }
.comments-title,.comment-reply-title { font: 400 1.8rem/1.2 var(--serif); }
.comment-list { list-style: none; padding: 0; }
.comment-list .children { list-style: none; margin-left: 16px; padding-left: 16px; }
.comment-body { padding: 20px 0; border-bottom: 1px solid #eee; }
.comment-meta { font-size: .8125rem; line-height: 1.6; }
.comment-author .avatar { display: inline-block; margin-right: 10px; vertical-align: middle; }
.comment-metadata { margin: 6px 0; }
.comment-content { line-height: 1.8; }
.comment-form label { display: block; margin-bottom: 8px; }
.comment-form input:not([type=checkbox]):not([type=submit]),.comment-form textarea { padding: 14px; border: 1px solid #c7cdce; width: 100%; }
.comment-form textarea { min-height: 150px; }
.comment-form-cookies-consent label { display: inline; }
.comment-form .submit { min-height: 48px; padding: 14px 24px; background: #111; color: #fff; border: 0; }
.entry-content :focus-visible,.mkm-content-page a:focus-visible,.search-field:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
@media (max-width:900px) { .mkm-post-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:580px) {
  .mkm-page-body { width: calc(100% - 40px); padding: 36px 0 54px; }
  .mkm-post-grid { grid-template-columns: 1fr; gap: 20px; padding: 30px 0; }
  .entry-content .alignwide,.entry-content .alignfull { width: calc(100vw - 40px); }
  .alignleft,.alignright { float: none; margin-inline: 0; }
}

/* v1.0.1: approved white lockup; no filter-based reconstruction of the logo. */
.footer-brand .mkm-footer-logo { filter: none; object-fit: contain; }
.mkm-legal-trigger { display: inline; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; line-height: inherit; cursor: pointer; }
.mkm-legal-trigger:hover { color: var(--gold2); }
.mkm-legal-trigger:focus-visible { outline: 2px solid var(--gold2); outline-offset: 4px; }
