/* FOOTER LIST BULLETS - Remove dots from footer links */
.ch-footer ul,
.ch-footer-col ul,
.ch-footer-links ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.ch-footer li,
.ch-footer-col li,
.ch-footer-links li {
    list-style: none !important;
    list-style-type: none !important;
    padding-left: 0 !important;
    margin-bottom: 8px !important;
}

.ch-footer li::before,
.ch-footer-col li::before,
.ch-footer-links li::before {
    content: none !important;
    display: none !important;
}

.ch-footer li::marker,
.ch-footer-col li::marker,
.ch-footer-links li::marker {
    content: none !important;
    display: none !important;
}

/* HEADER/FOOTER LINK COLORS - Apply on ALL pages for consistency */
.ch-navbar a,
.ch-footer a,
.iv-global-header a {
    color: var(--text-primary) !important;
    text-decoration: none !important;
}

.ch-navbar a:hover,
.ch-footer a:hover,
.iv-global-header a:hover {
    color: var(--accent-blue) !important;
    text-decoration: none !important;
}

/* Footer text colors - consistent everywhere */
.ch-footer,
.ch-footer h3,
.ch-footer h4,
.ch-footer p {
    color: var(--text-secondary) !important;
}

.ch-footer h3 {
    color: var(--text-primary) !important;
}

/* Ensure all footers don't have bullets */
.site-footer ul,
footer ul,
.ch-footer ul {
    list-style: none !important;
}

.site-footer li,
footer li,
.ch-footer li {
    list-style: none !important;
}

/* ============================================
   12. FOOTER COLUMN LAYOUT FIX
   ============================================ */

/* Ensure footer columns display properly */
.ch-footer-content {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 20px;
}

.ch-footer-brand {
    flex: 1;
    min-width: 250px;
}

.ch-footer-links {
    display: flex;
    gap: 60px;
    flex-wrap: wrap;
}

.ch-footer-col {
    min-width: 150px;
}

.ch-footer-col h4 {
    color: var(--text-primary) !important;
    margin-bottom: 15px;
    font-size: 1rem;
    font-weight: 600;
}

.ch-footer-col ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.ch-footer-col ul li {
    list-style: none !important;
    margin-bottom: 10px !important;
}

.ch-footer-col ul li a {
    color: var(--text-secondary) !important;
    text-decoration: none !important;
    transition: color 0.3s ease;
    display: block;
}

.ch-footer-col ul li a:hover {
    color: var(--accent-blue) !important;
}

.ch-footer-bottom {
    text-align: center;
    padding: 20px;
    border-top: 1px solid var(--border-color);
}

.ch-footer-bottom p {
    color: var(--text-secondary) !important;
    margin: 0;
}

/* Mobile footer */
@media screen and (max-width: 768px) {
    .ch-footer-content {
        flex-direction: column;
        gap: 30px;
        padding: 40px 20px;
    }

    .ch-footer-links {
        flex-direction: column;
        gap: 30px;
    }
}

/* ============================================
   ULTRA-HIGH SPECIFICITY FOOTER FIX
   Ensure footer links are ALWAYS visible on all pages
   ============================================ */

/* Footer container must always be visible */
body footer.ch-footer,
body .ch-footer,
body .iv-global-footer,
footer.ch-footer,
.ch-footer,
.iv-global-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* ALL footer links MUST be visible with proper color */
body.page footer.ch-footer a,
body.page .ch-footer a,
body.single footer.ch-footer a,
body.single .ch-footer a,
body.archive footer.ch-footer a,
body.archive .ch-footer a,
body footer.ch-footer a,
body footer.ch-footer .ch-footer-col a,
body footer.ch-footer .ch-footer-col ul li a,
body footer.ch-footer .ch-footer-links a,
body footer.ch-footer .ch-footer-brand a,
body .ch-footer a,
body .ch-footer .ch-footer-col a,
body .ch-footer .ch-footer-col ul li a,
body .ch-footer .ch-footer-links a,
body .ch-footer .ch-footer-brand a,
body .iv-global-footer a,
footer.ch-footer a,
.ch-footer a,
.ch-footer .ch-footer-col a,
.ch-footer .ch-footer-col ul li a,
.ch-footer .ch-footer-links a,
.ch-footer .ch-footer-brand a,
.ch-footer-col a,
.ch-footer-links a,
.ch-footer-brand a,
.iv-global-footer a {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: var(--text-secondary) !important;
    text-decoration: none !important;
}

/* Footer link hover */
body footer.ch-footer a:hover,
body .ch-footer a:hover,
footer.ch-footer a:hover,
.ch-footer a:hover,
.ch-footer-col a:hover,
.ch-footer-links a:hover {
    color: var(--accent-blue) !important;
}

/* Footer list items */
body .ch-footer-col ul li,
.ch-footer-col ul li {
    display: list-item !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Footer lists */
body .ch-footer-col ul,
.ch-footer-col ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* ============================================
   SOCIAL ICONS
   ============================================ */

/* Clean social icon styling - Aggressive Reset */
.ch-social-icons {
    display: flex !important;
    gap: 12px !important;
    margin-top: 20px !important;
}

/* Kill all pseudo-elements that might cause borders */
.ch-social-icons a::before,
.ch-social-icons a::after,
.ch-social-icon::before,
.ch-social-icon::after,
body footer .ch-social-icons a::before,
body footer .ch-social-icons a::after {
    content: none !important;
    display: none !important;
    border: none !important;
    background: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* Main Icon Styling */
.ch-social-icons a,
.ch-social-icon,
body footer .ch-social-icons a,
body footer .ch-social-icon {
    /* Reset Potential Conflicts */
    box-shadow: none !important;
    background-image: none !important;
    text-decoration: none !important;
    position: relative !important;

    /* Flex Layout */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    /* Dimensions & Shape */
    width: 40px !important;
    height: 40px !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 50% !important;

    /* Visuals */
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    background-color: transparent !important;
    color: #fff !important;

    /* Transition */
    transition: all 0.3s ease !important;
    line-height: normal !important;
}

.ch-social-icons a:hover,
.ch-social-icon:hover {
    color: var(--accent-blue) !important;
    border-color: var(--accent-blue) !important;
    transform: translateY(-3px) !important;
    background: rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3) !important;
}

.ch-social-icons svg,
.ch-social-icon svg {
    width: 18px !important;
    height: 18px !important;
    fill: currentColor !important;
    display: block !important;
    margin: 0 !important;
}

/* ============================================
   FOOTER MOBILE (Migrated from style.css)
   ============================================ */
@media screen and (max-width: 768px) {

    /* Footer mobile */
    .ch-footer-content {
        flex-direction: column !important;
        gap: 30px !important;
    }

    .ch-footer-links {
        flex-direction: column !important;
        gap: 25px !important;
    }

    .ch-footer-brand {
        text-align: center !important;
    }

    .ch-footer-col {
        text-align: center !important;
    }

    .ch-social-icons {
        justify-content: center !important;
    }
}