/* Shared branded catalogue theme, layered over the existing functional UI. */
body.km-branded-site { --km-shell-width:1280px; --km-gutter:clamp(16px,3vw,40px); margin:0; padding:0; max-width:none; min-width:0; background:#fff; color:#193548; font:15px/1.6 Arial,Helvetica,sans-serif; }
body.km-branded-site #pagewrapper { background:#fff; }
body.km-branded-site .km-theme-header { height:auto!important; min-height:88px; background:#183547!important; border:0; margin:0; padding:0; }
body.km-branded-site .km-home-header-inner { box-sizing:border-box; max-width:var(--km-shell-width); margin:auto; padding:20px var(--km-gutter); display:flex; align-items:center; justify-content:space-between; gap:28px; }
body.km-branded-site .km-home-brand { display:block; flex:0 0 auto; padding:0; color:#fff; text-decoration:none; background:none; height:auto; text-indent:0; }
body.km-branded-site .km-home-brand strong { display:block; font:700 21px/1.25 Arial,sans-serif; letter-spacing:-.6px; }
body.km-branded-site .km-home-brand span { display:block; margin-top:5px; font:10px/1.3 Arial,sans-serif; letter-spacing:2px; }
body.km-branded-site #menu_vert { box-sizing:border-box; display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:6px 24px; width:auto; margin:0; padding:0; min-height:0; border:0; background:transparent; }
body.km-branded-site #menu_vert a { display:inline-flex; align-items:center; min-height:44px; padding:0; color:#edf3f7; font:14px/1.3 Arial,sans-serif; text-decoration:none; border-bottom:2px solid transparent; }
body.km-branded-site #menu_vert a:hover,body.km-branded-site #menu_vert a[aria-current],body.km-branded-site #menu_vert .km-home-contact { border-bottom-color:#efbd28; }
body.km-branded-site :focus-visible { outline:3px solid #d99f00; outline-offset:3px; }
body.km-branded-site #header a:focus-visible { outline-color:#efbd28; }
body.km-branded-site #content,body.km-branded-site .engine-main { box-sizing:border-box; max-width:var(--km-shell-width)!important; width:100%; margin:0 auto; padding:36px var(--km-gutter) 48px!important; }
body.km-branded-site.km-branded-home #content { padding-top:0!important; }
body.km-branded-site .crbk { display:none; }
body.km-branded-site #main { min-width:0; }
body.km-branded-site #main h1 { color:#193548; }
body.km-branded-site #main h2 { color:#193548; border:0; background:none; padding-left:0; }
body.km-branded-site .km-section-title,body.km-branded-site .km-product-title { font-size:clamp(28px,3.2vw,44px); line-height:1.16; letter-spacing:-1.2px; }
body.km-branded-site .km-section-lead,body.km-branded-site .km-product-intro { color:#536d7d; }
body.km-branded-site .km-breadcrumbs { font-size:12px; margin-bottom:18px; color:#536d7d; }
body.km-branded-site .km-breadcrumbs a { color:#536d7d; }
body.km-branded-site .km-product-summary { background:#f2f5f7; border:1px solid #e0e8ee; border-radius:16px; padding:24px; margin:24px 0; box-shadow:none; }
body.km-branded-site .km-product-summary dl { background:transparent; border:0; padding:0; gap:10px; box-shadow:none; }
body.km-branded-site .km-product-summary dl div { background:#fff; border:1px solid #e0e8ee; border-radius:9px; padding:12px; }
body.km-branded-site .km-product-summary dt { color:#536d7d; }
body.km-branded-site .km-product-summary dd { color:#193548; }
body.km-branded-site .km-single-purchase { color:#193548; }
body.km-branded-site .Paygen { border-color:#d7e2ea; border-radius:16px; box-shadow:0 10px 32px #19354808; padding:24px; }
body.km-branded-site .km-product-ready.Paygen { border-color:#d7e2ea; border-radius:16px; padding:28px; }
body.km-branded-site .km-product-ready .Paygen_image { background:#f2f5f7; border-radius:12px; padding:14px; }
body.km-branded-site .km-order-summary__label { color:#536d7d; font-size:11px; letter-spacing:1px; }
body.km-branded-site .km-order-price { color:#193548; font-size:32px; }
body.km-branded-site .km-buy-button { background:#f0bd26!important; color:#193548!important; border:0!important; border-radius:10px!important; min-height:52px; box-shadow:none; }
body.km-branded-site .km-buy-button:hover { background:#e3af17!important; }
body.km-branded-site .Paygen_select,body.km-branded-site .Paygen select { border-color:#cddbe5; border-radius:9px; }
body.km-branded-site .km-model-finder { background:#f2f5f7; color:#193548; border:1px solid #d7e2ea; border-radius:14px; padding:24px; }
body.km-branded-site .km-model-finder button,body.km-branded-site .KiParts_SearchForm button { background:#f0bd26; color:#193548; border:0; border-radius:10px; min-height:48px; }
body.km-branded-site .km-directory-card,body.km-branded-site .km-contact-card { border:1px solid #d7e2ea; border-radius:16px; box-shadow:none; padding:28px; }
body.km-branded-site .km-directory-card:hover { border-color:#9db8ca; box-shadow:0 8px 24px #1935480c; }
body.km-branded-site .km-help-panel { background:#f2f5f7; border:1px solid #e0e8ee; border-radius:16px; padding:24px; }
body.km-branded-site .km-model-hub__list a,body.km-branded-site .km-model-reference { border-color:#d7e2ea; border-radius:12px; }
body.km-branded-site .km-contact-action { color:#193548; overflow-wrap:anywhere; }
/* Live filters and cards keep all IDs, event handlers and document links. */
body.km-branded-site:not(.km-branded-home) #km-live-finder .intro { max-width:none; padding:28px; background:#f2f5f7; border-radius:16px; border:1px solid #e4ebf0; }
body.km-branded-site #km-live-finder .search { box-shadow:none; border-color:#d7e2ea; }
body.km-branded-site #km-live-finder .search button,body.km-branded-site #km-live-finder .primary { background:#f0bd26; color:#193548; border-color:#dfb022; }
body.km-branded-site #km-live-finder #filters { background:#f7f9fa; border-color:#e0e7ec; box-shadow:none; }
body.km-branded-site #km-live-finder article { box-shadow:none; border:1px solid #d7e2ea; border-radius:14px; padding:20px; }
body.km-branded-site #km-live-finder article:hover { border-color:#9db8ca; }
body.km-branded-site #km-live-finder .manual-preview { background:#f2f5f7; border-radius:10px; }
body.km-branded-site #km-live-finder .manual-preview img { background:transparent; padding:14px; }
body.km-branded-site #km-live-finder .km-home-card-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:8px; }
body.km-branded-site #km-live-finder .km-home-card-price { font-size:27px; color:#193548; font-weight:700; letter-spacing:-.6px; }
body.km-branded-site #km-live-finder .km-home-card-price small { font-size:10px; font-weight:400; letter-spacing:0; }
body.km-branded-site #km-live-finder .km-home-card-bottom .card-cta { margin:0; padding:12px 14px; min-height:44px; display:inline-flex; align-items:center; border:0; border-radius:10px; background:#f0bd26; color:#193548; font-weight:600; font-size:13px; }
/* Standalone model and engine pages use the same shell without CMS dependencies. */
body.km-branded-site.kmg-page main { margin:0; padding:0; }
body.km-branded-site .kmg { box-sizing:border-box; max-width:var(--km-shell-width); padding:32px var(--km-gutter); margin:0 auto; font-family:Arial,Helvetica,sans-serif; }
body.km-branded-site .kmg h1,body.km-branded-site .engine-main h1 { color:#193548; font-size:clamp(28px,3.2vw,44px); line-height:1.16; letter-spacing:-1.2px; }
body.km-branded-site .kmg-card,body.km-branded-site .engine-card { background:#fff; border:1px solid #d7e2ea; border-radius:16px; box-shadow:none; padding:24px; }
body.km-branded-site .kmg-list { list-style:none; padding:0; }
body.km-branded-site .kmg-list li { padding:18px 20px; border:1px solid #d7e2ea; border-radius:12px; margin:10px 0; background:#fff; }
body.km-branded-site .kmg-list a { color:#193548; font-weight:600; text-decoration:none; }
body.km-branded-site .kmg-list a:hover { text-decoration:underline; }
body.km-branded-site .kmg-filter,body.km-branded-site .engine-search { background:#f2f5f7; border:1px solid #d7e2ea; border-radius:14px; padding:20px; }
body.km-branded-site .kmg-filter input,body.km-branded-site .engine-search input { border:1px solid #cddbe5; border-radius:9px; background:#fff; padding:12px; min-height:46px; font-size:16px; box-sizing:border-box; }
body.km-branded-site .kmg-button,body.km-branded-site .kmg-quick,body.km-branded-site .kmg-filter button,body.km-branded-site .engine-search button,body.km-branded-site .engine-button { display:inline-flex; align-items:center; justify-content:center; min-height:46px; border:0; border-radius:10px; background:#f0bd26; color:#193548; padding:12px 18px; font-weight:600; text-decoration:none; }
body.km-branded-site .kmg-note,body.km-branded-site .engine-guide { background:#f2f5f7; border:1px solid #e0e8ee; border-radius:14px; padding:24px; }
body.km-branded-site .kmg-codes a,body.km-branded-site .engine-types a { background:#f2f5f7; border:1px solid #d7e2ea; border-radius:24px; color:#193548; min-height:44px; display:inline-flex; align-items:center; }
body.km-branded-site .km-policy-content { box-sizing:border-box; max-width:960px; margin:0 auto; padding:40px var(--km-gutter) 56px; border:0; background:#fff; border-radius:0; box-shadow:none; overflow-wrap:anywhere; }
body.km-branded-site .km-policy-content h1 { color:#193548; font-size:clamp(28px,3vw,40px); line-height:1.2; letter-spacing:-.8px; }
/* One visible footer; original footer links remain in the source for compatibility. */
body.km-branded-site #footer,body.km-branded-site .kmg-footer,body.km-branded-site .engine-footer,body.km-branded-site .km-policy-footer,body.km-branded-site .km-rkn-links { display:none; }
body.km-branded-site .km-theme-footer { border-top:1px solid #dce5eb; background:#f2f5f7; margin:0; padding:0; color:#536d7d; }
body.km-branded-site .km-theme-footer-inner { box-sizing:border-box; max-width:var(--km-shell-width); margin:auto; padding:36px var(--km-gutter) 24px; display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:40px; font-size:13px; }
body.km-branded-site .km-theme-footer strong { color:#193548; font-size:18px; }
body.km-branded-site .km-theme-footer p { margin:12px 0; line-height:1.7; }
body.km-branded-site .km-theme-footer nav a { color:#38556b; text-decoration:none; min-height:44px; display:flex; align-items:center; font-size:13px; }
body.km-branded-site .km-theme-footer nav a:hover { color:#193548; text-decoration:underline; }
body.km-branded-site .km-theme-legal { box-sizing:border-box; max-width:var(--km-shell-width); padding:14px var(--km-gutter) 24px; margin:auto; display:flex; flex-wrap:wrap; gap:4px 28px; border-top:1px solid #dce5eb; }
@media(max-width:1100px) { body.km-branded-site #menu_vert { gap:4px 15px; } body.km-branded-site #menu_vert a { font-size:12px; } }
@media(max-width:760px) {
 body.km-branded-site .km-home-header-inner { flex-direction:column; align-items:flex-start; gap:14px; padding-block:20px 12px; }
 body.km-branded-site #menu_vert { justify-content:flex-start; gap:0 18px; }
 body.km-branded-site #menu_vert a { min-height:44px; font-size:13px; }
 body.km-branded-site .km-home-brand strong { font-size:20px; }
 body.km-branded-site #content,body.km-branded-site .engine-main { padding:24px var(--km-gutter) 32px!important; }
 body.km-branded-site .km-product-summary { padding:16px; }
 body.km-branded-site .km-product-ready.Paygen { padding:18px; }
 body.km-branded-site:not(.km-branded-home) #km-live-finder .intro { padding:22px 18px; }
 body.km-branded-site #km-live-finder #filters { border-radius:0; }
 body.km-branded-site #km-live-finder article { padding:18px; }
 body.km-branded-site .km-directory-card,body.km-branded-site .km-contact-card { padding:22px; }
 body.km-branded-site .kmg { padding:24px var(--km-gutter); }
 body.km-branded-site .kmg-filter input,body.km-branded-site .engine-search input { min-width:0; width:100%; }
 body.km-branded-site .km-policy-content { padding:28px var(--km-gutter) 36px; }
 body.km-branded-site .km-theme-footer-inner { grid-template-columns:1fr 1fr; gap:18px; padding-top:28px; }
 body.km-branded-site .km-theme-footer-inner>div { grid-column:1/-1; }
 body.km-branded-site .km-theme-legal { gap:0 18px; }
}

body.km-branded-site .km-rkn-cookie { background:#183547; color:#fff; }
body.km-branded-site .km-rkn-cookie button { background:#f0bd26; color:#193548; min-height:44px; padding:10px 18px; font-weight:700; border-radius:9px; }

/* Historical All manuals landing retains its exact search route and category URLs. */
body.km-branded-site .km-manuals-landing { color:#193548; }
body.km-branded-site .km-manuals-landing h1 { font-size:clamp(28px,3.2vw,44px); line-height:1.16; letter-spacing:-1px; }
body.km-branded-site .km-manuals-landing>p { max-width:760px; margin:18px 0 28px; color:#536d7d; font-size:17px; }
body.km-branded-site .km-catalog-search { display:flex; flex-wrap:wrap; gap:12px; align-items:center; padding:24px; margin:24px 0; background:#f2f5f7; border:1px solid #d7e2ea; border-radius:14px; }
body.km-branded-site .km-catalog-search label { flex-basis:100%; font-weight:700; }
body.km-branded-site .km-catalog-search input { box-sizing:border-box; flex:1 1 260px; width:auto; min-width:0; max-width:100%; min-height:48px; padding:12px 14px; border:1px solid #cddbe5; border-radius:9px; background:#fff; color:#193548; font-size:16px; }
body.km-branded-site .km-catalog-search button { min-height:48px; padding:12px 20px; border:0; border-radius:10px; background:#f0bd26; color:#193548; font-size:15px; font-weight:700; cursor:pointer; }
body.km-branded-site .km-manual-categories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:24px 0; padding:0; list-style:none; }
body.km-branded-site .km-manual-categories li { padding:0; margin:0; list-style:none; }
body.km-branded-site .km-manual-categories a { display:flex; box-sizing:border-box; align-items:center; height:100%; min-height:76px; padding:20px 24px; border:1px solid #d7e2ea; border-radius:12px; color:#193548; font-weight:700; text-decoration:none; }
body.km-branded-site .km-manual-categories a:hover { background:#f2f5f7; border-color:#9db8ca; }
@media(max-width:760px) {
 body.km-branded-site .km-catalog-search { padding:18px; }
 body.km-branded-site .km-catalog-search input,body.km-branded-site .km-catalog-search button { flex-basis:100%; width:100%; }
 body.km-branded-site .km-manual-categories { grid-template-columns:1fr; gap:12px; }
}
