/* ==========================================================================
   Koju Black Spice - shared navigation bar + footer
   Same black bar as the cart page. Used on: Home, Products, Cart,
   Get a Quote and Terms pages.
   ========================================================================== */

.kn-bar {
    position: sticky;
    top: 0;
    z-index: 1000;
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 0 6%;
    background: #111;
    font-family: "Poppins", sans-serif;
    box-shadow: 0 6px 24px rgba(0, 0, 0, .18);
}

.kn-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-weight: 800;
    font-size: 19px;
    text-decoration: none;
    white-space: nowrap;
}

.kn-brand img {
    width: 43px;
    height: 43px;
    object-fit: contain;
    border-radius: 8px;
    background: #000;
}

.kn-brand b { color: #f4c430; font-weight: 800; }

.kn-links {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-left: auto;
}

.kn-links a {
    position: relative;
    padding: 6px 0;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: color .2s ease;
}

.kn-links a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 0;
    height: 3px;
    border-radius: 10px;
    background: #f4c430;
    transition: width .25s ease;
}

.kn-links a:hover,
.kn-links a.active { color: #f4c430; }

.kn-links a:hover::after,
.kn-links a.active::after { width: 100%; }

/* cart icon + user icon: same row, same height, evenly spaced */
.kn-actions {
    display: flex;
    align-items: center;
    gap: 30px;
}

.kn-cart {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #f4c430;
    color: #111;
    font-size: 19px;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease;
}

.kn-cart:hover { transform: translateY(-2px); background: #ffd75a; }

.kn-count {
    position: absolute;
    top: -5px;
    right: -4px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    background: #b58aa6;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

.kn-burger {
    display: none;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #fff;
    font-size: 28px;
    cursor: pointer;
}

@media (max-width: 800px) {
    .kn-bar { padding: 0 4%; gap: 12px; }
    .kn-actions { gap: 16px; margin-left: auto; }
    .kn-burger { display: grid; }

    .kn-links {
        position: absolute;
        top: 76px;
        left: 0;
        right: 0;
        display: none;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        margin: 0;
        padding: 8px 20px 18px;
        background: #111;
        border-top: 1px solid rgba(255, 255, 255, .1);
        box-shadow: 0 20px 30px rgba(0, 0, 0, .25);
    }

    .kn-links.open { display: flex; animation: knDrop .25s ease-out; }
    .kn-links a { padding: 15px 4px; border-bottom: 1px solid rgba(255, 255, 255, .08); }
    .kn-links a:last-child { border-bottom: 0; }
    .kn-links a::after { display: none; }
}

@media (max-width: 800px) {
    .kn-brand { min-width: 0; flex: 0 1 auto; font-size: 17px; }
    .kn-brand span { overflow: hidden; text-overflow: ellipsis; }
}

@media (max-width: 480px) {
    .kn-bar { gap: 8px; }
    .kn-brand { font-size: 15px; gap: 8px; }
    .kn-brand img { width: 38px; height: 38px; flex: none; }
    .kn-actions { gap: 12px; }
    .kn-cart, .kn-burger { width: 40px; height: 40px; }
}

@media (max-width: 360px) {
    .kn-brand { font-size: 14px; }
    .kn-actions { gap: 8px; }
}

@keyframes knDrop {
    from { opacity: 0; transform: translateY(-10px); }
    to   { opacity: 1; transform: none; }
}

/* ==========================================================================
   FOOTER
   ========================================================================== */

.kf {
    background: #111;
    color: #fff;
    padding: 64px 0 0;
    font-family: "Poppins", sans-serif;
}

.kf-wrap { width: min(1200px, 92%); margin: 0 auto; }

.kf-grid {
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.3fr;
    gap: 44px;
}

.kf-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #fff;
    text-decoration: none;
}

.kf-logo img { width: 50px; height: 50px; border-radius: 10px; object-fit: contain; background: #000; }
.kf-logo strong { display: block; font-size: 17px; line-height: 1.2; }
.kf-logo small { display: block; color: #9a9a9a; font-size: 11px; margin-top: 2px; }

.kf-brand p { margin: 18px 0 0; color: #bdbdbd; font-size: 14px; line-height: 1.8; max-width: 340px; }

.kf-social { display: flex; gap: 10px; margin-top: 20px; }

.kf-social a {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, .09);
    color: #fff;
    text-decoration: none;
    font-size: 17px;
    transition: background .2s, color .2s, transform .2s;
}

.kf-social a:hover { background: #f4c430; color: #111; transform: translateY(-3px); }

.kf-col h4 { margin: 0 0 18px; font-size: 15px; color: #f4c430; letter-spacing: .3px; }

.kf-col a,
.kf-col p {
    display: block;
    margin: 0 0 11px;
    color: #c9c9c9;
    font-size: 14px;
    line-height: 1.6;
    text-decoration: none;
}

.kf-col a:hover { color: #f4c430; }

.kf-bottom {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: 48px;
    padding: 22px 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: #8d8d8d;
    font-size: 13px;
}

@media (max-width: 1000px) {
    .kf-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
    .kf { padding-top: 48px; }
    .kf-grid { grid-template-columns: 1fr; gap: 32px; }
    .kf-bottom { flex-direction: column; text-align: center; }
}
