/*
Theme Name:   Msingi Child
Template:     msingi
Description:  Starter child theme for Msingi. Put your design changes here so Msingi updates never overwrite them.
Version:      1.0.4
Text Domain:  msingi-child
*/

/* Example: a different accent just for this site (or set it in Msingi Options → Brand). */
/* :root { --ms-accent: #1f6feb; } */

/* ==========================================================================
   Header fix (31 Oct 2026) — keeps menu labels on one line.
   Same change as Msingi 1.0.1; safe to delete once Msingi 1.0.1 is installed.
   ========================================================================== */
@media (min-width: 1260px) {
	.ms-menu { gap: clamp(16px, 1.9vw, 40px); }
	.ms-menu a { font-size: clamp(15px, calc(8px + .6vw), 19px); white-space: nowrap; }
	.ms-cta { padding: 0 clamp(22px, 2vw, 34px); min-height: clamp(50px, calc(30px + 2.4vw), 66px); font-size: clamp(15px, calc(9px + .6vw), 19px); }
}
@media (min-width: 1260px) and (max-width: 1500px) {
	.ms-header__inner { gap: clamp(16px, 1.6vw, 32px); }
	.ms-header__actions { margin-left: clamp(12px, 1.4vw, 30px); }
	body { --ms-logo-h: clamp(40px, 3.4vw, 52px); }
}

/* Slide-out menu below 1260px (was 1100px). */
@media (min-width: 1101px) and (max-width: 1259px) {
	:root { --ms-header-h: 80px; --ms-topbar-h: 48px; }
	.ms-topbar { font-size: 15px; }
	.ms-topbar__tagline { padding-right: 24px; }
	.ms-topbar__btn { padding: 0 20px; }
	.ms-logo img { height: min(var(--ms-logo-h), 42px); }
	.ms-header__brand.has-plate .ms-logo { padding: 7px 16px; }
	.ms-header__actions { margin-left: auto; position: relative; z-index: 95; }
	.ms-menu-toggle { display: inline-flex; }
	.ms-cta { min-height: 50px; padding: 0 24px; font-size: 16px; }
	.ms-nav {
		position: fixed; top: var(--ms-admin-bar); right: 0; bottom: 0;
		width: min(360px, 88vw); margin: 0; padding: 96px 28px 40px;
		background: var(--ms-header-solid);
		border-left: 1px solid rgba(255, 255, 255, .06);
		box-shadow: -20px 0 50px rgba(0, 0, 0, .5);
		overflow-y: auto; transform: translateX(100%); visibility: hidden;
		transition: transform .3s var(--ms-ease), visibility .3s; z-index: 90;
	}
	.ms-nav-open .ms-nav { transform: none; visibility: visible; }
	.ms-nav-backdrop { position: fixed; inset: 0; background: rgba(0, 0, 0, .55); z-index: 80; opacity: 0; transition: opacity .3s; }
	.ms-nav-open .ms-nav-backdrop { opacity: 1; }
	.ms-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.ms-menu li { border-bottom: 1px solid rgba(255, 255, 255, .08); }
	.ms-menu li li { border-bottom: 0; }
	.ms-menu > li > a { padding: 14px 0; }
	.ms-menu > li > a::after { right: auto; width: 28px; bottom: 8px; }
	.ms-menu a { font-size: 18px; }
	.ms-menu .ms-caret { display: none; }
	.ms-menu .menu-item-has-children,
	.ms-menu .page_item_has_children { display: flex; flex-wrap: wrap; align-items: center; }
	.ms-menu .menu-item-has-children > a,
	.ms-menu .page_item_has_children > a { flex: 1; }
	.ms-submenu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 0; background: transparent; color: var(--ms-menu); cursor: pointer; }
	.ms-submenu-toggle svg { width: 14px; height: 14px; transition: transform .2s; }
	.ms-submenu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
	.ms-menu .sub-menu, .ms-menu .children, .ms-menu .sub-menu .sub-menu, .ms-menu .children .children {
		position: static; flex-basis: 100%; min-width: 0; padding: 0 0 10px 14px; border: 0; border-radius: 0;
		box-shadow: none; background: transparent; opacity: 1; visibility: visible; transform: none; display: none;
	}
	.ms-menu > li > .sub-menu::before, .ms-menu > li > .children::before { display: none; }
	.ms-menu li:hover > .sub-menu, .ms-menu li:hover > .children { display: none; }
	.ms-menu .is-open > .sub-menu, .ms-menu .is-open > .children { display: block !important; }
	.ms-menu .sub-menu a, .ms-menu .children a { padding: 8px 0; }
	.ms-menu .sub-menu a:hover { background: transparent; }
	.ms-menu .sub-menu .menu-item-has-children > a::after, .ms-menu .children .page_item_has_children > a::after { display: none; }
	.ms-cta--panel { display: flex; width: 100%; margin-top: 28px; }
	.ms-style-classic { --ms-header-h: 76px; --ms-topbar-h: 43px; }
	.ms-style-classic .ms-header__actions { margin-left: auto; }
	.ms-style-classic .ms-nav { border-left: 0; box-shadow: -20px 0 50px rgba(17, 24, 39, .14); }
	.ms-style-classic .ms-nav-backdrop { background: rgba(15, 18, 28, .4); }
	.ms-style-classic .ms-menu li { border-bottom-color: #EEF0F4; }
}

/* Footer copyright size (31 Oct 2026) — same as Msingi 1.0.1. */
.ms-footer__bar-inner { min-height: 96px; padding-block: 28px; }
.ms-footer__copy { font-size: 15px; line-height: 1.6; letter-spacing: .01em; }
.ms-footer__menu { font-size: 15px; }
@media (max-width: 900px) {
	.ms-footer__copy { font-size: 14px; }
	.ms-footer__bar-inner { min-height: 84px; }
}

/* Hero sits flush under the header (31 Oct 2026): no Elementor container padding around full-page HTML designs. */
.elementor-4624 .elementor-element-13e13f30,
.elementor-4528 .elementor-element-19afefe,
.elementor-5854 .elementor-element-2cda703 { padding: 0 !important; }
.elementor-4624 .elementor-element-13e13f30 > .e-con-inner,
.elementor-4528 .elementor-element-19afefe > .e-con-inner { padding: 0 !important; max-width: none !important; }
