
/* ✅ ANTI-JUMP FIX: Prevent Layout Shift During Image Loading */

/* Prevent page reflow during image loading */
body {
    overflow-y: scroll; /* Always show scrollbar to prevent width shift */
}

/* Reserve space for images before loading */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* CRITICAL: Fixed Profile Picture Dimensions - ABSOLUTE PRIORITY */
.post.card img.rounded-circle,
.story-avatar img,
img[src*="profile"],
img[alt*="profile"],
.rounded-circle,
.avatar,
.contact-avatar,
.user-avatar {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    aspect-ratio: 1 / 1 !important;
    flex-shrink: 0 !important;
    object-fit: cover !important;
}

/* ── Story bar exceptions: override the 40px rule above ── */
.instagram-story-bar img,
.create-profile-wrapper img,
.story-bg-image {
    width: 100% !important;
    height: 100% !important;
    min-width: unset !important;
    min-height: unset !important;
    max-width: 100% !important;
    max-height: 100% !important;
    aspect-ratio: unset !important;
    flex-shrink: unset !important;
    object-fit: cover !important;
    border-radius: 0 !important;
    border: none !important;
}

/* story profile overlay: small circle avatar */
.story-profile-overlay img {
    width: 100% !important;
    height: 100% !important;
    min-width: unset !important;
    min-height: unset !important;
    max-width: 100% !important;
    max-height: 100% !important;
    aspect-ratio: unset !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    border: none !important;
}

/* Story avatars specific - ABSOLUTE SIZE */
.story-avatar {
    width: 64px !important;
    height: 64px !important;
    min-width: 64px !important;
    min-height: 64px !important;
    max-width: 64px !important;
    max-height: 64px !important;
    flex-shrink: 0 !important;
}

.story-avatar img {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid white;
    aspect-ratio: 1 / 1 !important;
}

/* Post media images with aspect ratio to prevent collapse */
.post-media img,
.post-media-collage img,
.collage-img,
.post-image {
    max-height: 500px !important;
    width: 100% !important;
    object-fit: cover !important;
    display: block !important;
    aspect-ratio: 16 / 9; /* Default aspect ratio to prevent jump */
}

/* Ensure collage containers have defined dimensions */
.post-media-collage {
    contain: layout style;
    min-height: 300px; /* Reserve minimum space */
    max-height: 600px;
    overflow: hidden;
    background: #f0f0f0; /* Placeholder background */
}

/* Single image in collage */
.collage-single {
    min-height: 300px !important; /* Reserve space */
    max-height: 600px !important;
    overflow: hidden;
    background: #f0f0f0;
}

.collage-single img {
    max-height: 600px !important;
    min-height: 300px; /* Prevent collapse */
}

/* Ensure smooth loading without jumps */
.card,
.post {
    will-change: auto;
    contain: layout style paint;
}

/* Critical: Prevent reflow on image load */
.post.card,
/* story-item must NOT have contain — breaks overflow scroll */
.story-item,
.card-body {
    contain: none;
}

/* hscroll containers must NOT have contain — it breaks overflow/flex */
.hscroll-section,
.hscroll-track,
.hscroll-demo-wrapper,
.stories-wrapper {
    contain: none !important;
    will-change: auto !important;
}

/* Force GPU acceleration for smooth rendering */
.post.card,
.story-item {
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000px;
}

/* Remove any animations on page load for reduced motion */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* END ANTI-JUMP FIX */

/* ✅ OVERRIDE GLOBAL MARGINS FOR NEWSFEED PAGE */
body {
    overflow-x: hidden !important;
}

/* Remove global margins from navbar and main content on newsfeed page */
.navbar .container,
.navbar .container-fluid {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0% !important;
    padding-right: 0% !important;
}

