/* SIMPLE FOOTER FIX - BEST PRACTICES - ULTRATHINKED */

/* 1. Blue Background for Footer */
.site-footer {
    background: #2d5aae !important;
    padding: 40px 0 !important;
    width: 100% !important;
    clear: both !important;
    position: relative !important;
}

/* 2. Container stays centered */
.site-footer .container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 15px !important;
}

/* 3. Two column layout - Contact left, Cities right */
.site-footer .row {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
}

.site-footer #text01 {
    flex: 0 0 33.3333% !important;
    max-width: 33.3333% !important;
    padding-right: 49px !important;
}

.site-footer #text02 {
    flex: 0 0 66.6667% !important;
    max-width: 66.6667% !important;
}

/* 4. Countries side-by-side using CSS Grid - PERFECTED */
.footer-cities-container {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: stretch !important;
    gap: 60px !important;
    width: 100% !important;
}

/* First country section (Canada) with border */
.footer-cities-container > div:first-child {
    border-right: 1px solid rgba(255, 255, 255, 0.3) !important;
    padding-right: 49px !important;
}

/* Second country section (USA) */
.footer-cities-container > div:last-child {
    padding-left: 11px !important;
}

/* City columns within each country */
.footer-cities-container .city-columns {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0 !important;
    margin-top: 10px !important;
}

/* Each city container takes 1/3 of country section */
.footer-cities-container .menu-sample-pages-container {
    padding: 0 4px !important;
    box-sizing: border-box !important;
}

/* Canada - 3 columns */
.footer-cities-container .country-section:first-child .menu-sample-pages-container {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
}

/* USA - 2 columns */
.footer-cities-container .country-section:last-child .menu-sample-pages-container {
    flex: 0 0 50% !important;
    max-width: 50% !important;
}

/* City links styling */
.footer-cities-container .city-columns ul.menu li a {
    display: block !important;
    white-space: nowrap !important;
    overflow: hidden !important; text-overflow: ellipsis !important;
    font-size: 0.85em !important;
    padding: 3px 0 !important;
    transition: all 0.3s ease !important;
}

/* 5. All text white with smooth transitions */
.site-footer,
.site-footer * {
    color: white !important;
}

.site-footer a {
    color: rgba(255, 255, 255, 0.85) !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.site-footer a:hover {
    color: white !important;
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.5) !important;
}

/* 6. Country headers with flags - Enhanced */
.footer-cities-container h3,
.footer-cities-container .country-header {
    font-size: 1.1em !important;
    font-weight: 600 !important;
    margin-bottom: 15px !important;
    padding-bottom: 10px !important;
    border-bottom: 2px solid rgba(255, 255, 255, 0.2) !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

/* Ensure flags display properly */
.footer-cities-container h3::before {
    font-size: 1.2em !important;
}

/* 7. Contact info styling */
.footer-info .object {
    line-height: 1.8 !important;
}

.footer-info .object i {
    margin-right: 8px !important;
    opacity: 0.9 !important;
}

/* 8. Mobile Responsive - Enhanced */
@media (max-width: 768px) {
    /* Stack contact and cities vertically */
    .site-footer #text01,
    .site-footer #text02 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        padding-right: 0 !important;
        margin-bottom: 30px !important;
    }

    /* Stack countries vertically on mobile */
    .footer-cities-container {
        display: block !important;
        grid-template-columns: none !important;
    }

    .footer-cities-container > div {
        margin-bottom: 30px !important;
    }

    .footer-cities-container > div:first-child {
        border-right: none !important;
        padding-right: 0 !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.3) !important;
        padding-bottom: 30px !important;
    }

    .footer-cities-container > div:last-child {
        padding-left: 0 !important;
    }

    /* Cities responsive columns */
    /* Canada - responsive to 2 columns then 1 on mobile */
    .footer-cities-container .country-section:first-child .menu-sample-pages-container {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
    
    /* USA - stays 2 columns on tablet */
    .footer-cities-container .country-section:last-child .menu-sample-pages-container {
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
}

/* Canada - 3 columns */
.footer-cities-container .country-section:first-child .menu-sample-pages-container {
    flex: 0 0 33.333% !important;
    max-width: 33.333% !important;
}

/* USA - 2 columns */
.footer-cities-container .country-section:last-child .menu-sample-pages-container {
    flex: 0 0 50% !important;
    max-width: 50% !important;
}
}

/* 9. Tablet view adjustments */
@media (min-width: 769px) and (max-width: 992px) {
    .site-footer #text01 {
        flex: 0 0 40% !important;
        max-width: 40% !important;
    }

    .site-footer #text02 {
        flex: 0 0 60% !important;
        max-width: 60% !important;
    }

    /* Smaller font on tablets */
    .footer-cities-container .city-columns ul.menu li a {
        font-size: 0.88em !important;
    }
}

/* 10. Clean up any weird margins/padding */
.site-footer .widget {
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
}

/* 11. Remove list styling and optimize spacing */
.site-footer ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.site-footer li {
    padding: 4px 0 !important;
    margin: 0 !important;
}

/* 12. Logo optimization */
.footer-info img {
    max-width: 250px !important;
    height: auto !important;
    margin-bottom: 20px !important;
}

/* 13. Performance optimization - GPU acceleration for smooth transitions */
.site-footer a,
.footer-cities-container {
    will-change: transform !important;
    transform: translateZ(0) !important;
}
/* 10. Footer icons styling - Modern CSS Icons */
.site-footer .footer-info .object i {
    font-size: 1.2em !important;
    margin-right: 10px !important;
    vertical-align: middle !important;
    color: white !important;
    width: 20px !important;
    text-align: center !important;
    font-style: normal !important;
}

/* Phone icon */
.site-footer .footer-info .object i.fa-phone::before,
.site-footer .footer-info .object i.fas.fa-phone::before {
    content: "📞" !important;
    font-size: 1.1em !important;
}

/* Email icon */
.site-footer .footer-info .object i.fa-envelope::before,
.site-footer .footer-info .object i.fas.fa-envelope::before {
    content: "✉️" !important;
    font-size: 1.1em !important;
}

/* Remove any blue circles or backgrounds from icons */
.site-footer .footer-info .object i::after {
    display: none !important;
}

.site-footer .footer-info .object i {
    background: none !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
}

.site-footer .footer-info .object strong {
    display: inline-block !important;
    vertical-align: middle !important;
}

.site-footer .footer-info .object a {
    vertical-align: middle !important;
}

.site-footer .footer-info .object br {
    display: block !important; /* Allow line breaks for email on second line */
}

/* Website credit styling */
.site-footer .website-credit {
    text-align: center !important;
    padding: 20px 0 10px !important;
    margin-top: 30px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.2) !important;
    font-size: 0.9em !important;
    color: rgba(255, 255, 255, 0.8) !important;
}

.site-footer .website-credit a {
    color: white !important;
    text-decoration: none !important;
    font-weight: 500 !important;
}

.site-footer .website-credit a:hover {
    text-decoration: underline !important;
}

/* Extra small devices (phones, less than 576px) */
@media (max-width: 576px) {
    .footer-cities-container .menu-sample-pages-container {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
}
