/**
 * Kids Mall - Universal Master Mega-Footer Styles
 * Exact match to Desktop (1440px) & Mobile (375px) Design Specifications
 */

:root {
    --km-footer-bg-deep: #061228;
    --km-footer-bg-mid: #091C3E;
    --km-footer-bg-card: #0C234C;
    --km-footer-border: rgba(255, 255, 255, 0.08);
    --km-footer-border-light: rgba(255, 255, 255, 0.14);
    --km-footer-text: #FFFFFF;
    --km-footer-text-muted: #8FA0C0;
    --km-footer-text-sub: #6E82A8;
    --km-footer-red: #F51F3D;
    --km-footer-blue: #0088FF;
    --km-footer-cyan: #29A9E8;
    --km-footer-green: #00C853;
    --km-footer-yellow: #FFB300;
}

/* =====================================================================
   MAIN FOOTER CONTAINER & AMBIENCE
   ===================================================================== */
.km-site-footer {
    position: relative;
    background: linear-gradient(180deg, #091B3A 0%, #06132A 40%, #040C1D 100%);
    color: var(--km-footer-text);
    font-family: 'Outfit', sans-serif;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
    margin-top: 3.5rem;
}

/* Background Soft Ambient Sparkles / Stars */
.km-site-footer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        radial-gradient(1.5px 1.5px at 15% 20%, rgba(255, 255, 255, 0.4) 100%, transparent),
        radial-gradient(1.5px 1.5px at 85% 15%, rgba(255, 193, 7, 0.45) 100%, transparent),
        radial-gradient(1.5px 1.5px at 30% 75%, rgba(255, 255, 255, 0.3) 100%, transparent),
        radial-gradient(2px 2px at 70% 85%, rgba(41, 169, 232, 0.35) 100%, transparent),
        radial-gradient(1.5px 1.5px at 92% 60%, rgba(255, 255, 255, 0.4) 100%, transparent);
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.km-footer-inner {
    position: relative;
    z-index: 1;
}

/* =====================================================================
   A. VIP BIRTHDAY CLUB BANNER
   ===================================================================== */
.km-vip-banner-wrapper {
    padding-top: 2.5rem;
    padding-bottom: 1.5rem;
}

.km-vip-card {
    position: relative;
    background: linear-gradient(135deg, #0B224E 0%, #0F2D62 45%, #081B3C 100%);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 22px;
    padding: 1.5rem 2rem;
    box-shadow: 0 14px 40px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.15);
    overflow: hidden;
}

/* Festive Sparkles on VIP Card Corners */
.km-vip-card::after {
    content: '✨';
    position: absolute;
    top: 14px;
    left: 20px;
    font-size: 1rem;
    opacity: 0.75;
    pointer-events: none;
}

.km-vip-card-star-right {
    position: absolute;
    top: 14px;
    right: 30px;
    font-size: 1.1rem;
    opacity: 0.8;
    pointer-events: none;
}

.km-vip-icon-box {
    width: 64px;
    height: 64px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(255, 201, 40, 0.2) 0%, rgba(239, 35, 42, 0.2) 100%);
    border: 1px solid rgba(255, 201, 40, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.1rem;
    flex-shrink: 0;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}

.km-vip-title {
    font-size: 1.35rem;
    font-weight: 800;
    color: #FFFFFF;
    margin-bottom: 0.3rem;
    letter-spacing: -0.2px;
}

.km-vip-subtitle {
    font-size: 0.88rem;
    color: #A3B8DE;
    margin-bottom: 0;
    line-height: 1.45;
}

/* VIP Form Input Pill */
.km-vip-form-box {
    display: flex;
    align-items: center;
    background: #FFFFFF;
    border-radius: 50px;
    padding: 4px 5px 4px 16px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    width: 100%;
    max-width: 440px;
    border: 2px solid transparent;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.km-vip-form-box:focus-within {
    border-color: #25D366;
    box-shadow: 0 0 0 4px rgba(37, 211, 102, 0.2);
}

.km-vip-input {
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.88rem;
    color: #1E293B;
    font-weight: 500;
    font-family: 'Outfit', sans-serif;
    width: 100%;
    padding: 8px 6px;
}

.km-vip-input::placeholder {
    color: #94A3B8;
    font-weight: 400;
}

.km-vip-btn {
    background: linear-gradient(135deg, #F51F3D 0%, #D4162E 100%);
    color: #FFFFFF;
    font-weight: 700;
    font-size: 0.88rem;
    font-family: 'Outfit', sans-serif;
    border: none;
    border-radius: 50px;
    padding: 10px 22px;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    box-shadow: 0 4px 14px rgba(245, 31, 61, 0.4);
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.km-vip-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(245, 31, 61, 0.55);
    filter: brightness(1.05);
    color: #FFFFFF;
}

.km-vip-btn:active {
    transform: translateY(0);
}

/* Teddy Illustration Container on Desktop */
.km-vip-teddy-box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 2.8rem;
    margin-left: 12px;
    flex-shrink: 0;
    filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.35));
}

