/* =========================================
   FOOTER STYLES
   ========================================= */
.main-footer {
    background-color: #2c3e50; /* Dark Blue */
    color: #ecf0f1;            /* Off-white text */
    padding: 10px 0 10px;      /* Top/Bottom padding */
    margin-top: auto;          /* Pushes footer to bottom if page is short */
    border-top: 4px solid #3498db; /* Nice accent line at top */
}

.footer-row {
    display: flex;
    justify-content: space-between; /* Spreads items: Left | Center | Right */
    align-items: center;            /* Vertically centers them */
    flex-wrap: wrap;                /* Allows wrapping on mobile */
}

.footer-col {
    flex: 1; /* Each column takes equal space */
}

/* Headings in Footer */
.footer-heading {
    font-size: 1.1rem;
    margin-bottom: 10px;
    color: #fff;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ALIGNMENT SPECIFICS */
.footer-left {
    text-align: left;
}

.footer-center {
    text-align: center;
}

.footer-right {
    /* Use Flexbox to align the whole block */
    display: flex;
    justify-content: flex-end; /* Pushes everything to the far right */
    align-items: center;       /* Vertically centers in the footer */
}


/* New Wrapper Style */
.social-cluster {
    display: flex;
    flex-direction: column; /* Stacks Text on top of Icons */
    align-items: center;    /* CENTERS the Text relative to the Icons */
    gap: 5px;               /* Small space between text and icons */
}

/* Ensure the heading doesn't have extra margin throwing off center */
.social-cluster .footer-heading {
    margin-bottom: 5px;
    text-align: center;
}

/* CONTACT SECTION */
.contact-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1rem;
    color: #bdc3c7;
}

.contact-item i {
    color: #3498db; /* Icon Color */
}

/* POWERED BY TEXT */
.powered-text {
    margin-top: 5px;
    color: #bdc3c7;
}
.powered-text strong {
    color: #3498db;
}

/* SOCIAL ICONS */
.social-icons {
    display: inline-flex;
    gap: 15px;
}

.social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background-color: rgba(255,255,255,0.1); /* Semi-transparent circle */
    border-radius: 50%;
    color: #fff;
    font-size: 1.2rem;
    transition: all 0.3s ease;
}

/* Hover Effects */
.social-link:hover {
    transform: translateY(-3px); /* Pop up effect */
    background-color: #3498db;   /* Brand color on hover */
    color: #fff;
}

/* Specific Brand Colors on Hover (Optional - if you want specific colors) */
/* .social-link.instagram:hover { background: #E1306C; }
.social-link.tiktok:hover    { background: #000000; }
.social-link.facebook:hover  { background: #1877F2; } */

.social-link.instagram { background: #E1306C; }
.social-link.tiktok   { background: #000000; }
.social-link.facebook  { background: #1877F2; }

/* RESPONSIVE (Mobile) */
@media (max-width: 768px) {
    .footer-row {
        flex-direction: column; /* Stack vertically */
        text-align: center;
        gap: 30px;
    }

    .footer-left, 
    .footer-center, 
    .footer-right {
        text-align: center;
        flex: auto;
    }

    .contact-item {
        justify-content: center; /* Center phone icon/text */
    }
}