/* Shared footer and navigation refinements. */
.site-footer.kndi-footer { background: #1c261f; border-top: 3px solid #dd9933; color: #f2f2e9; margin-top: 0; }
.kndi-footer .kf-grid { display: grid; grid-template-columns: 1.25fr 1fr .85fr 1.1fr; gap: 48px; padding-block: 64px 56px; }
.kndi-footer a { text-decoration: none; }
.kndi-footer a:hover { color: #f3ca84; text-decoration: underline; text-underline-offset: 4px; }
.kndi-footer .kf-logo { display: inline-flex; background: #fff; border-radius: 4px; padding: 5px 12px; margin-bottom: 22px; }
.kf-logo img { display: block; width: 204px; height: 62px; object-fit: cover; }
.kf-logo--custom img { object-fit: contain; }
.kndi-footer .kf-tagline { color: #f3ca84; font: 400 27px/1.16 var(--font-serif); letter-spacing: -.015em; margin-bottom: 16px; }
.kndi-footer .kf-description { color: #c5cec4; font-size: 14px; line-height: 1.75; max-width: 30ch; margin-bottom: 24px; }
.kndi-footer .kf-portal { display: inline-flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 46px; border: 1px solid #738171; border-radius: 3px; padding: 11px 15px; font-size: 13px; font-weight: 600; }
.kndi-footer h2 { color: #f0be72; font: 600 12px/1.4 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; margin: 7px 0 24px; }
.kf-nav ul, .kf-social { padding: 0; margin: 0; list-style: none; }
.kf-nav li { margin: 0 0 4px; }
.kf-nav li a { display: inline-flex; align-items: center; min-height: 40px; font-size: 14px; line-height: 1.55; color: #e6ece3; }
.kndi-footer .kf-verify { display: inline-flex; align-items: center; gap: 12px; color: #f3ca84; font-size: 13px; line-height: 1.5; margin-top: 20px; padding-top: 19px; border-top: 1px solid #475245; }
.kf-verify .icon { flex: none; }
.kndi-footer .kf-contact dl { display: grid; grid-template-columns: 1fr; margin: 0; gap: 18px; }
.kndi-footer .kf-contact dt { color: #adbaaa; font-size: 10px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 6px; }
.kndi-footer .kf-contact dd { color: #e6ece3; font-size: 14px; line-height: 1.65; margin: 0; }
.kf-contact dd a { display: block; width: fit-content; padding-block: 2px; }
.kf-social { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 20px; }
.kf-social li { margin: 0; }
.kf-social a { font-size: 13px; display: inline-flex; min-height: 36px; align-items: center; }
.kf-network { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 24px; }
.kf-network > span { flex-basis: 100%; color: #b8c2b8; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.kf-network a { display: inline-flex; align-items: center; gap: 5px; color: #fff; font-size: 12px; }
.kf-network a:hover { color: #efbd68; }
.kf-bottom { border-top: 1px solid #3c493d; background: #172019; }
.kf-bottom > .container { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-block: 20px; }
.kndi-footer .kf-bottom p { font-size: 12px; line-height: 1.7; color: #b9c5b5; margin: 0; }
.kf-bottom > .container > div { display: flex; align-items: center; gap: 24px; flex-shrink: 0; }
.kf-bottom a { font-size: 12px; }
.kf-top { display: inline-flex; align-items: center; gap: 12px; min-height: 36px; }
.kf-top span { border: 1px solid #66765f; border-radius: 50%; width: 30px; height: 30px; display: grid; place-items: center; font-size: 16px; }
.nav-primary__link[role="button"] { cursor: pointer; }
.nav-primary__overview { border-bottom: 1px solid var(--c-line); font-weight: 600; }
@media (max-width: 1100px) { .kndi-footer .kf-grid { gap: 30px; } .kf-logo img { width: 178px; height: 55px; } }
@media (max-width: 900px) { .kndi-footer .kf-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 48px; padding-block: 48px; } .kf-brand { grid-column: 1; } .kf-contact { grid-column: 2; grid-row: 1; } .kf-bottom > .container { align-items: flex-start; } }
@media (max-width: 540px) {
 .kndi-footer .kf-grid { gap: 32px 20px; padding-block: 38px; }
 .kf-brand { grid-column: 1 / -1; }
 .kf-contact { grid-column: 1 / -1; grid-row: auto; border-top: 1px solid #475245; padding-top: 26px; }
 .kndi-footer .kf-contact dl { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
 .kndi-footer h2 { font-size: 11px; margin-bottom: 16px; }
 .kndi-footer .kf-description { max-width: 40ch; }
 .kf-nav li a { font-size: 13px; }
 .kndi-footer .kf-verify { align-items: flex-start; }
 .kf-bottom > .container { flex-direction: column; gap: 14px; }
 .kf-bottom > .container > div { width: 100%; justify-content: space-between; }
}
@media (max-width: 359px) { .kndi-footer .kf-contact dl { grid-template-columns: 1fr; } .kf-nav li a { overflow-wrap: anywhere; } }
@media print { .site-footer.kndi-footer, .kf-bottom { background: #fff; color: #000; } .kndi-footer p, .kndi-footer a, .kndi-footer h2, .kndi-footer dt, .kndi-footer dd { color: #000 !important; } .kf-portal, .kf-network, .kf-social, .kf-top { display: none !important; } }
