/* Profile page unique styles - Mobile First */

.profile-header-wrapper {
    margin-bottom: var(--spacing-xl);
}

.banner {
    width: 100%;
    height: 15vh;
    min-height: 100px;
    max-height: 150px;
    background: var(--gradient-primary);
    border-top-left-radius: var(--radius-xl);
    border-top-right-radius: var(--radius-xl);
    overflow: hidden;
    position: relative;
}

.profile-photo {
    position: relative;
    margin-top: calc(var(--spacing-lg) * -1); /* Pull photo up over the banner */
    margin-left: var(--spacing-md);
    z-index: 10;
    text-align: center; /* Default center alignment for mobile */
}

.profile-img, .profile-img-sm {
    width: clamp(90px, 20vw, 120px);
    height: clamp(90px, 20vw, 120px);
    border-radius: 50%;
    border: 5px solid var(--color-surface);
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    object-fit: cover;
    background-color: var(--color-surface);
}


.stats-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--spacing-md);
    margin-top: var(--spacing-lg);
}

.stat {
    flex: 1 1 45%; /* Allow wrapping on small screens (2 per row) */
    background: var(--color-surface);
    border-radius: var(--radius-xl);
    padding: var(--spacing-lg);
    text-align: center;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.stat-value {
    font-size: 1.5rem;
    font-weight: var(--font-weight-bold);
    color: var(--desmos-dark-blue);
    display: block;
}

.stat-label {
    font-size: 0.875rem;
    color: var(--desmos-gray);
}

.stat-number {
    height: 30%;
}
