
html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow-x: hidden;
 }

 body{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    font-family: "Nunito Sans", sans-serif;
    position: relative;
 }

 .main {
    flex: 1 0 auto;
    width: 100%;
    padding-bottom: 45px;
 }

 /* Override header links for provider dashboard */
.provider-header .header-links {
    display: none; /* Hide default links */
}

/* Provider Header Actions Container */
.provider-header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-right: 59px;
}

 .help-btn, .notification-btn, .user-account-header {
    padding: 6px 10px;
    border-radius: 5px;
    border: none;
    background: #DFF0FF;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    transition: all 0.2s;
}

 .help-btn:hover, .notification-btn:hover, .user-account-header:hover{
    transform: translateY(-2px);
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
}


.help-btn img, .notification-btn img, .user-account-header img{
    width: 25px;
    height: 25px;
    aspect-ratio: 1/1;
}


.page-header {
    display: flex;
    font-family: "Nunito Sans";
    color: #043259;
    justify-content: space-between;
    align-items: center;
    background-color: white;
    padding: 20px 0;
}


.logo-container {
    flex-shrink: 0;
}

.logo-container img {
    margin-top: 10px;
    width: 118px;
    height: 70px;
    object-fit: contain;
    margin-left: 59px;
}

.header-links {
    display: flex;
    gap: 59px;
    font-size: 16px;
    font-weight: 400;
    align-items:center;
    align-self: flex-end; 
    padding-bottom: 10px; 
}


.header-links a {
    color: #043259;
    text-decoration: none;
    font-size: 16px;
    line-height: 16.37px;

}

.header-links a:hover {
    text-decoration: underline;
}

header a:last-child {
    margin-right: 59px;
}


/* Footer - EDIT HERE FOR ALL PAGES */
footer {
    background-color: #043259; 
    color:white;
    padding: 0;
    display: flex;
    justify-content: space-between; 
    align-items: center;
    position: relative;
    left: 0px;
    bottom: 0; 
    width: 100%; 
    font-family: "Nunito Sans";
    font-size: 12px;
    font-weight: 400;
    line-height: 30px;
    margin-top: auto;
    margin-bottom: 0;
    clear: both;
    box-sizing: border-box;
    flex-shrink: 0px;
}


.footer-links {
    display: flex;
    gap: 40px; /* Adjust this value to control space between links */
    margin-left: 77px;
}

footer a {
    color: white;
    text-decoration: none;

}

footer a:hover {
    text-decoration: underline;
}


.social-media-container {
    display: flex;
    justify-content: flex-end;
    margin-right: 77px;
}

.social-media {
    display: flex;
    align-items: center;
    gap: 20px;
}

.social-media img {
    width: 24px;
    height: 24px;
    object-fit: contain;
    margin-top: 8px;
}

.upgrade-btn-header {
    background: linear-gradient(90deg, #E7964F 0%, #F0C06E 77.88%, #EBAB5E 88.94%, #E7964F 100%);
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 5px;
    font-weight: 500;
    cursor: pointer;
    font-size: 13px;
    font-family: "Nunito Sans";
    display: flex;
    align-items: center;
    gap: 6px;
    transition: all 0.3s;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    display: none;
}

.upgrade-btn-header:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(251, 146, 60, 0.4);
}

.upgrade-btn-header img {
    width: 25px;
    height: 25px;
    aspect-ratio: 1/1;
}

/* ==========================================
   HEADER & FOOTER MOBILE (max-width: 768px)
   ========================================== */
@media (max-width: 768px) {

    .page-header {
        display: flex;
        flex-direction: row; /* ← override the column from existing media query */
        justify-content: space-between;
        align-items: center;
        padding: 12px 16px;
        gap: 0;
        width: 90%;
    }

    .provider-header-actions {
        gap: 10px;
        margin-right: 0;
    }


    .logo-container img {
        width: 90px;
        height: 50px;
        margin-left: 0;
        margin-top: 0;
        flex: 1;
    }

    .help-btn img, .user-account-header img, .notification-btn img {
        width: 20px;
        height: 20px;
        aspect-ratio: 1 /1;
    }

    /* Show original PRO + help buttons on desktop */
    .upgrade-btn-header{
        display: flex;
    }


    .provider-header-actions {
        gap: 12px;
        padding-bottom: 0;
        align-self: center;
    }

    /* Last item (help button) no extra margin */
    header a:last-child {
        margin-right: 0;
    }

    /* Footer - stack vertically */
    footer {
        flex-direction: column;
        align-items: center;
        padding: 10px;
        text-align: center;
        gap: 8px;
        line-height: 1.8;
    }

    .footer-links {
        flex-direction: column;  /* stack links */
        gap: 4px;
        margin-left: 0;
        align-items: center;
        font-size: 10px;
    }

    .social-media-container {
        margin-right: 0;
        justify-content: center;
    }

    .social-media {
        gap: 16px;
    }

    .social-media img {
        margin-top: 0;
    }

    
    .upgrade-btn-header {
        display: none;
    }
}

/* ==========================================
   SMALL MOBILE (max-width: 480px)
   ========================================== */
@media (max-width: 480px) {


    .logo-container img {
        width: 80px;
        height: 45px;
    }

    .footer-links {
        font-size: 10px;
        gap: 2px;
    }
}