/* KEMAY component layer: shared PHP partials and WordPress navigation output. */
.site-header, .site-footer { color: #fff; background: var(--kemay-navy); }
.site-header__inner, .site-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; width: min(100% - 2.5rem, var(--kemay-content-width)); margin: 0 auto; padding: 1rem 0; }
.site-header__brand { display: inline-flex; align-items: center; flex: 0 0 auto; color: inherit; text-decoration: none; }
.site-header__brand img, .custom-logo { width: auto; max-width: min(14rem, 48vw); max-height: 3.5rem; }
.site-header__nav .menu, .site-footer .menu { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; padding: 0; margin: 0; list-style: none; }
.site-header__nav a, .site-footer a { color: inherit; text-decoration: none; }
.site-header__nav a:hover, .site-header__nav a:focus-visible, .site-footer a:hover, .site-footer a:focus-visible { text-decoration: underline; }
.site-header__menu-toggle { display: none; padding: .45rem .7rem; color: #fff; background: transparent; border: 1px solid rgba(255, 255, 255, .65); border-radius: .35rem; }
.site-header__menu-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.kemay-button, .wp-element-button { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; padding: .65rem 1rem; color: #fff; background: var(--kemay-blue); border: 1px solid var(--kemay-blue); border-radius: .4rem; font-weight: 700; text-decoration: none; }
.kemay-button:hover, .kemay-button:focus-visible, .wp-element-button:hover, .wp-element-button:focus-visible { color: #fff; background: var(--kemay-blue-dark); }
.kemay-section-heading { margin: 2.5rem 0 1.25rem; }
.kemay-section-heading__eyebrow, .kemay-page-hero__eyebrow { margin: 0 0 .4rem; color: var(--kemay-blue); font-size: .8rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.kemay-section-heading__title { margin: .25rem 0 .5rem; }
.kemay-section-heading__text, .kemay-page-hero__text { color: var(--kemay-muted); }
.kemay-section-heading__link, .kemay-card__link { font-weight: 700; }
.kemay-solution-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 1.25rem; }
.kemay-card { overflow: hidden; background: #fff; border: 1px solid var(--kemay-border); border-radius: var(--kemay-radius); box-shadow: var(--kemay-shadow); }
.kemay-card__image { width: 100%; }
.kemay-card__body { padding: 1.25rem; }
.kemay-card__title { margin: 0 0 .5rem; }
.kemay-card__text { color: var(--kemay-muted); }
.kemay-faq { display: grid; gap: .75rem; margin: 2rem 0; }
.kemay-faq__item { padding: 1rem 1.25rem; border: 1px solid var(--kemay-border); border-radius: .5rem; }
.kemay-faq__item summary { cursor: pointer; font-weight: 750; }
.kemay-faq__answer { padding-top: .75rem; color: var(--kemay-muted); }
.kemay-contact-cta { margin: 3rem 0 1rem; padding: clamp(1.5rem, 4vw, 2.5rem); color: #fff; background: var(--kemay-navy); border-radius: var(--kemay-radius); }
.kemay-contact-cta h2, .kemay-contact-cta p { color: inherit; }
.kemay-route-list { padding-left: 1.25rem; }
.kemay-contact-details { padding: 1rem 1.25rem; background: var(--kemay-light); border-radius: .5rem; }
.kemay-contact-details p { margin: .35rem 0; }

@media (max-width: 760px) {
	.site-header__inner, .site-footer__inner { width: min(100% - 1.5rem, var(--kemay-content-width)); }
	.site-header__menu-toggle { display: inline-flex; }
	.site-header__nav { width: 100%; }
	.site-header__inner { flex-wrap: wrap; }
	.site-header__nav .menu { align-items: flex-start; flex-direction: column; gap: .65rem; padding: .75rem 0 .25rem; }
	.site-header__nav[hidden] { display: none; }
	.site-footer__inner { align-items: flex-start; flex-direction: column; }
}