/* =====================================================================
   B. STORE BENEFITS STRIP
   ===================================================================== */
.km-benefits-strip {
    padding-top: 0.8rem;
    padding-bottom: 2rem;
}

.km-benefit-card {
    background: rgba(255, 255, 255, 0.035);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 16px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    height: 100%;
    transition: transform 0.22s ease, border-color 0.22s ease, background-color 0.22s ease;
}

.km-benefit-card:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.055);
    border-color: rgba(255, 255, 255, 0.18);
}

.km-benefit-icon-circle {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.35rem;
    flex-shrink: 0;
}

.km-benefit-icon-red {
    background: rgba(245, 31, 61, 0.15);
    border: 1px solid rgba(245, 31, 61, 0.3);
    color: #F51F3D;
}

.km-benefit-icon-blue {
    background: rgba(41, 169, 232, 0.15);
    border: 1px solid rgba(41, 169, 232, 0.3);
    color: #29A9E8;
}

.km-benefit-icon-green {
    background: rgba(46, 204, 113, 0.15);
    border: 1px solid rgba(46, 204, 113, 0.3);
    color: #2ECC71;
}

.km-benefit-icon-yellow {
    background: rgba(255, 193, 7, 0.15);
    border: 1px solid rgba(255, 193, 7, 0.3);
    color: #FFC107;
}

.km-benefit-title {
    font-size: 0.88rem;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.25;
    margin-bottom: 2px;
}

.km-benefit-sub {
    font-size: 0.74rem;
    color: #8FA0C0;
    line-height: 1.3;
}

/* =====================================================================
   C. MAIN FOOTER 5 COLUMNS (DESKTOP)
   ===================================================================== */
.km-footer-main {
    padding-top: 1.5rem;
    padding-bottom: 2.5rem;
    border-top: 1px solid rgba(255, 255, 255, 0.07);
}

/* Column 1 Logo & Identity */
.km-footer-logo-badge {
    width: 50px;
    height: 50px;
    border-radius: 14px;
    background: #FFFFFF;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    border: 1px solid rgba(255, 255, 255, 0.15);
    flex-shrink: 0;
}

.km-footer-logo-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 3px;
}

.km-logo-text-kids {
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.3px;
    display: flex;
    align-items: baseline;
}

