/* KuroBuddy HP official download badges & compact footer — 2026-10-24 */
.kb-store-official { display:inline-flex !important; align-items:center !important; justify-content:center !important; padding:0 !important; border:0 !important; box-shadow:none !important; background:transparent !important; text-decoration:none !important; min-height:0 !important; width:auto !important; max-width:100%; border-radius:0 !important; vertical-align:middle; }
.kb-store-official img { display:block !important; width:auto !important; height:50px !important; max-width:100%; border:0 !important; object-fit:contain; border-radius:0 !important; background:transparent !important; box-shadow:none !important; }
.kb-store-official.kb-store-google img { height:65px !important; }
.kb-store-official:focus-visible { outline:2px solid #ffa254 !important; outline-offset:5px !important; border-radius:5px !important; }
.kb-store-official:hover, .kb-store-official:focus { background:transparent !important; transform:none !important; box-shadow:none !important; }
.kb-store-actions, .kb-store-panel, .kb-badge-row { display:flex !important; align-items:center !important; flex-wrap:wrap !important; gap:8px 12px !important; }
.kb-store-panel { justify-content:center !important; }
.kb-badge-row { margin:14px 0 4px; }
.kb-badge-row.kb-badge-row-center { justify-content:center !important; }
@media(max-width:600px) { .kb-store-actions .kb-store-official,.kb-store-panel .kb-store-official { width:auto !important; } }

/* Unified horizontal footer: no stacked link columns or mid-word wrapping. */
footer.kb-footer {
  display:block; position:relative; z-index:1; margin:0; padding:28px 0 19px;
  border-top:1px solid rgba(255,255,255,.11); background:#12091b;
  background-image:radial-gradient(ellipse at 24% 0%,rgba(90,31,112,.17),transparent 55%);
  color:#f6f1fb; font:inherit; font-size:13px; text-align:left; line-height:1.6; box-shadow:none;
}
footer.kb-footer * { box-sizing:border-box; }
footer.kb-footer .kb-footer-wrap { width:min(1120px,calc(100% - 48px)); max-width:none; padding:0; margin:0 auto; }
footer.kb-footer a { color:#dcd2e6; margin:0; text-decoration:none; font-weight:500; letter-spacing:0; transition:color .16s ease; }
footer.kb-footer a:hover { color:#ffb384; }
footer.kb-footer a:focus-visible { outline:2px solid #ffb384; outline-offset:4px; border-radius:3px; }
footer.kb-footer .kb-footer-main { display:flex; align-items:center; justify-content:space-between; gap:16px 26px; flex-wrap:wrap; }
footer.kb-footer .kb-footer-brand { display:inline-flex; align-items:center; gap:10px; min-width:max-content; flex:none; }
footer.kb-footer .kb-footer-brand img { display:block; width:38px; height:38px; border-radius:9px; flex:none; object-fit:cover; }
footer.kb-footer .kb-footer-brand strong { font-size:17px; line-height:1.2; font-weight:800; color:#fff; white-space:nowrap; }
footer.kb-footer .kb-footer-nav { display:flex; align-items:center; justify-content:flex-end; gap:8px 20px; flex-wrap:wrap; flex:1 1 auto; min-width:0; }
footer.kb-footer .kb-footer-nav a { display:inline-block; white-space:nowrap; overflow-wrap:normal; word-break:keep-all; font-size:12.5px; line-height:1.6; }
footer.kb-footer .kb-footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px 22px; border-top:1px solid rgba(255,255,255,.10); margin-top:25px; padding-top:16px; }
footer.kb-footer .kb-footer-copyright { margin:0; padding:0; color:#9c90a9; font-size:12px; white-space:nowrap; }
footer.kb-footer .kb-footer-copyright a,footer.kb-footer .kb-footer-transport { font-size:12px; color:#cdbfd9; font-weight:600; white-space:nowrap; }
footer.kb-footer .kb-footer-copyright a span,footer.kb-footer .kb-footer-transport span { margin-left:3px; opacity:.7; }
@media(max-width:1050px) {
  footer.kb-footer .kb-footer-main { justify-content:flex-start; }
  footer.kb-footer .kb-footer-nav { justify-content:flex-start; }
}
@media(max-width:640px) {
  footer.kb-footer { padding:24px 0 18px; }
  footer.kb-footer .kb-footer-wrap { width:calc(100% - 36px); }
  footer.kb-footer .kb-footer-main { gap:15px 0; }
  footer.kb-footer .kb-footer-nav { flex:1 1 100%; justify-content:flex-start; gap:9px 17px; }
  footer.kb-footer .kb-footer-nav a { font-size:12px; }
  footer.kb-footer .kb-footer-bottom { margin-top:18px; gap:8px 18px; }
  footer.kb-footer .kb-footer-copyright,footer.kb-footer .kb-footer-copyright a,footer.kb-footer .kb-footer-transport { font-size:11.5px; }
}
