/*

#   #    ###   #####  #####   ###   ####    ###   #####   ###    ###   ######    #
##  #   #   #    #      #    #   #  #   #  #   #    #    #   #  #   #       #   ##
# # #   #####    #      #    #####  ####   #####    #      #     ###       #     #
#  ##   #   #    #      #    #   #  #      #   #    #     #     #   #     #      #
#   #   #   #    #      #    #   #  #      #   #    #    #####   ###     #     ##### 

*/ 



/* =============================================== */
/* ===== Media Queries for Responsive Design ===== */
/* =============================================== */

/* --- Tablet and medium screens (below 992px) --- */
/* Not much to do here, but keeping it for future adjustments */
@media (max-width: 992px) {
    
    .profile-card {
    }
}


/* --- Large mobile and vertical tablet (below 768px) --- */
/* Mobile responsive styles - took a while to get everything aligned right */
/* The avatar positioning was particularly annoying on mobile */
@media (max-width: 768px) {
    body {
        overflow-y: auto;
        overflow-x: hidden;
        align-items: flex-start;
        padding-top: 20px;
        padding-bottom: 20px;
    }

    .profile-card {
        max-width: 95%;
        width: 394px;
        height: 690px;   
        margin: 50px auto;
        padding-bottom: 50px;
    }

    #profileBanner {
        height: 200px;
    }


    .profile-effect-container {
        position: absolute; 
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none; 
        z-index: 10;
    }
    


    .profile-avatar-wrapper {

        left: 18%;
        top: 150px;
        width: 100px;
        height: 100px;
    }

    .profile-avatar-link {
        width: 92px;
        height: 92px;
        border-width: 3px;
    }
    #avatarDecoration {
        width: 115%;
        height: 115%;
    }

     .status-indicator {
        width: 22px;
        height: 22px;
        border-width: 2px;
        bottom: 3px;
        right: 3px;
    }

    .profile-status-text {
        left: 135px;
        top: 190px;
        max-width: 170px;
        z-index: 3;
    }
     .profile-status-text::before {
        left: 5px;
        width: 15px;
        height: 15px;
     }
     .profile-status-text::after {
        width: 8px;
        height: 8px;
        left: -8px;
        top: -15px;
     }


     .custom-badges {
        position: absolute;
        display: flex; 
        justify-content: center;
        margin-top: -60px; 
        margin-bottom: 15px;
        right: 8px;
        width: fit-content; 
        max-width: 90%;
        padding: 5px 10px;
        min-height: auto;
        box-sizing: border-box;
        z-index: 1;
        
    }
    .badge-item .badge-item-tooltip{
        z-index: 2;
    }

    .profile-about-spec {
         width: calc(100% - 30px);
         margin-top: 70px;
    }
    .profile-about-spec .profile-display-name {
        font-size: 1.6em;
    }
     .profile-about-spec .profile-username {
        font-size: 0.95em;
    }


    .profile-activity {
        width: calc(100% - 30px);
        padding: 8px 10px;
        gap: 8px;
    }
    .activity-visuals {
        width: 80px; 
        height: 50px;
    }
     #activitySmallImage {
         right: -90px;
         bottom: 5px;
         width: 18px;
         height: 18px;
     }


     .volume-control {
        position: fixed;
        left: 15%;
        top: 2%;
        transform: translateX(-50%);
        padding: 6px 10px;
        display: flex;
        align-items: center;
        background-color: rgba(0, 0, 0, 0.5);
        border-radius: 20px;
        z-index: 10;
    }
    
    #volume-slider {
        width: 70px;
    }

    .discord-open-btn {
        position: fixed;
        width: 50px;
        height: 50px;
        font-size: 24px;
        top: 400px;
        left: 50%;
        transform: translate(-50%, -50%);

    }
    

    footer.site-footer {
        padding: 15px;
        font-size: 0.8em;
    }
}


/* --- Small mobile (below 480px) --- */
/* Extra small screens - everything gets even smaller */
/* This was a pain to test on actual devices */
@media (max-width: 480px) {
    body {
        overflow-y: auto;
        align-items: flex-start;
        padding-top: 20px;
        padding-bottom: 20px; 
    }

    .profile-card {
        max-width: 94%;
        height: 690px;
        padding-bottom: 40px;
        margin: 10px auto;
        border-width: 3px;
    }

    #profileBanner {
        height: 200px;
        border-radius: 12px;
    }
     .profile-effect {
        border-radius: 12px;
     }

    .profile-avatar-wrapper {
        left: 17%;
        transform: translateX(-50%);
        top: 155px;
        width: 90px;
        height: 90px;
    }

    .profile-avatar-link {
        width: 82px;
        height: 82px;
    }
    #avatarDecoration {
        width: 118%;
        height: 118%;
    }
     .status-indicator {
        width: 20px;
        height: 20px;
        bottom: 2px;
        right: 2px;
    }

    .profile-status-text {
        left: 33%;
        transform: translateX(-50%);
        top: 195px;
        max-width: 50%;
        padding: 8px 12px;
        border-radius: 12px;
    }


    .custom-badges {
        position: absolute;
        margin-top: -50px; 
        margin-left: 135px;
        margin-right: auto;
        width: fit-content; 
        max-width: 90%;
        padding: 5px 10px;
        min-height: auto;
        box-sizing: border-box;
        z-index: 1;
    }
     .custom-badges img {
        width: 20px;
        height: 20px;
     }

    .profile-about-spec {
         width: calc(100% - 20px);
         padding: 8px 10px;
         margin-top: 70px;
         font-size: 16px;
    }
    .profile-about-spec .profile-display-name {
        font-size: 1.4em;
    }
     .profile-about-spec .profile-username {
        font-size: 0.9em;
    }
     .about-me-tab, .spec-tab, .connect-tab {
         padding: 6px 8px;
         font-size: 0.9em;
     }
      .about-me-content, .spec-content, .connect-content {
          font-size: 0.9em;
      }

    .profile-activity {
        width: calc(100% - 20px);
        padding: 6px 8px;
        gap: 6px;
        font-size: 17px;

    }
     .activity-visuals {
        width: 100px;
        height: 60px;
        align-self: center;
        margin-bottom: 5px;
     }
     #activitySmallImage {
        width: 20px;
        height: 20px;
        left: 85px;
        margin-bottom: 5px;

     }
      .activity-text {
          font-size: 0.9em;
          width: 100%;
      }


    .volume-control {
        left: 15%;
        transform: translateX(-50%);
        padding: 5px 8px;
        top: 2%;
    }
     #speaker-icon { font-size: 1em; }
     #volume-slider { width: 60px; }

    .discord-open-btn {
         width: 40px;
         height: 40px;
         font-size: 20px;
         bottom: 10px;
         top: 400px;
         left: 50%;
         transform: translateX(-50%) scale(1);
    }
     .discord-open-btn:hover {
         transform: translateX(-50%) scale(1.1); 
     }


    footer.site-footer {
        padding: 10px;
        font-size: 0.75em;
        
    }
}