.km-brand-k { color: #EF233C; }
.km-brand-i { color: #29A9E8; }
.km-brand-d { color: #FFC928; }
.km-brand-s { color: #00C853; }
.km-brand-m { color: #EF233C; margin-left: 3px; }
.km-brand-a { color: #29A9E8; }
.km-brand-l1 { color: #FFC928; }
.km-brand-l2 { color: #00C853; }

.km-footer-tagline {
    font-size: 0.76rem;
    color: rgba(255, 255, 255, 0.75);
    margin-top: 2px;
    letter-spacing: 0.2px;
}

.km-footer-about {
    font-size: 0.82rem;
    color: #8FA0C0;
    line-height: 1.55;
    margin-bottom: 1.1rem;
}

.km-footer-contact-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 0.82rem;
    color: #8FA0C0;
    margin-bottom: 0.65rem;
    line-height: 1.45;
}

.km-footer-contact-icon {
    color: #F51F3D;
    font-size: 0.95rem;
    margin-top: 1px;
    flex-shrink: 0;
}

.km-footer-contact-item a {
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 700;
    transition: color 0.18s ease;
}

.km-footer-contact-item a:hover {
    color: #29A9E8;
}

/* Social Buttons */
.km-social-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 1.25rem;
}

.km-social-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    font-size: 0.95rem;
    text-decoration: none;
    transition: transform 0.2s ease, filter 0.2s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

.km-social-btn:hover {
    transform: translateY(-2px);
    filter: brightness(1.1);
    color: #FFFFFF;
}

.km-social-fb { background-color: #1877F2; }
.km-social-ig { background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); }
.km-social-yt { background-color: #FF0000; }
.km-social-wa { background-color: #25D366; }

/* Install App Pill Button */
.km-app-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50px;
    padding: 7px 18px;
    color: #FFFFFF;
    font-size: 0.82rem;
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
}

.km-app-btn:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.45);
    color: #FFFFFF;
    transform: translateY(-1px);
}

.km-app-btn i {
    color: #F51F3D;
    font-size: 0.95rem;
}

/* =====================================================================
   COLUMNS 2, 3, 4, 5: HEADINGS & LINK LISTS
   ===================================================================== */
.km-col-title {
    font-size: 0.9rem;
    font-weight: 800;
    color: #FFFFFF;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 1.1rem;
    display: flex;
    align-items: center;
    gap: 6px;
}

.km-footer-list {
    list-style: none;
    padding-left: 0;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    gap: 0.55rem;
}

.km-footer-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 0.82rem;
    color: #8FA0C0;
    text-decoration: none;
    padding: 3px 0;
    transition: color 0.18s ease, transform 0.18s ease;
}

.km-footer-link:hover {
    color: #FFFFFF;
    transform: translateX(3px);
}

.km-footer-chevron {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.25);
    transition: color 0.18s ease, transform 0.18s ease;
}

.km-footer-link:hover .km-footer-chevron {
    color: #29A9E8;
    transform: translateX(2px);
}

/* Specific Customer Care Icons */
.km-cc-icon {
    font-size: 0.88rem;
    margin-right: 8px;
    width: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.km-cc-red { color: #F51F3D; }
.km-cc-blue { color: #29A9E8; }
.km-cc-yellow { color: #FFC107; }
.km-cc-cyan { color: #00D2D3; }
.km-cc-green { color: #2ECC71; }
.km-cc-muted { color: #8FA0C0; }

/* Bottom Action Link Buttons */
.km-footer-pill-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    padding: 5px 14px;
    border-radius: 50px;
    margin-top: 0.8rem;
    transition: all 0.2s ease;
}

.km-pill-cyan {
    color: #29A9E8;
    background: rgba(41, 169, 232, 0.08);
    border: 1px solid rgba(41, 169, 232, 0.35);
}

.km-pill-cyan:hover {
    color: #FFFFFF;
    background: #29A9E8;
    border-color: #29A9E8;
}

.km-pill-gold {
    color: #FFC928;
    background: rgba(255, 201, 40, 0.08);
    border: 1px solid rgba(255, 201, 40, 0.35);
}

.km-pill-gold:hover {
    color: #1E293B;
    background: #FFC928;
    border-color: #FFC928;
}

/* =====================================================================
   D. PAYMENT & ENCRYPTION STRIP
   ===================================================================== */
.km-payment-strip {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
}

.km-payment-label {
    font-size: 0.8rem;
    color: #8FA0C0;
    font-weight: 600;
    margin-right: 0.75rem;
    white-space: nowrap;
}

.km-pay-pill {
    background: #FFFFFF;
    border-radius: 50px;
    padding: 4px 12px;
    font-size: 0.72rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
    line-height: 1;
    height: 26px;
}

.km-pay-upi { color: #1E293B; font-weight: 800; font-style: italic; }
.km-pay-gpay { color: #4285F4; }
.km-pay-phonepe { color: #5F259F; }
.km-pay-paytm { color: #002970; }
.km-pay-visa { color: #1A1F71; font-weight: 800; font-family: sans-serif; letter-spacing: 0.5px; }
.km-pay-mc { color: #EB001B; }
.km-pay-rupay { color: #097938; font-weight: 800; }

.km-ssl-box {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(46, 204, 113, 0.08);
    border: 1px solid rgba(46, 204, 113, 0.3);
    border-radius: 12px;
    padding: 6px 14px;
}

.km-ssl-icon {
    font-size: 1.25rem;
    color: #2ECC71;
}

.km-ssl-title {
    font-size: 0.8rem;
    font-weight: 700;
    color: #FFFFFF;
    line-height: 1.2;
}

.km-ssl-sub {
    font-size: 0.68rem;
    color: #8FA0C0;
}

/* =====================================================================
   E. COPYRIGHT BAR & ATTRIBUTION
   ===================================================================== */
.km-copyright-bar {
    border-top: 1px solid rgba(255, 255, 255, 0.06);
    padding-top: 1rem;
    padding-bottom: 1.25rem;
    font-size: 0.76rem;
    color: #6E82A8;
}

.km-wts-pill {
    background: #FFFFFF;
    color: #111827;
    font-weight: 800;
    font-size: 0.78rem;
    padding: 2px 8px;
    border-radius: 6px;
    display: inline-flex;
    align-items: baseline;
    text-decoration: none;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.km-wts-red { color: #EF233C; }
.km-wts-dark { color: #111827; margin-left: 2px; }

/* =====================================================================
   MOBILE SPECIFIC RULES & ACCORDIONS (< 992px & < 768px)
   ===================================================================== */
@media (max-width: 991.98px) {
    .km-site-footer {
        margin-top: 2.5rem;
    }
    
    .km-vip-card {
        padding: 1.25rem 1.25rem;
        border-radius: 18px;
    }
    
    .km-vip-form-box {
        max-width: 100%;
        margin-top: 0.5rem;
    }
    
    .km-vip-teddy-box {
        display: none;
    }
    
    /* Benefits 2x2 grid */
    .km-benefits-row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    
    .km-benefit-card {
        padding: 10px 12px;
        border-radius: 12px;
        gap: 8px;
    }
    
    .km-benefit-icon-circle {
        width: 36px;
        height: 36px;
        font-size: 1.1rem;
        border-radius: 10px;
    }
    
    .km-benefit-title {
        font-size: 0.78rem;
    }
    
    .km-benefit-sub {
        font-size: 0.68rem;
    }
    
    /* Mobile Accordion Navigation */
    .km-mobile-accordions {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin-top: 1.5rem;
    }
    
    .km-accordion-item {
        background: rgba(255, 255, 255, 0.035);
        border: 1px solid rgba(255, 255, 255, 0.09);
        border-radius: 14px;
        overflow: hidden;
    }
    
    .km-accordion-btn {
        width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: transparent;
        border: none;
        padding: 14px 16px;
        color: #FFFFFF;
        font-family: 'Outfit', sans-serif;
        font-size: 0.92rem;
        font-weight: 700;
        cursor: pointer;
        text-align: left;
    }
    
    .km-accordion-btn i.bi-chevron-down {
        font-size: 0.85rem;
        color: #8FA0C0;
        transition: transform 0.25s ease;
    }
    
    .km-accordion-btn[aria-expanded="true"] i.bi-chevron-down {
        transform: rotate(180deg);
        color: #29A9E8;
    }
    
    .km-accordion-collapse {
        display: none;
        padding: 0 16px 14px 16px;
        border-top: 1px solid rgba(255, 255, 255, 0.05);
    }
    
    .km-accordion-collapse.show {
        display: block;
        animation: kmFadeIn 0.2s ease;
    }
    
    @keyframes kmFadeIn {
        from { opacity: 0; transform: translateY(-4px); }
        to { opacity: 1; transform: translateY(0); }
    }
    
    .km-desktop-columns {
        display: none !important;
    }
}

@media (min-width: 992px) {
    .km-mobile-accordions {
        display: none !important;
    }
    
    .km-desktop-columns {
        display: flex !important;
        flex-wrap: wrap !important;
    }
    
    .km-benefits-row {
        display: flex;
        flex-wrap: wrap;
    }
}

/* Small mobile devices (320px - 375px) */
@media (max-width: 430px) {
    .km-vip-card {
        padding: 1.1rem 1rem;
    }
    
    .km-vip-title {
        font-size: 1.15rem;
    }
    
    .km-vip-subtitle {
        font-size: 0.8rem;
    }
    
    .km-vip-form-box {
        flex-direction: column;
        border-radius: 14px;
        padding: 8px;
        gap: 8px;
        background: #FFFFFF;
    }
    
    .km-vip-btn {
        width: 100%;
        justify-content: center;
        border-radius: 10px;
        padding: 10px;
    }
    
    .km-benefits-row {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    
    .km-benefit-card {
        padding: 8px 10px;
    }
    
    .km-ssl-box {
        width: 100%;
        justify-content: center;
    }
}