main.main-content {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* ✅ MODERN LAYOUT: CSS Grid with Customizable Variables */

:root {
    /* Layout Padding - Change these to adjust spacing */
    --layout-padding-left: 0%;      /* বাম পাশের padding (%) */
    --layout-padding-right: 0%;     /* ডান পাশের padding (%) */
    --layout-padding-top: 20px;     /* উপরের padding */
    --layout-padding-bottom: 20px;  /* নিচের padding */
    
    /* Row-Specific Padding Controls */
    --row-create-post-padding-left: 0%;   /* Create Post Row বাম padding */
    --row-create-post-padding-right: 0%;  /* Create Post Row ডান padding */
    --row-stories-padding-left: 0%;       /* Stories Row বাম padding */
    --row-stories-padding-right: 0%;      /* Stories Row ডান padding */
    --row-feed-posts-padding-left: 0%;    /* Feed Posts Row বাম padding */
    --row-feed-posts-padding-right: 0%;   /* Feed Posts Row ডান padding */
    
    /* Sidebar Widths */
    --sidebar-width: 300px;         /* Sidebar এর width */
    --sidebar-gap: 20px;            /* Sidebar এবং content এর মধ্যে gap */
    
    /* Responsive Breakpoints */
    --breakpoint-xl: 1400px;
    --breakpoint-lg: 1200px;
    --breakpoint-md: 992px;
    --breakpoint-sm: 768px;
    
    /* Colors */
    --bg-main: #f5f7fa;
    --bg-card: #ffffff;
    --border-color: #e9ecef;
    --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.12);
    
    /* Other Variables */
    --navbar-height: 70px;
    --transition: all 0.3s ease;
}

/* Main Container */
.modern-newsfeed-container {
    width: 100%;
    min-height: 100vh;
    background: var(--bg-main);
    padding: 0;
    margin: 0;
}

/* Newsfeed Row - CSS Grid Layout with Percentage Padding */
.newsfeed-row {
    display: grid;
    grid-template-columns: var(--sidebar-width) 1fr var(--sidebar-width);
    gap: var(--sidebar-gap);
    width: 100%;
    max-width: 100%;
    padding: var(--layout-padding-top) 0px var(--layout-padding-bottom) 0px;
    box-sizing: border-box;
}

