/* =========================================================
   KULVAIBHAV CUSTOM FOOTER — FINAL VERSION
   6 MAROON COLUMNS + WHITE INFO + GREY LEGAL + MAROON COPYRIGHT
   ========================================================= */

#kvTopFooter,
.kv-footer {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
    position: relative !important;
    overflow: hidden !important;
    background: #660033 !important;
    color: #ffffff !important;
}

.kv-footer * { box-sizing: border-box !important; }
.kv-footer a,
.kv-footer a:visited,
.kv-footer a:hover,
.kv-footer a:focus { text-decoration: none !important; }

/* =========================================================
   1. SIX-COLUMN MAROON NAVIGATION
   ========================================================= */
.kv-footer-navigation {
    width: 100% !important;
    margin: 0 !important;
    padding: 58px 0 54px !important;
    background: #660033 !important;
    color: #ffffff !important;
}

.kv-footer-container {
    width: 100% !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 0 30px !important;
}

.kv-footer-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kv-footer-column {
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 26px !important;
    border-right: 1px solid rgba(255,255,255,.28) !important;
}

.kv-footer-column:first-child { padding-left: 0 !important; }
.kv-footer-column:last-child {
    padding-right: 0 !important;
    border-right: none !important;
}

.kv-footer-heading {
    display: block !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    color: #ffffff !important;
    background: transparent !important;
    border: none !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 1.35px !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

.kv-footer-heading::after {
    content: "" !important;
    display: block !important;
    width: 48px !important;
    height: 2px !important;
    margin-top: 10px !important;
    background: #ffffff !important;
}

.kv-footer-menu {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.kv-footer-menu li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    border: none !important;
}

.kv-footer-menu li a {
    display: flex !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    background: transparent !important;
    font-family: inherit !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    text-align: left !important;
    transition: color .2s ease, transform .2s ease !important;
}

.kv-footer-menu li a::before {
    content: "›" !important;
    flex: 0 0 14px !important;
    width: 14px !important;
    margin-right: 8px !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 400 !important;
    line-height: 19px !important;
}

.kv-footer-menu li a:hover {
    color: #e9dce3 !important;
    transform: translateX(3px) !important;
}

/* =========================================================
   2. WHITE INFORMATION SECTION
   ========================================================= */
.kv-footer-info {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
    color: #333333 !important;
    border-top: 1px solid #dedede !important;
}

.kv-footer-info-container {
    width: 100% !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 30px !important;
}

.kv-footer-info-grid {
    display: grid !important;
    grid-template-columns: 1.35fr 1fr 1.35fr .9fr !important;
    width: 100% !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kv-footer-info-column {
    min-width: 0 !important;
    padding: 0 30px !important;
    border-right: 1px solid #d9d9d9 !important;
}

.kv-footer-info-column:first-child { padding-left: 0 !important; }
.kv-footer-info-column:last-child {
    padding-right: 0 !important;
    border-right: none !important;
}

/* Brand */
.kv-footer-brand-link {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: fit-content !important;
    margin: 0 0 7px !important;
    padding: 0 !important;
}

.kv-footer-brand-logo {
    display: block !important;
    width: 68px !important;
    height: 68px !important;
    max-width: 68px !important;
    max-height: 68px !important;
    object-fit: contain !important;
    margin: 0 !important;
}

.kv-footer-brand-name {
    display: inline-block !important;
    color: #660033 !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: 28px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.kv-footer-brand-tagline {
    margin: 2px 0 8px !important;
    color: #660033 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
}

.kv-footer-brand-description {
    max-width: 310px !important;
    margin: 0 !important;
    color: #333333 !important;
    font-size: 13.5px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}

/* Information headings */
.kv-footer-info-heading {
    margin: 0 0 8px !important;
    padding: 0 !important;
    color: #660033 !important;
    background: transparent !important;
    border: none !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
}

.kv-footer-heading-line {
    width: 48px !important;
    height: 2px !important;
    margin: 0 0 20px !important;
    background: #660033 !important;
}

/* Contact */
.kv-footer-contact-item {
    display: flex !important;
    align-items: flex-start !important;
    width: 100% !important;
    margin: 0 0 11px !important;
    padding: 0 !important;
}

.kv-footer-contact-icon {
    flex: 0 0 24px !important;
    width: 24px !important;
    margin-right: 7px !important;
    color: #660033 !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    text-align: left !important;
}

.kv-footer-contact-item a,
.kv-footer-contact-item address {
    margin: 0 !important;
    padding: 0 !important;
    color: #333333 !important;
    font-size: 13.5px !important;
    font-style: normal !important;
    line-height: 1.55 !important;
}

.kv-footer-contact-item a:hover { color: #660033 !important; }

/* Newsletter */
.kv-footer-newsletter-text {
    max-width: 330px !important;
    margin: 0 0 14px !important;
    color: #333333 !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
}

.kv-footer-newsletter-form {
    display: flex !important;
    width: 100% !important;
    max-width: 430px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #555555 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #ffffff !important;
}

.kv-footer-email {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    color: #333333 !important;
    background: #ffffff !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 13px !important;
}

.kv-footer-email::placeholder { color: #777777 !important; opacity: 1 !important; }

.kv-footer-subscribe {
    flex: 0 0 auto !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    color: #ffffff !important;
    background: #660033 !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.kv-footer-subscribe:hover { background: #800040 !important; color: #ffffff !important; }

/* Social */
.kv-footer-social-links {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 12px !important;
    width: fit-content !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kv-footer-social-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #660033 !important;
    background: #ffffff !important;
    border: 1px solid #660033 !important;
    border-radius: 50% !important;
    transition: background .25s ease, color .25s ease, transform .25s ease !important;
}

.kv-footer-social-link svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    fill: currentColor !important;
    overflow: visible !important;
}

.kv-footer-social-link:hover {
    color: #ffffff !important;
    background: #660033 !important;
    border-color: #660033 !important;
    transform: translateY(-2px) !important;
}

.kv-footer-social-link:focus-visible,
.kv-footer-email:focus-visible,
.kv-footer-subscribe:focus-visible,
.kv-footer-menu a:focus-visible,
.kv-footer-legal-links a:focus-visible {
    outline: 2px solid #660033 !important;
    outline-offset: 3px !important;
}

/* =========================================================
   3. GREY LEGAL / POLICY STRIP
   ========================================================= */
.kv-footer-legal {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #eeeeee !important;
    border-top: 1px solid #d7d7d7 !important;
    border-bottom: 1px solid #d1d1d1 !important;
}

.kv-footer-legal-container {
    width: 100% !important;
    max-width: 1500px !important;
    margin: 0 auto !important;
    padding: 0 30px !important;
}

.kv-footer-legal-links {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.kv-footer-legal-links a {
    padding: 5px 18px !important;
    color: #333333 !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    white-space: nowrap !important;
}

.kv-footer-legal-links a:hover {
    color: #660033 !important;
}

.kv-footer-legal-links span {
    width: 1px !important;
    height: 20px !important;
    background: #bdbdbd !important;
}

/* =========================================================
   4. FINAL MAROON COPYRIGHT BAR
   ========================================================= */
.kv-footer-bottom {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #660033 !important;
    color: #ffffff !important;
}

.kv-footer-bottom-container {
    width: 100% !important;
    max-width: 1500px !important;
    min-height: 54px !important;
    margin: 0 auto !important;
    padding: 16px 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.kv-footer-bottom-copyright {
    margin: 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
    text-align: center !important;
}

/* =========================================================
   5. DESKTOP FULL WIDTH
   ========================================================= */
@media (min-width: 1101px) {
    .kv-footer-navigation,
    .kv-footer-info,
    .kv-footer-legal,
    .kv-footer-bottom {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }
}

/* =========================================================
   6. LARGE DESKTOP
   ========================================================= */
@media (min-width: 1500px) {
    .kv-footer-container,
    .kv-footer-info-container,
    .kv-footer-legal-container,
    .kv-footer-bottom-container {
        max-width: 1500px !important;
    }
}

/* =========================================================
   7. TABLET
   ========================================================= */
@media (max-width: 1100px) {
    .kv-footer-navigation { padding: 50px 0 !important; }
    .kv-footer-container,
    .kv-footer-info-container,
    .kv-footer-legal-container,
    .kv-footer-bottom-container { padding-left: 25px !important; padding-right: 25px !important; }

    .kv-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; row-gap: 35px !important; }
    .kv-footer-column { padding: 0 22px 30px !important; }
    .kv-footer-column:nth-child(3n) { border-right: none !important; }
    .kv-footer-column:nth-child(-n + 3) { border-bottom: 1px solid rgba(255,255,255,.28) !important; }

    .kv-footer-info-grid { grid-template-columns: 1fr 1fr !important; row-gap: 32px !important; }
    .kv-footer-info-column { padding: 0 25px 30px !important; }
    .kv-footer-info-column:nth-child(2n) { border-right: none !important; }
    .kv-footer-info-column:nth-child(-n + 2) { border-bottom: 1px solid #d9d9d9 !important; }
    .kv-footer-info-column:nth-child(3),
    .kv-footer-info-column:nth-child(4) { border-bottom: none !important; }
}

/* =========================================================
   8. MOBILE
   ========================================================= */
@media (max-width: 767px) {
    .kv-footer-navigation { padding: 35px 0 30px !important; }
    .kv-footer-container,
    .kv-footer-info-container,
    .kv-footer-legal-container,
    .kv-footer-bottom-container { padding-left: 18px !important; padding-right: 18px !important; }

    /* 6 navigation sections = 3 × 2 */
    .kv-footer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; column-gap: 0 !important; row-gap: 28px !important; }
    .kv-footer-column { padding: 0 9px 28px !important; border-right: 1px solid rgba(255,255,255,.28) !important; border-bottom: none !important; }
    .kv-footer-column:nth-child(3n) { border-right: none !important; }
    .kv-footer-column:nth-child(-n + 3) { border-bottom: 1px solid rgba(255,255,255,.28) !important; }
    .kv-footer-column:first-child { padding-left: 0 !important; }
    .kv-footer-column:nth-child(3n) { padding-right: 0 !important; }

    .kv-footer-heading { margin-bottom: 16px !important; font-size: 12.5px !important; line-height: 1.3 !important; letter-spacing: .9px !important; }
    .kv-footer-heading::after { width: 32px !important; margin-top: 8px !important; }
    .kv-footer-menu { gap: 9px !important; }
    .kv-footer-menu li a { font-size: 11.5px !important; line-height: 1.35 !important; }
    .kv-footer-menu li a::before { flex-basis: 10px !important; width: 10px !important; margin-right: 5px !important; font-size: 16px !important; line-height: 16px !important; }

    /* White info = 2 × 2 */
    .kv-footer-info-container { padding-top: 25px !important; padding-bottom: 25px !important; }
    .kv-footer-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; column-gap: 0 !important; row-gap: 28px !important; }
    .kv-footer-info-column { padding: 0 12px 28px !important; border-right: 1px solid #d9d9d9 !important; border-bottom: none !important; }
    .kv-footer-info-column:nth-child(2n) { border-right: none !important; }
    .kv-footer-info-column:nth-child(-n + 2) { border-bottom: 1px solid #d9d9d9 !important; }
    .kv-footer-info-column:nth-child(odd) { padding-left: 0 !important; }
    .kv-footer-info-column:nth-child(even) { padding-right: 0 !important; }

    .kv-footer-brand-logo { width: 55px !important; height: 55px !important; max-width: 55px !important; max-height: 55px !important; }
    .kv-footer-brand-name { font-size: 22px !important; }
    .kv-footer-brand-tagline { font-size: 12px !important; }
    .kv-footer-brand-description,
    .kv-footer-contact-item a,
    .kv-footer-contact-item address,
    .kv-footer-newsletter-text { font-size: 11.5px !important; line-height: 1.45 !important; }
    .kv-footer-info-heading { font-size: 12px !important; letter-spacing: .9px !important; }
    .kv-footer-heading-line { width: 32px !important; margin-bottom: 15px !important; }
    .kv-footer-contact-item { margin-bottom: 9px !important; }
    .kv-footer-contact-icon { flex-basis: 18px !important; width: 18px !important; font-size: 13px !important; }

    .kv-footer-newsletter-form { flex-direction: column !important; border: none !important; overflow: visible !important; }
    .kv-footer-email { width: 100% !important; height: 42px !important; border: 1px solid #555555 !important; margin-bottom: 7px !important; }
    .kv-footer-subscribe { width: 100% !important; height: 42px !important; }

    .kv-footer-social-links { gap: 8px !important; }
    .kv-footer-social-link { width: 40px !important; height: 40px !important; }
    .kv-footer-social-link svg { width: 18px !important; height: 18px !important; }

    /* Legal strip becomes a clean wrapped row */
    .kv-footer-legal-links { min-height: auto !important; padding: 9px 0 !important; }
    .kv-footer-legal-links a { padding: 5px 8px !important; font-size: 11px !important; }
    .kv-footer-legal-links span { height: 16px !important; }

    .kv-footer-bottom-container { min-height: 50px !important; padding-top: 14px !important; padding-bottom: 14px !important; }
    .kv-footer-bottom-copyright { font-size: 11.5px !important; }
}

/* =========================================================
   9. SMALL MOBILE
   ========================================================= */
@media (max-width: 480px) {
    .kv-footer-heading { font-size: 11.5px !important; }
    .kv-footer-menu li a { font-size: 11px !important; }
    .kv-footer-brand-name { font-size: 19px !important; }
    .kv-footer-brand-logo { width: 48px !important; height: 48px !important; max-width: 48px !important; max-height: 48px !important; }
    .kv-footer-info-heading { font-size: 11.5px !important; }
    .kv-footer-brand-description,
    .kv-footer-contact-item a,
    .kv-footer-contact-item address,
    .kv-footer-newsletter-text { font-size: 11px !important; }
    .kv-footer-legal-links a { font-size: 10.5px !important; padding-left: 6px !important; padding-right: 6px !important; }
}
