/* ========================================
   TOPBAR - Responsive Layout
   All data visible on every device size.
   ======================================== */

.topbar-wrapper {
    height: 45px;
    background: #ffffff;
    display: flex;
    align-items: center;
}

.topbar-wrapper .row {
    height: 100%;
    width: 100%;
    flex-wrap: nowrap;
}

/* Contact column — allow it to shrink on small screens */
.topbar-contact-col {
    min-width: 0;
    overflow: hidden;
    flex-shrink: 1;
}

/* Contact links */
.topbar-email,
.topbar-phone {
    color: #555555;
    font-size: 13px;
    font-family: 'Open Sans', 'Roboto', sans-serif;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    transition: color 0.3s ease;
}

.topbar-email:hover,
.topbar-phone:hover {
    color: #30385f;
}

/* Social icons */
.topbar-social-icon {
    color: #30385f;
    font-size: 15px;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: color 0.3s ease, transform 0.2s ease;
}

.topbar-social-icon:hover {
    color: #ffcc00;
    transform: scale(1.2);
}

/* ========================================
   TABLET (992px and below)
   ======================================== */
@media (max-width: 991px) {
    .topbar-wrapper {
        height: 38px;
    }

    .topbar-email,
    .topbar-phone {
        font-size: 11px;
    }

    .topbar-email {
        margin-right: 8px !important;
    }

    .topbar-social-icon {
        font-size: 13px;
        margin-left: 10px !important;
    }
}

/* ========================================
   MOBILE (575px and below)
   ======================================== */
@media (max-width: 575px) {
    .topbar-wrapper {
        height: 36px;
    }

    .topbar-email,
    .topbar-phone {
        font-size: 10px;
    }

    .topbar-email {
        margin-right: 6px !important;
        max-width: 160px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Hide phone number text on mobile — keep icon only */
    .topbar-phone .topbar-text {
        display: none;
    }

    .topbar-social-icon {
        font-size: 12px;
        margin-left: 8px !important;
    }
}

/* ========================================
   VERY SMALL (360px and below)
   ======================================== */
@media (max-width: 360px) {
    .topbar-email,
    .topbar-phone {
        font-size: 9px;
    }

    .topbar-email {
        max-width: 110px;
    }

    .topbar-social-icon {
        font-size: 11px;
        margin-left: 6px !important;
    }
}

/* ========================================
   NAVBAR SPACING
   ======================================== */
@media (max-width: 991px) {
    .nav-bar {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
}