/* Row Specific Styles */
.row-create-post {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-bottom: 5px !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.row-create-post button {
    padding: 2px !important;
}

.row-stories {
    padding: 0px !important;
    margin: 0 !important;
    grid-template-columns: 1fr; /* Full width for stories */
}

.row-feed-posts {
    padding: 0 !important;
    margin: 0 !important;
}

/* Sidebar Styling */
.sidebar {
    min-width: 0; /* Prevent overflow */
}

.sidebar-left {
    grid-column: 1;
}

.sidebar-right {
    grid-column: 3;
}

/* Main Content */
.main-content {
    grid-column: 2;
    min-width: 0; /* Prevent overflow */
    padding-bottom: 0px;
}

/* Sticky Sidebars */
.sidebar.sticky {
    position: sticky;
    top: calc(var(--navbar-height) + 20px);
    align-self: start;
    max-height: calc(100vh - var(--navbar-height) - 40px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #cbd5e0 #f7fafc;
}

.sidebar.sticky::-webkit-scrollbar {
    width: 6px;
}

.sidebar.sticky::-webkit-scrollbar-track {
    background: #f7fafc;
}

.sidebar.sticky::-webkit-scrollbar-thumb {
    background: #cbd5e0;
    border-radius: 3px;
}

/* Stories Wrapper */
.stories-wrapper {
    width: 100%;
    grid-column: 1 / -1; /* Span all columns */
}

/* ✅ Responsive Design with Variable-based Padding */

/* Extra Large Desktop (≥1400px) */
@media (min-width: 1400px) {
    :root {
        --layout-padding-left: 0%;
        --layout-padding-right: 0%;
        --sidebar-width: 350px;
        --sidebar-gap: 24px;
        
        /* Row-Specific Padding for XL screens */
        --row-create-post-padding-left: 0%;
        --row-create-post-padding-right: 0%;
        --row-stories-padding-left: 0%;
        --row-stories-padding-right: 0%;
        --row-feed-posts-padding-left: 0%;
        --row-feed-posts-padding-right: 0%;
    }
}

/* Large Desktop (1200px - 1399px) */
@media (min-width: 1200px) and (max-width: 1399px) {
    :root {
        --layout-padding-left: 0%;
        --layout-padding-right: 0%;
        --sidebar-width: 300px;
        --sidebar-gap: 20px;
        
        /* Row-Specific Padding for Large screens */
        --row-create-post-padding-left: 0%;
        --row-create-post-padding-right: 0%;
        --row-stories-padding-left: 0%;
        --row-stories-padding-right: 0%;
        --row-feed-posts-padding-left: 0%;
        --row-feed-posts-padding-right: 0%;
    }
}

/* Desktop (992px - 1199px) */
@media (min-width: 992px) and (max-width: 1199px) {
    :root {
        --layout-padding-left: 0%;
        --layout-padding-right: 0%;
        --sidebar-width: 250px;
        --sidebar-gap: 18px;
        
        /* Row-Specific Padding for Desktop */
        --row-create-post-padding-left: 0%;
        --row-create-post-padding-right: 0%;
        --row-stories-padding-left: 0%;
        --row-stories-padding-right: 0%;
        --row-feed-posts-padding-left: 0%;
        --row-feed-posts-padding-right: 0%;
    }
    
    .newsfeed-row {
        grid-template-columns: var(--sidebar-width) 1fr;
    }
    
    .sidebar-right {
        display: none;
    }
    
    .main-content {
        grid-column: 2;
    }
}

/* Tablet (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
    :root {
        --layout-padding-left: 15px;
        --layout-padding-right: 15px;
        
        /* Row-Specific Padding for Tablet */
        --row-create-post-padding-left: 15px;
        --row-create-post-padding-right: 15px;
        --row-stories-padding-left: 15px;
        --row-stories-padding-right: 15px;
        --row-feed-posts-padding-left: 15px;
        --row-feed-posts-padding-right: 15px;
    }
    
    .newsfeed-row {
        grid-template-columns: 1fr;
    }
    
    .sidebar-left,
    .sidebar-right {
        display: none;
    }
    
    .main-content {
        grid-column: 1;
    }
}

/* Mobile (<768px) */
@media (max-width: 767px) {
    :root {
        --layout-padding-left: 10px;
        --layout-padding-right: 10px;
        --layout-padding-top: 15px;
        
        /* Row-Specific Padding for Mobile */
        --row-create-post-padding-left: 10px;
        --row-create-post-padding-right: 10px;
        --row-stories-padding-left: 10px;
        --row-stories-padding-right: 10px;
        --row-feed-posts-padding-left: 10px;
        --row-feed-posts-padding-right: 10px;
    }
    
    .newsfeed-row {
        grid-template-columns: 1fr;
        gap: 15px;
        display: block !important;
        visibility: visible !important;
    }
    
    .sidebar-left,
    .sidebar-right {
        display: none;
    }
    
    .main-content {
        grid-column: 1;
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
    }

    /* ✅ CRITICAL: Ensure feed posts are visible */
    .row-feed-posts {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
    }

    .row-feed-posts .main-content {
        display: block !important;
        visibility: visible !important;
    }

    #feedPostsContainer {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
    }
}

/* ✅ Professional Card Styling */
.card {
    background: var(--bg-card);
    border-radius: 12px;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--border-color);
    transition: var(--transition);
}

.card:hover {
    box-shadow: var(--shadow-md);
}

.card-body {
    padding: 20px;
}

/* ✅ Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* ✅ END MODERN LAYOUT */

