/* KizunaGo Navbar/Footer Polish
   Fixes duplicated old text brand and improves lateral spacing/footer layout.
*/

/* Header / navbar spacing */
header,
.site-header,
.navbar,
.kz-navbar {
    min-height: 64px;
}

header .container,
header .container-fluid,
.site-header .container,
.site-header .container-fluid,
.navbar .container,
.navbar .container-fluid,
.kz-navbar .container,
.kz-navbar .container-fluid {
    padding-left: clamp(24px, 3.2vw, 56px) !important;
    padding-right: clamp(24px, 3.2vw, 56px) !important;
}

/* Logo sizing and spacing */
.kz-brand-logo-header,
header .kz-brand-logo,
.navbar .kz-brand-logo,
.site-header .kz-brand-logo {
    margin-right: clamp(24px, 2.4vw, 44px) !important;
}

.kz-brand-logo-header .kz-brand-logo-img,
header .kz-brand-logo-img,
.navbar .kz-brand-logo-img {
    height: 42px !important;
    max-height: 42px !important;
    width: auto !important;
    object-fit: contain !important;
}

/*
   Hide duplicated legacy brand text that remained after the logo:
   "K KizunaGo Japanese LMS"
*/
.kz-legacy-brand,
.kz-old-brand,
.legacy-brand,
.old-brand,
.brand-text-old,
.navbar-brand-legacy,
.header-brand-text,
.header-brand-copy,
.site-brand-text,
.site-brand-subtitle,
.logo-letter-only,
.kz-logo-letter-only {
    display: none !important;
}

/* If the old KizunaGo Japanese LMS was left as a plain nav item, hide by class injected via JS */
.kz-remove-legacy-brand {
    display: none !important;
}

/* Safer cleanup for direct logo-letter spans in nav */
header span:first-child:is(.logo-mark, .brand-mark, .k-mark),
.navbar span:first-child:is(.logo-mark, .brand-mark, .k-mark) {
    display: none !important;
}

/* Make nav links breathe better */
.navbar-nav,
.header-nav,
.site-nav,
.kz-nav-links {
    gap: clamp(4px, .6vw, 10px) !important;
}

.navbar-nav .nav-link,
.header-nav a,
.site-nav a,
.kz-nav-links a {
    white-space: nowrap;
}

/* Footer redesign */
footer,
.site-footer,
.kz-footer {
    background:
        radial-gradient(circle at 10% 0%, rgba(47, 109, 246, .07), transparent 34%),
        linear-gradient(180deg, #ffffff, #f7fbff) !important;
    border-top: 1px solid rgba(15, 23, 42, .07) !important;
    margin-top: 64px !important;
}

footer .container,
footer .container-fluid,
.site-footer .container,
.site-footer .container-fluid,
.kz-footer .container,
.kz-footer .container-fluid {
    padding-left: clamp(24px, 3.2vw, 56px) !important;
    padding-right: clamp(24px, 3.2vw, 56px) !important;
}

/* Footer grid, works with Bootstrap columns and generic wrappers */
footer .row,
.site-footer .row,
.kz-footer .row {
    row-gap: 28px !important;
}

footer .kz-brand-logo-footer,
.site-footer .kz-brand-logo-footer,
.kz-footer .kz-brand-logo-footer {
    margin-bottom: 18px !important;
}

footer .kz-brand-logo-img,
.site-footer .kz-brand-logo-img,
.kz-footer .kz-brand-logo-img {
    height: 46px !important;
    max-height: 46px !important;
    width: auto !important;
    object-fit: contain !important;
}

footer h5,
footer h6,
footer .footer-title,
footer .tiny-label,
.site-footer h5,
.site-footer h6,
.kz-footer h5,
.kz-footer h6 {
    color: #64748b !important;
    font-size: .75rem !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    letter-spacing: .14em !important;
    font-weight: 900 !important;
    margin-bottom: 14px !important;
}

footer p,
.site-footer p,
.kz-footer p {
    color: #64748b !important;
    line-height: 1.7 !important;
}

footer a,
.site-footer a,
.kz-footer a {
    color: #334155 !important;
    text-decoration: none !important;
    font-weight: 750 !important;
}

footer a:hover,
.site-footer a:hover,
.kz-footer a:hover {
    color: #2f6df6 !important;
}

footer ul,
.site-footer ul,
.kz-footer ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    gap: 10px !important;
}

/* Newsletter polish */
footer form,
.site-footer form,
.kz-footer form {
    display: flex !important;
    gap: 10px !important;
    align-items: stretch !important;
    max-width: 520px !important;
}

footer input[type="email"],
footer input[name="email"],
.site-footer input[type="email"],
.kz-footer input[type="email"] {
    min-height: 46px !important;
    border-radius: 15px !important;
    border: 1px solid rgba(15, 23, 42, .10) !important;
    padding: 0 16px !important;
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .035) !important;
}

footer button,
.site-footer button,
.kz-footer button {
    min-height: 46px !important;
    border-radius: 15px !important;
    font-weight: 850 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
}

/* Bottom bar */
footer .border-top,
.site-footer .border-top,
.kz-footer .border-top,
footer .footer-bottom,
.site-footer .footer-bottom,
.kz-footer .footer-bottom {
    border-color: rgba(15, 23, 42, .08) !important;
}

/* Remove duplicated plain "K KizunaGo Japanese LMS" in footer too */
footer .kz-remove-legacy-brand,
.site-footer .kz-remove-legacy-brand,
.kz-footer .kz-remove-legacy-brand {
    display: none !important;
}

@media (max-width: 991.98px) {
    header .container,
    header .container-fluid,
    .site-header .container,
    .site-header .container-fluid,
    .navbar .container,
    .navbar .container-fluid {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .kz-brand-logo-header .kz-brand-logo-img,
    header .kz-brand-logo-img,
    .navbar .kz-brand-logo-img {
        height: 36px !important;
        max-height: 36px !important;
    }

    footer form,
    .site-footer form,
    .kz-footer form {
        flex-direction: column !important;
    }

    footer button,
    .site-footer button,
    .kz-footer button {
        width: 100% !important;
    }
}