/* ✅ MAIN CONTAINER: Full width, professional layout */
.main-container {
        width: 100%;
        max-width: 100%; /* Full width */
        min-height: calc(100vh - 70px);
        padding: 20px 0; /* No horizontal padding */
        margin: 0;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }

    :root {
        --navbar-height: 70px;
        --grid-columns: 12;
        --left-sidebar-col: 3;
        --main-content-col: 6;
        --right-sidebar-col: 3;
        --grid-gap: 1.5rem;
        --light: #ffffff;
        --light-gray: #f8f9fa;
        --gray: #e9ecef;
        --primary: #0d6efd;
        --secondary: #6c757d;
        --accent: #20c997;
        --text: #212529;
        --text-light: #6c757d;
        --transition: all 0.3s ease;
    }

    /* ✅ Remove all horizontal padding - Full width */
    @media (min-width: 1200px) {
        .main-container {
            padding-left: 0;
            padding-right: 0;
        }
    }

    @media (min-width: 992px) and (max-width: 1199px) {
        .main-container {
            padding-left: 0;
            padding-right: 0;
        }
    }

    @media (min-width: 768px) and (max-width: 991px) {
        .main-container {
            padding-left: 0;
            padding-right: 0;
        }
    }

    @media (max-width: 767px) {
        .main-container {
            padding-left: 10px;
            padding-right: 10px;
        }
    }

    .top-section {
        display: grid;
        grid-template-columns: 
            minmax(0, calc(var(--left-sidebar-col) * 100% / var(--grid-columns))) 
            minmax(0, calc(var(--main-content-col) * 100% / var(--grid-columns))) 
            minmax(0, calc(var(--right-sidebar-col) * 100% / var(--grid-columns)));
        gap: var(--grid-gap);
        align-items: start;
        height: auto;
        min-height: fit-content;
    }

    .bottom-section {
        display: grid;
        grid-template-columns: 
            minmax(0, calc(var(--left-sidebar-col) * 100% / var(--grid-columns))) 
            minmax(0, calc(var(--main-content-col) * 100% / var(--grid-columns))) 
            minmax(0, calc(var(--right-sidebar-col) * 100% / var(--grid-columns)));
        gap: var(--grid-gap);
        align-items: start;
        height: auto;
        min-height: fit-content;
    }

    .left-sidebar,
    .right-sidebar {
        display: flex;
        flex-direction: column;
        gap: var(--grid-gap);
        height: auto;
        min-height: fit-content;
    }

    .main-content {
        display: flex;
        flex-direction: column;
        gap: var(--grid-gap);
        box-sizing: border-box;
        height: auto;
        min-height: fit-content;
    }

    .sticky-sidebar {
        position: sticky;
        top: calc(var(--navbar-height) + 1.5rem);
        height: fit-content;
        max-height: calc(100vh - var(--navbar-height) - 3rem);
        overflow-y: auto;
    }

    .sidebar-content {
        background-color: var(--light);
        border-radius: 16px;
        padding: 1.5rem;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
        border: 1px solid var(--gray);
        height: auto;
        min-height: fit-content;
    }

    .sidebar-content h3 {
        margin-bottom: 1.2rem;
        color: var(--primary);
        font-size: 1.2rem;
    }

    .menu-item {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 0.8rem 0;
        cursor: pointer;
        transition: var(--transition);
        border-bottom: 1px solid var(--gray);
    }

    .menu-item:last-child {
        border-bottom: none;
    }

    .menu-item:hover {
        color: var(--primary);
        transform: translateX(5px);
    }

    .menu-icon {
        width: 30px;
        height: 30px;
        border-radius: 8px;
        background-color: var(--light-gray);
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .feed {
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }

    .post {
        background-color: var(--light);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
        transition: var(--transition);
        border: 1px solid var(--gray);
        height: auto;
        min-height: fit-content;
    }

    .post:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
    }

    .post-header {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 1.2rem 1.5rem 0.5rem;
    }

    .avatar {
        width: 45px;
        height: 45px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--primary), var(--accent));
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: bold;
        color: white;
    }

    .post-info h4 {
        font-size: 1rem;
        margin-bottom: 0.2rem;
    }

    .post-info span {
        font-size: 0.8rem;
        color: var(--text-light);
    }

    .post-content {
        padding: 0rem 0rem;
    }

    .post-image {
        width: 100%;
        height: 300px;
        background-color: var(--light-gray);
        margin: 1rem 0;
        border-radius: 12px;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        color: var(--text-light);
        background-size: cover;
        background-position: center;
    }

    .post-meta {
        padding: 0.8rem 1.5rem;
        border-top: 1px solid var(--gray);
        color: var(--text-light);
        font-size: 0.9rem;
    }

    .contact {
        display: flex;
        align-items: center;
        gap: 1rem;
        padding: 0.8rem 0;
        cursor: pointer;
        transition: var(--transition);
    }

    .contact:hover {
        color: var(--primary);
        transform: translateX(-5px);
    }

    .contact-avatar {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--primary), var(--accent));
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: bold;
        color: white;
    }

    .ws-status {
        position: fixed;
        top: 70px;
        right: 20px;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        z-index: 1000;
        border: 2px solid white;
        box-shadow: 0 0 5px rgba(0,0,0,0.3);
    }

    .ws-connected { background-color: #28a745; }
    .ws-disconnected { background-color: #dc3545; }
    .ws-connecting { background-color: #ffc107; }

    .new-post-animation {
        animation: slideInUp 0.5s ease-out;
        border-left: 4px solid #28a745 !important;
    }

    .post-updated {
        animation: highlightUpdate 1s ease;
    }

    @keyframes slideInUp {
        from {
            opacity: 0;
            transform: translateY(30px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    @keyframes highlightUpdate {
        0% { background-color: transparent; }
        50% { background-color: rgba(40, 167, 69, 0.1); }
        100% { background-color: transparent; }
    }

    .stories-container {
        display: flex;
        gap: 1rem;
        overflow-x: auto;
        padding-bottom: 0.5rem;
        height: auto;
        min-height: fit-content;
    }

    .stories-container::-webkit-scrollbar {
        height: 6px;
    }

    .stories-container::-webkit-scrollbar-track {
        background: var(--light-gray);
        border-radius: 10px;
    }

    .stories-container::-webkit-scrollbar-thumb {
        background: var(--gray);
        border-radius: 10px;
    }

    .story-item {
        flex: 0 0 auto;
        width: 140px;
        height: 220px;
        border-radius: 12px;
        overflow: hidden;
        position: relative;
        cursor: pointer;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        transition: var(--transition);
    }

    .story-item:hover {
        transform: scale(1.03);
        box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
    }

    .story-image {
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center;
        position: relative;
    }

    .story-user {
        position: absolute;
        top: 10px;
        left: 10px;
        display: flex;
        align-items: center;
        gap: 8px;
    }

    .user-avatar {
        width: 36px;
        height: 36px;
        border-radius: 50%;
        border: 3px solid var(--primary);
        background-size: cover;
        background-position: center;
    }

    .user-name {
        color: white;
        font-weight: 600;
        font-size: 0.85rem;
        text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7);
    }

    .add-story {
        background: linear-gradient(135deg, var(--light-gray), var(--gray));
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        align-items: center;
        padding: 1rem;
    }

    .add-story-icon {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        background: var(--primary);
        display: flex;
        justify-content: center;
        align-items: center;
        color: white;
        font-size: 1.5rem;
        margin-bottom: 0.5rem;
    }

    .add-story-text {
        color: var(--text);
        font-weight: 600;
        font-size: 0.9rem;
    }

    .emergency-loading {
        text-align: center;
        padding: 2rem;
        background: var(--light);
        border-radius: 16px;
        border: 2px dashed var(--gray);
    }

    .loading-spinner {
        width: 40px;
        height: 40px;
        border: 4px solid #f3f3f3;
        border-top: 4px solid #3498db;
        border-radius: 50%;
        animation: spin 1s linear infinite;
        margin: 0 auto 1rem;
    }

    @keyframes spin {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
    }

    @media (max-width: 1200px) {
        :root {
            --left-sidebar-col: 3;
            --main-content-col: 9;
            --right-sidebar-col: 0; /* Hide right sidebar */
        }
    }

    @media (max-width: 768px) {
        :root {
            --left-sidebar-col: 0; /* Hide left sidebar */
            --main-content-col: 12;
            --right-sidebar-col: 0;
        }
        
        .main-container {
            padding-left: 15px;
            padding-right: 15px;
        }
    }

    @media (max-width: 576px) {
        .main-container {
            padding-left: 10px;
            padding-right: 10px;
        }
    }

    /* ✅ Professional styling - No debug borders */


/* ✅ MOBILE HORIZONTAL SCROLLING - Stories, Friend Suggestions, Friend Requests, Friends List */
@media (max-width: 767px) {
    /* Mobile horizontal scrolling for friend suggestions */
    .suggestions-list {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 0.75rem !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 0.5rem !important;
        grid-template-columns: none !important;
    }
    
    .suggestions-list::-webkit-scrollbar {
        height: 4px !important;
    }
    
    .suggestions-list::-webkit-scrollbar-track {
        background: #f0f0f0 !important;
        border-radius: 10px !important;
    }
    
    .suggestions-list::-webkit-scrollbar-thumb {
        background: #cbd5e0 !important;
        border-radius: 10px !important;
    }
    
    .suggestion-card {
        flex: 0 0 280px !important;
        scroll-snap-align: start !important;
    }
    
    .friends-suggestions-container {
        padding: 0 !important;
        overflow: hidden !important;
    }
    
    .suggestions-header .card-body {
        padding: 0.5rem !important;
    }
    
    /* Mobile horizontal scrolling for friend requests */
    #friend-requests-container {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 0.75rem !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 0.5rem !important;
    }
    
    #friend-requests-container::-webkit-scrollbar {
        height: 4px !important;
    }
    
    #friend-requests-container::-webkit-scrollbar-track {
        background: #f0f0f0 !important;
        border-radius: 10px !important;
    }
    
    #friend-requests-container::-webkit-scrollbar-thumb {
        background: #cbd5e0 !important;
        border-radius: 10px !important;
    }
    
    #friend-requests-container .card {
        flex: 0 0 280px !important;
        scroll-snap-align: start !important;
        margin-bottom: 0 !important;
    }
    
    /* Mobile horizontal scrolling for friends list */
    .friends-list-container,
    #friends-list-container {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 0.75rem !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 0.5rem !important;
    }
    
    .friends-list-container::-webkit-scrollbar,
    #friends-list-container::-webkit-scrollbar {
        height: 4px !important;
    }
    
    .friends-list-container::-webkit-scrollbar-track,
    #friends-list-container::-webkit-scrollbar-track {
        background: #f0f0f0 !important;
        border-radius: 10px !important;
    }
    
    .friends-list-container::-webkit-scrollbar-thumb,
    #friends-list-container::-webkit-scrollbar-thumb {
        background: #cbd5e0 !important;
        border-radius: 10px !important;
    }
    
    .friends-list-container .friend-card,
    .friends-list-container .card,
    #friends-list-container .friend-card,
    #friends-list-container .card {
        flex: 0 0 280px !important;
        scroll-snap-align: start !important;
        margin-bottom: 0 !important;
    }
    
    /* Ensure stories also have horizontal scrolling on mobile */
    .stories-container {
        display: flex !important;
        flex-direction: row !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        gap: 0.75rem !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch !important;
        padding-bottom: 0.5rem !important;
    }
}


/* ============================================================
   📱 MOBILE STORY/REEL SLIDER — handled in feed_story.html
   ============================================================ */
/ *   I n t e r a c t i o n   P u l s e   A n i m a t i o n   * / . p u l s e - a n i m a t i o n   {   a n i m a t i o n :   c o u n t e r - p u l s e   0 . 5 s   e a s e - o u t ;   d i s p l a y :   i n l i n e - b l o c k ;   }   @ k e y f r a m e s   c o u n t e r - p u l s e   {   0 %   {   t r a n s f o r m :   s c a l e ( 1 ) ;   }   5 0 %   {   t r a n s f o r m :   s c a l e ( 1 . 4 ) ;   c o l o r :   # 1 8 7 7 f 2 ;   }   1 0 0 %   {   t r a n s f o r m :   s c a l e ( 1 ) ;   }   }  
 