﻿
@font-face {
    font-family: 'Roboto';
    src: url('/Roboto-Regular.ttf');
    font-weight: normal;
}


@font-face {
    font-family: 'Roboto-Bold';
    src: url('/Roboto-Bold.ttf');
    font-weight: bold;
}



@font-face {
    font-family: 'Roboto-Medium';
    src: url('/Roboto-Medium.ttf');
    font-weight: normal;
    font-stretch: narrower;
}


body {
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
    background-color: #f5f3f1;
    -webkit-tap-highlight-color: transparent;
}

body, td, th {
    font-family: Roboto;
    font-weight: normal;
    font-size: 12px;
}

a:link {
    text-decoration: none;
}

a:visited {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
    color: #F00;
}

a:active {
    text-decoration: none;
}

.textborderpadding {
    border-radius: 6px;
    padding: 4px
}

.buttonborder {
    border-radius: 6px;
}




.sidemenu {
    font-family: "Roboto";
    font-size: 14px;
    font-weight: bold;
    color: #2b2116;
    white-space: pre-line;
    color: #666;
}




.machines {
    font-family: "Roboto";
    font-size: 10px;
    font-weight: bold;
    color: #2b2116;
    white-space: pre-line;
    color: #666;
}

.longdescription {
    font-family: 'Roboto';
    font-size: 11px;
    font-style: normal;
    color: #3d3b3b;
    white-space: pre-line;
}


.panelindustries {
    background-color: #FFFFFF;
    border: solid 2px #e2e2e1;
    padding: 14px;
    background-color: #FFFFFF;
    z-index: 9999999;
    border-radius: 5px;
}

.linkindclose {
    color: #7b7b7c;
    font-family: 'Roboto';
    font-weight: bold;
    cursor: pointer;
}


.flagborder {
    border-radius: 5px;
    vertical-align: middle;
}



.flagborder1 {
    border-radius: 6px;
    vertical-align: middle;
}




.sectorname {
    font-family: Roboto-Bold;
    font-size: 13px;
    color: #8d8d8d;
    font-weight: bold;
    white-space: pre-line;
}

.sectorname1 {
    font-family: Roboto;
    font-size: 13px;
    color: #adacac;
    white-space: pre-line;
}


.iconmargin {
    padding-top: 8px;
}

.sectordetails {
    font-family: Roboto;
    padding-top: 8px;
    padding-bottom: 8px;
}

.sectordetailscolor {
    font-size: 15px;
    color: #1f1f1f;
    font-family: Roboto;
    white-space: pre-line;
}




.img-circle {
    border-radius: 50%;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid #F4F4F4;
    background-color: #FFFFFF;
    cursor: pointer;
    object-position: center center;
    display: block;
}


.img-circle1 {
    border-radius: 10px;
    cursor: pointer;
}


.img-circle1a {
    border-radius: 5px;
    z-index: 9999999 !important;
}

    .img-circle1a img {
        border-radius: 5px;
        z-index: 9999999 !important;
    }




.sideprofileimage {
    object-fit: cover;
    border-radius: 50%;
    border: 3px solid #f5f4f3;
    background-color: #FFFFFF;
    object-fit: cover;
    object-position: center center;
    display: block;
}



.profile_image {
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid #F4F4F4;
    background-color: #FFFFFF;
    cursor: pointer
}


.profilecover {
    height: 175px;
    overflow-y: hidden;
    object-fit: cover;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    background-color: #FFFFFF;
    border-top-width: 1px;
    border-left-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 0px;
    border-top-color: #e9e8e7;
    border-left-color: #e9e8e7;
    border-right-color: #e9e8e7;
    border-top-style: solid;
    border-left-style: solid;
    border-right-style: solid;
    cursor: pointer;
    object-position: center center;
    display: block;
}




.profilecover1 {
    height: 195px;
    overflow-y: hidden;
    object-fit: cover;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    background-color: #FFFFFF;
    border-top-width: 1px;
    border-left-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 0px;
    border-top-color: #e9e8e7;
    border-left-color: #e9e8e7;
    border-right-color: #e9e8e7;
    border-top-style: solid;
    border-left-style: solid;
    border-right-style: solid;
    cursor: pointer;
    object-position: center center;
    display: block;
}


.profilecover2 {
    height: 125px;
    overflow-y: hidden;
    object-fit: cover;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    background-color: #FFFFFF;
    border-top-width: 1px;
    border-left-width: 1px;
    border-right-width: 1px;
    border-bottom-width: 0px;
    border-top-color: #e9e8e7;
    border-left-color: #e9e8e7;
    border-right-color: #e9e8e7;
    border-top-style: solid;
    border-left-style: solid;
    border-right-style: solid;
    cursor: pointer;
    object-position: center center;
    display: block;
}

.pagedisplaytop {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    background-color: white;
    border-color: #808080;
    border-width: 1px;
    height: 100%;
    padding-left: 4px;
    padding-right: 4px;
    padding-top: 20px;
    transition: background-color 0.2s ease;
}

    .pagedisplaytop:hover {
        background-color: #fbfbfa;
    }

    .pagedisplaytop:active {
        background-color: #f8f8f8;
    }


.pagedisplaybottom {
    background-color: white;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    border-color: #808080;
    border-width: 1px;
    width: 100%;
    height: 100%;
}


.feedfooter {
    border-radius: 20px;
    background-color: white;
    border-color: #808080;
    border-width: 1px;
    padding-left: 4px;
    padding-right: 4px;
    padding-top: 30px;
}



.right-panel-sectors {
    overflow-y: auto;
    width: 280px;
    background-color: #FFFFFF;
    border-radius: 20px;
    height: 100%;
    padding: 20px;
}

.searchtext {
    color: #dfdfe0;
}

.showsector {
    border-radius: 30px;
    vertical-align: middle;
    border-style: solid;
    border-width: 2px;
    border-color: #e2e2e1;
    background-color: #fcfcfc;
    position: fixed !important;
    /* You can adjust these values as needed */
    top: 50% !important;
    left: 60% !important;
    transform: translate(-50%, -50%);
    max-width: 330px;
    z-index: 999999 !important;
}

@media (max-width: 600px) {
    .showsector {
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%);
        max-width: 330px;
        z-index: 999999 !important;
    }


    .pagedisplaytop {        
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
    }

    .pagedisplaybottom {
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
    }

    .feedfooter {
        border-radius: 0px;
        background-color: white;
    }


    /*body {   
        background-color: #FFFFFF;
        -webkit-tap-highlight-color: transparent;
    }*/
}

.showsectorimage {
    border-radius: 30px;
    vertical-align: middle;
    cursor: pointer;
    max-width: 600px;
    width: 95%;
    border-style: solid;
    border-width: 1px;
    border-color: #8d8d8d;
    position: fixed !important;
    /* Center the panel */
    top: 40% !important; /* Adjusted from 40% to 50% for perfect centering */
    left: 50% !important;
    transform: translate(-50%, -50%); /* Adjusted transform for perfect centering */
    z-index: 99999999 !important;
    box-shadow: 0 0 65px 10px rgba(0, 0, 0, 0.3);
}


.sectortitle {
    font-family: Roboto;
    font-weight: 600;
    white-space: pre-line;
}

.showpostext {
    display: block;
    max-width: 440px;
    cursor: pointer;
}

.showpostitem {
    display: block;
    cursor: pointer;
}



.hidepostitem {
    display: none;
}


.weblink {
    color: #666;
}

.displaybadge {
    display: block;
}

.hidebadge {
    display: none;
}

.energizegif-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 70%;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    visibility: hidden;
}

.energizegif-overlay {
    max-width: 15%; /* Updated from 25% */
    max-height: 15%; /* Updated from 25% */
    opacity: 1;
    transition: opacity 0.3s ease-out;
    margin-top: 66px; /* Updated from 30px */
    margin-left: 85px; /* New position */
    mask-image: linear-gradient(to bottom, transparent 0%, black 25%);
    -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 25%);
}

.show-container {
    visibility: visible;
}

.energizegiffade-out {
    opacity: 0;
}

.helabalance {
    font-family: "Roboto";
    font-size: 14px;
    font-weight: bold;
    color: #2b2116;
    white-space: pre-line;
    color: #3d3b3b;
}


.panelhelaamount {
    padding: 8px;
    border-radius: 8px;
    z-index: 999999999999999999 !important;
}



.placeholder-container {
    width: 500px;
}


.post-placeholder-item {
    display: flex;
    align-items: flex-start;
    padding-top: 15px;
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 35px;
    border: 1px solid #eee;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 15px;
    background-color: #FFFFFF;
}


.placeholder-avatar {
    width: 48px;
    height: 48px;
    background-color: #f0f0f0;
    border-radius: 50%;
    margin-right: 15px;
    margin-bottom: 10px;
    animation: loading-pulse 1.5s infinite ease-in-out;
}

.placeholder-avatar1 {
    width: 48px;
    height: 48px;
    background-color: #e1e1e6;
    border-radius: 50%;
    margin-right: 15px;
    margin-bottom: 10px;
    border: 1px solid #FFFFFF;
    animation: loading-pulse 1.3s infinite ease-in-out;
}


.placeholder-image-sector1 {
    width: 80%;
    height: 110px;
    background-color: #f0f0f0;
    margin-bottom: 8px;
    border-radius: 18px;
    animation: loading-pulse 1.5s infinite ease-in-out;
}


.placeholder-content {
    flex-grow: 1;
}


.placeholder-line {
    height: 12px;
    background-color: #f0f0f0;
    margin-bottom: 8px;
    border-radius: 8px;
    animation: loading-pulse 1.5s infinite ease-in-out;
}


.placeholder-image {
    width: 100%;
    height: 250px;
    background-color: #f0f0f0;
    margin-bottom: 8px;
    border-radius: 14px;
    animation: loading-pulse 1.5s infinite ease-in-out;
}

.placeholder-image-sector {
    width: 80%;
    height: 80px;
    background-color: #f0f0f0;
    margin-bottom: 8px;
    border-radius: 14px;
    animation: loading-pulse 1.5s infinite ease-in-out;
}

.post-placeholder-item-sector {
    display: flex;
    align-items: flex-start;
    padding-left: 3px;
    padding-right: 15px;
    padding-top: 4px;
    padding-bottom: 4px;
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 4px;
    background-color: #FFFFFF;
}

.placeholder-line.short {
    width: 40%;
}

.placeholder-line.medium {
    width: 75%;
}

.placeholder-line.long {
    width: 95%;
}


@keyframes loading-pulse {
    0% {
        opacity: 0.6;
    }

    50% {
        opacity: 1;
    }

    100% {
        opacity: 0.6;
    }
}



.reaction-effect-target {
    border-radius: 50%;
    display: inline-block;
    background-color: transparent;
    box-shadow: 0 0 0 0px transparent;
    transition: box-shadow 0.2s ease-in-out, opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
    cursor: pointer;
    width: 24px;
    height: 24px;
    transform: translateY(-3px);
}

    .reaction-effect-target:hover {
        background-color: rgba(252, 222, 245, 0.90);
        box-shadow: -1px -1px 0 5px rgba(252, 222, 245, 0.90);
    }

    .reaction-effect-target.is-processing {
        background-color: rgba(252, 222, 245, 0.90);
        box-shadow: -1px -1px 0 5px rgba(252, 222, 245, 0.90);
        opacity: 0.6;
        cursor: wait !important;
    }

.post-media-container {
    cursor: pointer;
}

    .post-media-container:hover {
        /* Subtle fade for the link effect */
        opacity: 0.98;
    }

/* --- 1. Follow Button Hover/Click Effects --- */

/* Base style for the clickable container */
.follow-button-wrapper {
    display: inline-block;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    transition: all 0.15s ease-in-out;
    position: relative;
    overflow: visible;
    z-index: 10;
    padding-left: 2px;
    padding-right: 1px;
    padding-top: 2px;
    padding-bottom: 2px;
    border-width: 1px;
    border-style: solid;
    border-color: #eaeaea;
    border-radius: 7px;
    width: 18px;
    height: 14px;
    cursor: pointer;
    pointer-events: auto;
}

    .follow-button-wrapper:hover {
        border-color: #ffcfcf !important; /* Highlight border (e.g., light blue) */
        transform: translateY(0px); /* Lift it an extra 1px higher on hover */
    }

    /* Active (click) effect: Press down */
    .follow-button-wrapper:active {
        border-color: #a0a0a0 !important;
        box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
        transform: translateY(0px);
    }


    .follow-button-wrapper img {
        pointer-events: none;
        user-select: none;
    }

.follow-confirmation-popup {
    position: absolute;
    bottom: 89%;
    left: 50%;
    transform: translate(-50%, 0);
    width: 200px;
    height: 50px;
    background-color: rgba(255, 255, 255, 0.9); /* Translucent white background */
    backdrop-filter: blur(3px); /* Subtle blur for modern, translucent look */
    -webkit-backdrop-filter: blur(3px); /* Safari support */
    border-radius: 45px;
    border: 1px solid #ddd;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Soft, wide shadow */
    padding: 10px;
    text-align: center;
    opacity: 0;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
    pointer-events: none; /* Allows clicks to pass through when hidden */
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .follow-confirmation-popup.show {
        opacity: 1;
        transform: translate(-50%, -5px);
    }

    .follow-confirmation-popup img {
        height: 40px;
        width: 40px;
        border-radius: 50%;
        margin-right: 10px;
        flex-shrink: 0;
    }

    .follow-confirmation-popup span {
        margin: 0;
        font-size: 12px;
        color: #333;
        font-weight: 600;
        flex-grow: 1;
        text-align: left;
        line-height: 1.2;
    }

.user-details-popup {
    position: fixed;
    z-index: 99999999999 !important;
    width: 300px;
    border: 1px solid #e0e0e0;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    /* 🌟 DEFAULT STATE: Hidden 🌟 */
    opacity: 0;
    visibility: hidden;
    transform: scale(0.95);
    transition: opacity 0.3s ease-out, transform 0.2s ease-out, visibility 0s 0.3s;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(3px);
}

    /* 🌟 FADE-IN CLASS 🌟 */
    .user-details-popup.show {
        opacity: 1;
        visibility: visible;
        transform: scale(1);
        transition-delay: 0s;
    }

    /* 🌟 FADE-OUT CLASS 🌟 */
    .user-details-popup.hidden {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: scale(0.95);
    }




.popup-loading {
    padding: 20px;
    text-align: center;
    color: #9CA3AF;
}

.media-overlay {
    position: fixed;
    z-index: 999999999 !important;
    background-color: rgba(0, 0, 0, 0);
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}



.media-container {
    position: fixed;
    width: 400px;
    min-height: 240px;
    max-height: 450px;
    height: auto;
    box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.4);
    z-index: 999999999999999 !important;
    background: #100f0f;
    border-radius: 24px;
    border: 3px solid rgba(0, 0, 0, 0.5);
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
}

.media-content-area {
    width: 100%;
    /* Ensure the content area matches the container's height constraints */
    min-height: 240px;
    max-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 22px;
    overflow: hidden;
}

    .media-content-area img,
    .media-content-area video {
        width: 100%;
        min-height: 240px;
        max-height: 400px;
        height: auto;
        object-fit: cover;
        /* CHANGE THIS: 'center' ensures equal cropping top and bottom */
        object-position: center center;
        border-radius: 22px;
        display: block;
    }


@media (max-width: 520px) {
    .media-container {
        left: 50%;
        transform: translateX(-50%);
        width: 95%;
        /* Maintain the height constraints so the crop logic works on mobile */
        min-height: 240px;
        max-height: 450px;
        height: auto;
        /* Flexbox is required here to keep the content area vertically centered */
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        overflow: hidden;
        border-radius: 22px;
        z-index: 99999999999999 !important;
    }

    /* Apply the crop logic to the actual media inside the container on mobile */
    .media-content-area img,
    .media-content-area video {
        width: 100%;
        height: auto;
        min-height: 240px;
        max-height: 450px;
        object-fit: cover;
        object-position: center center; /* Equal crop top and bottom */
    }

    .media-overlay {
        position: fixed;
        /* Ensure overlay is behind the container but above the page */
        z-index: 99999999999998 !important;
    }
}

#MediaEnlargementOverlay {
    display: none;
    position: fixed;
    z-index: 99999999999999999 !important;
}


#userDetailsPopupModal {
    display: none;
    position: fixed;
    z-index: 999999999999999 !important;
}

.htmlbutton {
    cursor: pointer;
    background-color: #fff;
}

    .htmlbutton:hover, .htmlbutton:active {
        background-color: rgba(251, 251, 251, 0.00);
    }



.inner-circle-button {
    display: inline-block;
    box-shadow: 0 1px -1px rgba(0, 0, 0, 0.1);
    transition: all 0.15s ease-in-out;
    position: relative;
    overflow: visible;
    z-index: 10;
    padding-left: 2px;
    padding-right: 1px;
    padding-top: 2px;
    padding-bottom: 2px;
    border-width: 1px;
    border-style: solid;
    border-color: #eaeaea;
    border-radius: 7px;
    width: 18px;
    height: 14px;
    cursor: pointer;
    pointer-events: auto;
}

    .inner-circle-button:hover {
        border-color: #ffcfcf !important; /* Highlight border (e.g., light blue) */
        transform: translateY(0px); /* Lift it an extra 1px higher on hover */
    }


    .inner-circle-button:active {
        border-color: #a0a0a0 !important;
        box-shadow: 0 0 1px rgba(0, 0, 0, 0.2);
        transform: translateY(0px);
    }


    .inner-circle-button img {
        pointer-events: none;
        user-select: none;
    }


#PanelHeaderLeftMobile, #PanelHeaderRightMobile {
    display: none;
}

.header-panel {
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: center; /* Centers the content wrapper within the fixed header */
    position: fixed;
    top: 0;
    width: 100%;
    height: 52px;
    background-color: #f0f0f0;
    z-index: 1000;
    background-color: #fff;
    padding-top: 12px;
    padding-bottom: 8px;
    box-sizing: border-box;
    z-index: 1000;
    border-bottom-style: solid;
    border-bottom-color: #e2e2e1;
    border-bottom-width: 1px;
}

/* --- Base Desktop Layout (All panels visible as columns, > 850px) --- */

.page-container {
    margin-left: auto;
    margin-right: auto;
    margin-top: 72px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    margin-bottom: 50px;
    width: fit-content;
}



.main-content {
    min-width: 330px;
    max-width: 500px;
    padding-left: 28px;
    padding-right: 28px;
    display: block !important;
}


#divleftPanel {
    width: 260px;
    flex-shrink: 0;
}

#divRightPanel {
    width: 260px;
    flex-shrink: 0;
    position: sticky !important; /* Re-enabled */
    top: 70px; /* Distance from top of viewport when sticking */
    display: block;
}


@media (min-width: 951px) {
    /* Targets the panel when it is a child of .page-container */
    .page-container > #divleftPanel,
    .page-container > #divRightPanel {
        /* CRITICAL: Disable all mobile positioning and animation */
        position: sticky !important;
        top: 70px !important;
        transform: none !important;
        transition: none !important;
        z-index: 1; /* Normal flow z-index */
        /* Ensure it is visible as a column */
        display: block !important; /* Or 'flex', 'grid', etc., for your column layout */
        width: 260px;
    }

    #leftPanelSpacer {
        display: block !important; /* Hide desktop search */
    }
}


/* --- THE BRIDGE: Keeps Right Panel visible from 651px to 950px --- */
@media (max-width: 950px) and (min-width: 651px) {
    .page-container > #divRightPanel {
        display: block !important;
        position: sticky !important;
        width: 260px !important;
        flex: 0 0 260px !important;
        transform: none !important;
        z-index: 1;
    }




    .main-content {
        min-width: 330px;
        max-width: 500px;
        padding-left: 15px;
        padding-right: 20px;
        display: block !important;
    }


    .left-panel,
    .right-panel {
        display: block !important;
        z-index: 99999;
        width: 260px;
        transition: transform 0.3s ease-out;
    }



    body > #divRightPanel {
        display: none !important;
    }
}



@media (max-width: 950px) {
    /* 1. Hide the Left Panel column */
    .page-container > #divleftPanel {
        display: none !important;
    }


    .main-content {
        min-width: 330px;
        max-width: 500px;
        padding-left: 15px;
        padding-right: 20px;
        display: block !important;
    }

    #PanelHeaderLeftMobile {
        display: block !important;
    }


    #PanelSearch {
        display: none !important; /* Hide desktop search */
    }


    #leftPanelSpacer {
        display: none !important; /* Hide desktop search */
    }

    .left-panel,
    .right-panel {
        display: block !important;
        z-index: 99999;
        width: 260px;
        box-shadow: none;
        min-height: 100vh;
        transition: transform 0.3s ease-out;
        padding: 0 15px 15px 15px;
    }

    .left-panel {
        position: fixed;
        left: 0;
        transform: translateX(-100%);
        background-color: #FFFFFF;
    }
}



/* --- Breakpoint 2: Hide Right Panel (width <= 750px) --- */

@media (max-width: 650px) {
    /* 1. Hide the Right Panel column */
    .page-container > #divRightPanel {
        display: none !important;
    }

    .page-container > #divleftPanel {
        display: none !important;
    }


    .main-content {
        padding-left: 0;
        padding-right: 0;
        display: block !important;
        width: 100% !important;
        max-width: 500px !important;
    }


    #PanelHeaderRightMobile {
        display: block !important; /* Show icon to open right panel */
    }


    #PanelHeaderRight {
        display: none !important; /* Show icon to open right panel */
    }

    #leftPanelSpacer {
        display: none !important; /* Hide desktop search */
    }

    .left-panel,
    .right-panel {
        position: fixed;
        top: 0;
        z-index: 99999;
        width: 260px;
        box-shadow: none;
        min-height: 100vh;
        max-height: calc(100vh - 10px);
        transition: transform 0.3s ease-out;
        display: none;
        padding: 15px;
    }


    #divRightPanel {
        position: fixed !important; /* Force fixed over sticky  */
        top: 0 !important; /* Force it to the very top  */
        right: 0 !important; /* Ensure it's pinned to the right [cite: 37] */
        height: 100vh !important; /* Fill the vertical screen  */
        margin-top: 0 !important; /* Remove any desktop margins */
        display: none; /* Controlled by is-open class [cite: 36, 39] */
        transform: translateX(100%); /* Start off-screen [cite: 37] */
        transition: transform 0.3s ease-out; /* Smooth slide  */
    }

        /* When the JS adds 'is-open', show it and slide it in */
        #divRightPanel.is-open {
            display: block !important; /* [cite: 39] */
            transform: translateX(0) !important; /* [cite: 43] */
        }
}



/* --- Panel Overlay CSS (Ensure this is present for the toggle to work) --- */
/* Body class to prevent main content scroll when overlay is open */

.body-no-scroll {
    overflow: hidden;
}



/* Backrop style (optional, but recommended) */

#backdrop-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1000;
    display: none; /* Hidden by default, shown by JS when a panel opens */
}


.left-panel.is-open,
.right-panel.is-open {
    transform: translateX(0);
}

/* Hidden State (Off-screen) */
.left-panel {
    left: 0;
    transform: translateX(-100%);
}

.right-panel {
    right: 0;
    transform: translateX(100%);
}

    /* Open State (Class applied by JS toggle) */
    /* Open State (Class applied by JS toggle) */
    .left-panel.is-open,
    .right-panel.is-open {
        transform: translateX(0);
    }

#NotificationArea {
    position: relative;
    display: inline-block;
    cursor: pointer;
}

/* The bell icon */
.notification-toggle-icon {
    cursor: pointer;
}


#NotificationCount,
#NotificationCountMobile {
    position: absolute;
    top: -7px;
    right: -11px;
    z-index: 10;
    width: 12px;
    height: 12px;
    line-height: 12px;
    border-radius: 50%;
    background-color: #e50505; /* Red */
    color: white;
    font-size: 8.5px;
    font-weight: bold;
    text-align: center;
    padding: 4px;
    box-shadow: 0 0 0 2px #fff; /* White ring/border */
}


    #NotificationCount.hidden,
    #NotificationCountMobile.hidden {
        display: none;
    }


.notification-dropdown,
#NotificationDropdown {
    position: absolute;
    top: 30px;
    z-index: 100;
    background-color: #fff;
    border-radius: 25px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    width: 345px;
    max-width: 90vw;
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s, max-height 0.5s ease-in-out;
    right: -123px;
    left: auto;
    border: 1px solid #e0e0e0;
    overflow: hidden;
    transform: translateY(-10px);
}



.notification-list {
    padding: 0 5px 0 5px !important;
    margin: 0 !important;
    overflow-y: auto;
    max-height: 500px;
    list-style: none;
}

    .notification-list.scrollbar-active {
        padding-right: 0px !important;
        margin-right: 2px !important;
    }



.notification-dropdown.show,
#NotificationDropdown.show {
    max-height: 1000px;
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.no-notifications-message {
    padding: 20px;
    text-align: left;
    font-family: Roboto;
    font-weight: bold;
    color: #494c4e;
}

.notification-item {
    display: flex;
    align-items: flex-start;
    padding: 14px 5px 14px 14px;
    position: relative;
    overflow: hidden;
    margin-top: 12px;
    margin-bottom: 12px;
    text-align: left;
    transition: max-height 0.45s ease-in-out, opacity 0.45s ease-in-out, padding 0.45s ease-in-out, margin 0.45s ease-in-out;
}

    .notification-item:last-child {
        border-bottom: none;
    }


    .notification-item:hover {
        cursor: pointer;
        background-color: #fbf9f9;
        border-radius: 18px;
    }


    .notification-item:active {
        box-shadow: 0 0 0 1px rgba(255, 167, 102, 0.20);
        border-radius: 18px;
    }

    /* Unread State (Request 10) */
    .notification-item.unread {
        padding: 14px 5px 14px 14px;
        border-radius: 18px;
        text-align: left;
    }

        .notification-item.unread:hover {
            background-color: #fbf9f9;
            border-radius: 18px;
        }

.notification-link {
    display: flex;
    align-items: flex-start;
    text-decoration: none;
    color: #333;
    flex-grow: 1;
    position: relative;
    border-radius: 8px;
    transition: background-color 0.2s;
}



.avatar-area {
    position: relative;
    width: 50px;
    min-width: 40px;
    height: 50px;
    margin-right: 14px;
    flex-shrink: 0;
}

.notif-avatar {
    width: 50px;
    height: 50px;
    min-width: 50px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #eee;
    background-color: #FFFFFF;
}



/* --- Message Area --- */
.message-area {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    line-height: 1.1;
    padding-top: 5px;
    text-align: left;
}


.notification-message {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.6;
    transition: color 0.2s;
    white-space: normal;
    word-wrap: break-word;
    color: rgba(0, 0, 0, 0.35);
}

.notification-subject {
    font-size: 12px;
    font-weight: bold;
    color: rgba(0, 0, 0, 0.35);
    margin: 0;
    padding: 1px 0 4px 0;
    white-space: normal;
}

.notification-item.unread .notification-subject {
    font-family: Roboto;
    font-weight: bolder;
    color: #484546;
    display: flex;
    align-items: flex-start;
    text-align: left;
}

.notification-item.unread .notification-message {
    font-family: Roboto;
    font-weight: bolder;
    color: #494c4e;
    display: flex;
    align-items: flex-start;
    text-align: left;
}

.notification-time {
    font-size: 7pt;
    color: rgba(0, 0, 0, 0.25);
    text-align: left;
}


.notification-item.unread .notification-time {
    font-size: 7pt;
    color: #8a6a6a;
    text-align: left;
}

.notif-actions {
    display: flex;
    flex-shrink: 0; /* Do not shrink */
    align-items: flex-start;
    padding-top: 5px; /* Vertical align with the message/avatar */
}


.action-icon {
    position: absolute;
    bottom: -10px;
    margin-left: 35px;
    width: 14px;
    height: 14px;
    padding: 3px;
    box-sizing: content-box;
    border-radius: 50%;
    border: 2px solid #fff;
    background-color: #fff;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
}

.notif-dismiss-btn {
    background: none;
    border: none;
    color: #bbb;
    font-size: 24px;
    cursor: pointer;
    padding: 0;
    margin-left: 10px;
    transition: all 0.2s ease;
    line-height: 1;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}



    .notif-dismiss-btn:hover {
        color: #e50505; /* Red icon color */
        background-color: rgba(0, 0, 0, 0.05); /* Light gray circle */
    }



.notification-item.dismissing {
    opacity: 0 !important;
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-bottom: none !important;
    overflow: hidden;
    transition: max-height 0.45s ease-in-out, opacity 0.45s ease-in-out, padding 0.45s ease-in-out, margin 0.45s ease-in-out;
}

    /* Ensure the link inside also collapses with the item */
    .notification-item.dismissing .notification-link {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .notification-item.dismissing .notif-dismiss-btn {
        opacity: 0 !important; /* It should disappear with the item */
    }


/* Re-using your NotificationToast logic */
.notification-toast {
    position: fixed;
    bottom: 75px;
    left: 50%;
    z-index: 1050;
    transform: translateX(-50%) translateY(20px);
    transition: opacity 0.5s, transform 0.5s;
    opacity: 0;
    pointer-events: none;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 10px 15px;
    border-radius: 40px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
    min-width: 200px;
    max-width: 300px;
    font-family: Roboto, Arial, sans-serif;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 50px;
}

    .notification-toast.show {
        opacity: 1;
        transform: translateX(-50%) translateY(0px);
        pointer-events: auto;
    }

/* Specific Style Variations */
.toast-error {
    font-size: 12px;
    font-weight: bold;
}

.toast-success {
    font-size: 12px;
    font-weight: bold;
}

.toast-icon-wrapper img {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    margin-left: 12px;
}
/* Re-using your NotificationToast logic */
.notification-toast {
    position: fixed;
    bottom: 75px;
    left: 50%;
    z-index: 9999999999999999 !important;
    /* Keeps the Slide-Up animation intact */
    transform: translateX(-50%) translateY(20px);
    transition: opacity 0.5s, transform 0.5s;
    opacity: 0;
    pointer-events: none;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 10px 15px;
    border-radius: 40px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
    min-width: 240px;
    max-width: 320px;
    font-family: Roboto, Arial, sans-serif;
    /* Centering Logic */
    display: flex;
    align-items: center; /* Vertical center */
    gap: 10px;
    min-height: 50px;
}

    .notification-toast.show {
        opacity: 1;
        transform: translateX(-50%) translateY(0px);
        pointer-events: auto;
    }

/* Specific Style Variations */
.toast-error {
    font-size: 12px;
    font-weight: bold;
    justify-content: center; /* Horizontal center icon + text */
    text-align: center; /* Center multi-line text */
}

.toast-success {
    font-size: 12px;
    font-weight: bold;
    justify-content: center; /* Horizontal center icon + text */
    text-align: center; /* Center multi-line text */
}



/* Toast Avatar (Requested: Gray Border) */
.toast-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid #ccc;
    background-color: #e9e8e7;
}

/* Toast Content */
.toast-content-link {
    text-decoration: none;
    color: inherit;
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
}



.toast-text-content {
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Allows it to take all remaining space */
    overflow: hidden; /* Important for ellipsis on children */
    min-width: 0; /* Important for flex items with overflow */
}


.toast-subject {
    font-size: 11px;
    color: #ccc; /* Lighter color for secondary text */
    font-weight: normal;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.4;
}

.toast-message {
    font-size: 12px;
    font-weight: bold;
    color: #ffffff;
    max-width: 220px !important;
    padding-right: 15px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    white-space: normal; /* Allow wrapping */
    word-break: break-word; /* Prevents long words from breaking bounds */
}

.toast-action-icon-wrapper {
    flex-shrink: 0;
    display: flex;
    align-items: center;
}

/* 3. THE ICONS (Consolidated Sizes) */
.toast-action-icon {
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    width: 26px; /* Matching the action icon for symmetry */
    height: 26px;
    border-radius: 50%;
    object-fit: cover;
}

@media (max-width: 768px) {
    /* Apply positioning to the dropdowns */
    .notification-dropdown,
    #NotificationDropdownMobile {
        width: 90vw;
        max-width: 345px;
        left: auto;
        right: -28px;
        transform: translateY(-10px);
    }

        .notification-dropdown.show,
        #NotificationDropdownMobile.show {
            transform: translateY(0);
        }



    .notif-dismiss-btn {
        opacity: 0.4 !important; /* Override the default opacity: 0 */
        background-color: rgba(0, 0, 0, 0.05) !important;
    }

    /* 2. Hide the UNREAD dot when the button is visible, to prevent overlap */
    .notification-item.unread .unread-dot-indicator {
        display: none !important;
    }

    /* 3. Ensure the button gets a slight background when tapped/hovered for feedback */
    .notif-dismiss-btn:hover,
    .notif-dismiss-btn:active {
        background-color: rgba(0, 0, 0, 0.1) !important;
    }
}



.notification-header {
    /* Required to give the header a visible boundary */
    background-color: rgba(251, 251, 251, 0.00);
    border-bottom: 1px solid #e0e0e0;
    /* Your existing layout and font properties */
    padding: 18px 14px 14px 14px;
    font-size: 13pt;
    font-weight: bold;
    color: #333;
    display: flex;
    align-items: center;
    /* Ensure height is determined by padding and content */
    height: auto;
}


/* Notification Footer (2b) */
.notification-footer {
    height: 20px;
    text-align: center;
    padding-top: 14px;
    padding-bottom: 10px;
    justify-content: center;
    align-items: center;
    font-size: 9pt;
    font-weight: bold;
    color: #575655;
}

.markallread-link {
    font-size: 9pt;
    font-weight: bold;
    color: #575655;
}


.unread-dot-indicator {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background-color: rgba(255, 32, 203, 0.90); /* Muted Red Color */
    position: absolute;
    top: 19px;
    right: 16px;
    z-index: 1;
}


.notif-actions {
    position: relative;
    display: flex;
    flex-shrink: 0;
    align-items: flex-start;
    padding-top: 5px;
    margin-left: auto;
    padding-right: 14px;
    width: 44px;
}

.notif-dismiss-btn {
    background: none;
    border: none;
    color: #787575;
    font-size: 20px;
    cursor: pointer;
    padding: 0;
    opacity: 0; /* Hidden */
    transition: opacity 0.2s ease;
    position: absolute;
    top: 10px; /* Vertically centers the button */
    right: 6px; /* Horizontally centers the button in the column */
    line-height: 1;
    width: 30px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    z-index: 2; /* CRITICAL: Ensure button is above the dot */
}

/* --- Visibility Toggle on Hover --- */

/* Show button on hover (Fade in) */
.notification-item:hover .notif-dismiss-btn {
    opacity: 1; /* Show the button */
    background-color: rgba(0, 0, 0, 0.05); /* Gray hover circle */
}



.notification-item.unread .unread-dot-indicator {
    display: block;
}

.notification-item.unread:hover .unread-dot-indicator {
    display: none !important;
}



.notif-dismiss-btn:hover {
    color: #e50505;
    background-color: rgba(0, 0, 0, 0.1);
}


.post-item-container {
    position: relative;
}


.sys-alerts {
    position: fixed;
    bottom: 30px;
    left: 50%;
    z-index: 9999;
    transform: translateX(-50%) translateY(10px);
    width: 250px;
    height: 20px;
    padding: 15px;
    background-color: rgba(29, 27, 27, 0.9);
    color: #eaeaea;
    border-radius: 35px;
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
    font-size: 8pt;
    color: #dbd8d8;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
    display: flex;
    align-items: center; /* Vertically centers the text */
    justify-content: center; /* Horizontally centers the text */
    text-align: center;
}


    .sys-alerts.show {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
        pointer-events: auto;
    }



.search-panel-popup {
    display: none;
}

/* Popup Box Container - BASE STYLES */
.search-popup-container {
    position: fixed;
    /* Desktop Base Dimensions */
    max-width: 480px;
    max-height: 500px;
    width: 95%;
    min-height: 500px;
    background-color: white;
    border-radius: 30px;
    /* Desktop border is retained, mobile will override it */
    border: 2px solid #C0C0C0;
    padding: 18px;
    box-sizing: border-box;
    z-index: 1001;
    /* Animation Base Transitions */
    transition: transform 0.4s ease-out, top 0.4s ease-out, border-radius 0.4s ease-out, box-shadow 0.4s ease-out;
}

/* --- CLOSE BUTTON STYLE (BOTTOM RIGHT FIX) --- */
.search-close-button {
    position: absolute;
    bottom: 18px;
    right: 18px;
    font-size: 28px;
    font-family: Arial, sans-serif;
    line-height: 24px;
    height: 36px;
    width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #808080; /* Base color for 'X' */
    background: rgba(128, 128, 128, 0.1); /* Faint gray circle background */
    border-radius: 50%;
    cursor: pointer;
    z-index: 10;
    transition: color 0.2s ease-in-out, background 0.2s ease-in-out;
}

    .search-close-button:hover {
        color: #ff0000; /* <-- ONLY 'X' TURNS RED */
        background: rgba(128, 128, 128, 0.1); /* Keep circle color the same */
    }

    .search-close-button:active {
        color: #ff0000;
        background: rgba(128, 128, 128, 0.1); /* Keep circle color the same */
    }


@media (min-width: 601px) {
    .search-popup-container {
        left: 50%;
        top: 100%;
        transform: translate(-50%, 0);
        box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25);
    }

        /* 🔥 CRITICAL FIX: Changed -14% to -20% to move the popup approximately 30px higher */
        .search-popup-container.is-active {
            top: 50%;
            transform: translate(-50%, -30%);
        }

    /* Results container size adjusted for the close button space (No Change) */
    .search-results-container {
        max-height: calc(500px - 100px - 50px);
    }
}

@media (max-width: 600px) {
    .search-popup-container {
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100%;
        height: calc(70vh + 10px);
        max-height: calc(70vh + 10px);
        min-height: auto;
        border: none;
        border-radius: 30px 30px 0 0;
        box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.15);
        top: 100%;
        transform: translateY(0%);
    }

        .search-popup-container.is-active {
            top: 30vh; /* OPEN STATE: Drawer slides up to 30vh from top */
            transform: translateY(0);
        }

    .search-results-container .mobile-scroll-fix {
        max-height: calc(70vh - 150px) !important;
        overflow-y: auto !important;
    }

    .search-results-container {
        max-height: calc(58vh - 150px);
    }
}

.search-input-wrapper {
    display: flex;
    align-items: center;
    border: 2px solid #f2f0ee;
    border-radius: 35px;
    width: 100%;
    height: 28px;
    margin-top: 12px;
    margin-bottom: 10px;
    padding: 8px 14px 8px 10px;
}

.search-text-box {
    flex-grow: 1;
    border: none;
    outline: none;
    padding: 4px;
    background: transparent;
    font-family: Roboto;
    font-size: 15px;
    color: #444444;
    font-weight: bold;
}

.search-icon {
    height: 28px;
    width: 28px;
    cursor: pointer;
}

/* Note: .search-results-container max-height is set in media queries */

.search-separator {
    border: 0;
    border-top: 1px solid #eee;
    margin: 10px 0;
}

.search-result-item {
    display: flex;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
}

    .search-result-item:last-child {
        border-bottom: none;
    }

    .search-result-item:hover {
        background-color: #f9f9f9;
    }

    .search-result-item strong {
        background-color: #ffff00;
        padding: 0 2px;
        border-radius: 3px;
        font-weight: bold;
    }

    .search-result-item img {
        margin-right: 10px;
    }

.search-history-item {
    transition: opacity 0.4s ease-out, height 0.4s ease-out, margin-bottom 0.4s ease-out, padding-top 0.4s ease-out, padding-bottom 0.4s ease-out, transform 0.4s ease-out, border 0.4s ease-out, box-shadow 0.4s ease-out;
    overflow: hidden;
}

.searchpanel {
    display: block;
    border-radius: 18px;
    cursor: pointer;
}
    /* Class used by JS to disable transitions during resize */
    .resize-transition-disabled {
        transition: none !important;
    }


    #divImagePostImage img, .videodisplay {
        margin-left: 0vw;
        margin-right: 0vw;
        background-color: #000000;
        min-height: 0px;
        justify-content: center;
        object-fit: contain;
        max-height: 600px !important;
        width: 100%;
        height: auto;
        object-fit: contain;
    }


    .auto-play-video {
        background-color: #000000;
        min-height: 200px;
        max-height: 600px;
        margin: 0 auto;
        justify-content: center;
        width: 100%;
    }
}

/* 1. Use a CLASS selector instead of ID for feed items */
.wor1-feed-video::-webkit-media-controls-fullscreen-button,
.wor1-feed-video::-webkit-media-controls-download-button {
    display: none !important;
}

/* 2. Hide the 'Three Dots' (Overflow Menu) */
.wor1-feed-video::-webkit-media-controls-panel {
    /* Pushes the overflow menu off-screen */
    width: calc(100% + 30px);
}

/* 3. Hide Download Button (General selector) */
video::-webkit-media-controls-download-button {
    display: none !important;
}

/* 4. Disable Picture-in-Picture button */
video::-webkit-media-controls-picture-in-picture-button {
    display: none !important;
}

/* For Firefox */
video::-moz-list-bullet {
    display: none !important;
}

/* Generic fix to ensure controls don't show download */
video::-internal-media-controls-download-button {
    display: none !important;
}


.search-input-wrapper {
    display: flex;
    align-items: center;
    border: 2px solid #f2f0ee;
    border-radius: 35px;
    width: 100%;
    height: 28px;
    margin-top: 12px;
    margin-bottom: 10px;
    padding: 8px 14px 8px 10px;
}

.search-text-box {
    flex-grow: 1;
    border: none;
    outline: none;
    padding: 4px;
    background: transparent;
    font-family: Roboto;
    font-size: 15px;
    color: #444444;
    font-weight: bold;
}

.search-icon {
    height: 28px;
    width: 28px;
    cursor: pointer;
}

/* Note: .search-results-container max-height is set in media queries */

.search-separator {
    border: 0;
    border-top: 1px solid #eee;
    margin: 10px 0;
}

.search-result-item {
    display: flex;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #f0f0f0;
    cursor: pointer;
}

    .search-result-item:last-child {
        border-bottom: none;
    }

    .search-result-item:hover {
        background-color: #f9f9f9;
    }

    .search-result-item strong {
        background-color: #ffff00;
        padding: 0 2px;
        border-radius: 3px;
        font-weight: bold;
    }

    .search-result-item img {
        margin-right: 10px;
    }

.search-history-item {
    transition: opacity 0.4s ease-out, height 0.4s ease-out, margin-bottom 0.4s ease-out, padding-top 0.4s ease-out, padding-bottom 0.4s ease-out, transform 0.4s ease-out, border 0.4s ease-out, box-shadow 0.4s ease-out;
    overflow: hidden;
}

.searchpanel {
    display: block;
    border-radius: 18px;
    cursor: pointer;
}

/* --- WOR1 Store Modal Overlay (Base) --- */
.wor1-modal-overlay {
    display: none; /* Initially hidden. JS changes this to 'flex' */
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: rgba(0, 0, 0, 0.1);
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease;
}

/* --- WOR1 Store Modal Content (Desktop/Default) --- */
.wor1-modal-content {
    background-color: #fefefe;
    border: 2px solid #e1e1e1;
    position: relative;
    width: 90%;
    max-width: 440px;
    max-height: 500px; /* Fixed height for the container */
    height: auto;
    border-radius: 35px; /* Modal container is rounded */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3), 0 0 15px rgba(0, 0, 0, 0.1);
    /* Start position: Fully off-screen at bottom for slide-up effect (Desktop & Mobile) */
    transform: translateY(100vh);
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    overflow: hidden;
    /* Flex Layout for Header/Body/Footer */
    display: flex;
    flex-direction: column;
    padding: 0;
}

/* Class added by JS to trigger the slide-in animation */
.wor1-modal-overlay.show-modal .wor1-modal-content {
    transform: translateY(0);
}

/* --- Modal Header (Fixed) --- */
.wor1-modal-header {
    padding: 30px 30px 15px 30px;
    flex-shrink: 0;
    z-index: 1001;
    background-color: #fefefe;
    border-radius: 35px 35px 0 0;
    /* Added border for clean separation */
    border-bottom: 1px solid #eee;
}

.store-title {
    font-family: 'Roboto-Bold';
    font-size: 1.6em;
    color: #585858;
    margin: 0;
    text-align: center;
}

/* --- Modal Body (Scrollable) --- */
.wor1-modal-body {
    padding: 15px 30px;
    flex-grow: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* --- Modal Footer (Fixed) --- */
.wor1-modal-footer {
    padding: 15px 30px;
    flex-shrink: 0;
    display: flex;
    justify-content: flex-end;
    z-index: 1001;
    background-color: #fefefe;
    border-radius: 0 0 35px 35px;
    border-top: 1px solid #eee;
}

/* --- Store Close Button (Positioned inside the footer) --- */
.store-close-btn {
    position: static;
    background-color: rgba(150, 150, 150, 0.1);
    border: none;
    cursor: pointer;
    padding: 0;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background-color 0.3s ease-out;
    /* FIX: Move button up by 4px and right by 8px */
    margin-top: -4px;
    margin-right: -12px;
}

    .store-close-btn:hover {
        background-color: rgba(150, 150, 150, 0.25);
    }

.close-icon {
    font-family: Arial, sans-serif;
    font-size: 29px;
    line-height: 1;
    font-weight: 300;
    color: #bbb;
    transition: color 0.3s ease-out;
}

.store-close-btn:hover .close-icon {
    color: #FF4444; /* Bright red on hover */
}


.store-close-btn:active .close-icon {
    color: #FF4444;
}

/* ----------------------------------------------------------------
    --- WOR1 Store Item Styles (Sleek Layout) ---
    ---------------------------------------------------------------- */

.wor1-store-items-container {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* --- Item Container: Flexbox, soft shadow, rounded --- */
.wor1-store-item {
    display: flex;
    align-items: flex-start;
    padding: 15px;
    background-color: #fff;
    border: 1px solid #eee;
    border-radius: 20px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08), 0 0 5px rgba(0, 0, 0, 0.05);
    transition: transform 0.2s;
    gap: 15px;
}

/* --- 1. Item Icon: Smaller Size (35px) --- */
.item-image {
    width: 35px;
    height: 35px;
    object-fit: contain;
    border-radius: 10px;
    flex-shrink: 0;
}

/* --- 2. Item Details: Wider Description and Price Placement --- */
.item-details {
    flex-grow: 1; /* Allows description to stretch horizontally */
    overflow: hidden;
}

    .item-details h4 {
        margin: 0 0 4px 0;
        color: #333;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 1.1em;
    }

    .item-details p {
        margin: 0 0 5px 0;
        font-size: 0.9em;
        color: #666;
    }

/* --- Price: Under Description --- */
.item-price {
    font-size: 1.1em;
    font-weight: bold;
    color: #ff6600;
    white-space: nowrap;
    display: block;
    margin-top: 0;
}

/* --- 3. Actions: Vertical stack (Qty/Buy) on the right --- */
.item-price-actions {
    display: flex;
    flex-direction: column; /* Stack quantity and buy button vertically */
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-left: 10px;
    flex-shrink: 0;
    margin-top: 0;
    margin-right: 10px;
}


.quantity-selector {
    position: relative;
    width: 65px;
    flex-shrink: 0; /* Prevents shrinking */
}

    .quantity-selector input {
        width: 100%;
        height: 32px;
        padding: 0 4px 0 4px;
        line-height: 32px;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #e9e8e7;
        border-radius: 12px;
        cursor: pointer;
        font-size: 0.9em;
    }

.quantity-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    width: 75px;
    max-height: 0;
    overflow: hidden;
    background-color: #fff;
    border-top: none;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
    transition: max-height 0.3s ease-in-out, border 0.1s ease;
    z-index: 100;
    border-color: transparent;
}

    .quantity-dropdown.active {
        max-height: 200px;
        overflow-y: auto;
    }

.quantity-option {
    padding: 5px 10px;
    cursor: pointer;
    text-align: center;
    margin-bottom: 3px;
}

    .quantity-option:last-child {
        margin-bottom: 0; /* Remove margin from the last item */
    }

    .quantity-option:hover {
        background-color: #fcf3e7;
    }

/* --- 4. Buy Button: Positioned below Qty --- */
.buy-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    transition: box-shadow 0.2s, border 0.2s;
    border: 1px solid transparent;
    border-radius: 50%;
    flex-shrink: 0; /* Prevents shrinking */
}

    .buy-button img {
        height: 32px;
        width: auto;
        display: block;
    }

    .buy-button:hover {
        box-shadow: 0 0 0 4px rgba(255, 0, 0, 0.1); /* Soft Red Shadow */
        border-color: rgba(248, 11, 11, 0.40);
    }

/* ----------------------------------------------------------------
    --- Mobile Styling (App Drawer from Bottom) ---
    ---------------------------------------------------------------- */

@media (max-width: 600px) {

    /* 4. FIX: Forces the modal content to the bottom for the drawer effect */
    .wor1-modal-overlay {
        align-items: flex-end;
    }

    .wor1-modal-content {
        /* Mobile Requirements */
        width: 100%; /* Mobile Flush Width */
        max-width: 100%;
        height: 70vh; /* Mobile Height: 70vh */
        max-height: 70vh;
        margin: 0;
        padding: 0;
        /* Rounded borders only on top for drawer effect */
        border-radius: 35px 35px 0 0;
        box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.3);
        /* Start position: Fully off-screen at the bottom (restores slide-up animation) */
        transform: translateY(100%);
        transition: transform 0.5s ease-out;
    }

    /* 4. FIX: Active class to trigger the mobile slide-in */
    .wor1-modal-overlay.show-modal .wor1-modal-content {
        transform: translateY(0);
    }

    /* Adjust content padding for mobile view */
    .wor1-modal-header {
        padding: 30px 15px 15px 15px;
    }

    .wor1-modal-body {
        padding: 15px 15px;
    }

    .wor1-modal-footer {
        padding: 15px 15px 15px 15px;
    }

    .store-close-btn {
        margin-top: 0px;
        margin-right: 0px;
    }
}

#PanelEnergizePost {
    z-index: 999999999999 !important;
}

.panelEnergize_post {
    position: fixed;
    z-index: 1000;
    max-width: 300px;
    background-color: #FFFFFF;
    border: 1px solid #bfbfbe;
    border-radius: 22px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    padding: 16px;
    width: 222px;
    left: 50%;
    transform: translateX(-50%);
    transition: opacity 0.7s ease-out; /* Add this line */
    opacity: 0; /* Default hidden state */
    pointer-events: none; /* Disables interaction when hidden */
}

    .panelEnergize_post.show-container {
        opacity: 1;
        pointer-events: auto;
    }

#PanelHelaTopup {
    z-index: 9999999999999 !important;
}

.panelMpesa_topup {
    display: block; /* Controlled by JS */
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    width: 222px;
    padding: 16px;
    background-color: #FFFFFF;
    border: 1px solid #bfbfbe;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); /* Added for depth to match Energize */
    z-index: 9999999999999 !important;
}


.hela-amount-button {
    display: block;
    margin-bottom: 3px;
    min-width: 50px;
    cursor: pointer;
    text-align: center;
    font-weight: bold;
    font-family: Roboto;
    font-size: 9pt;
    color: #666666;
    padding: 8px 8px 8px 4px;
    background-color: transparent;
    border: none;
    transition: background-color 0.15s;
}

    .hela-amount-button:hover {
        background-color: #fef7ea;
    }

    .hela-amount-button:active {
        background-color: #fef7ea;
    }

    .hela-amount-button.selected {
        background-color: #eee;
        color: #2b2116;
    }

.hela-list-container {
    position: absolute;
    z-index: 1010;
    width: 63px;
    background-color: white;
    border-bottom: 1px solid #e2e2e1;
    border-left: 1px solid #e2e2e1;
    border-right: 1px solid #e2e2e1;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
    padding: 0;
    max-height: 0;
    overflow: hidden; /* Keeps content hidden during max-height: 0 transition */
    opacity: 0;
    transform: translateY(-5px);
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.show-hela-list {
    max-height: 160px;
    opacity: 1;
    transform: translateY(0);
    padding: 8px;
    overflow-y: auto; /* Enables vertical scrollbar only when needed */
}


.energize-close-button-x {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin-bottom: 3px;
    padding: 0px 0 0px 1px;
    width: 24px;
    height: 24px;
    font-size: 14pt;
    line-height: 1;
    font-family: Roboto;
    color: #777777;
    background-color: #f1f1f1;
    border: none;
    border-radius: 50%;
    transform: translateY(1px);
    transition: color 0.2s ease-in-out, background-color 0.2s;
}

    .energize-close-button-x:hover,
    .energize-close-button-x:focus {
        color: #e53935;
        background-color: #eeeeee;
        border: none;
        outline: none;
    }

    .energize-close-button-x:active {
        color: #c62828;
        background-color: #dddddd;
    }


.text-green-hela {
    color: #73c608; /* Standard vibrant green, similar to Tailwind 'green-600' */
}

.text-red-hela {
    color: #DC2626; /* Standard vibrant red, similar to Tailwind 'red-600' */
}


.energize-action-icon {
    box-shadow: 0 0 6px rgba(255, 0, 0, 0.6);
    transition: box-shadow 0.15s ease-in-out, border-color 0.15s ease-in-out;
    cursor: pointer;
}

    .energize-action-icon:hover {
        /* Soft red glow on hover */
        box-shadow: 0 0 8px rgba(255, 0, 0, 0.6);
        border-color: #ffcccc !important; /* Lighter border color on hover */
    }

    .energize-action-icon:active {
        /* Stronger, tighter red glow on click */
        box-shadow: 0 0 10px 1px rgba(255, 0, 0, 0.8);
        transform: scale(0.98); /* Optional: slight press effect */
    }


.energized-glow {
    box-shadow: 0 0 6px rgba(115, 198, 8, 0.7); /* Permanent, subtle green glow */
    transition: box-shadow 0.15s ease-in-out, border-color 0.15s ease-in-out;
    cursor: pointer;
}

    .energized-glow:hover {
        box-shadow: 0 0 8px rgba(115, 198, 8, 0.8); /* Using #73c608 */
        border-color: #d8f5b8 !important; /* Lighter green border color on hover */
    }

    .energized-glow:active {
        box-shadow: 0 0 8px 1px rgba(115, 198, 8, 0.8); /* Using #73c608 */
        transform: scale(0.98);
    }

.htmlbutton {
    cursor: pointer;
    background-color: #fff;
}


.feed-button {
    /* Basic Button Structure */
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    cursor: pointer;
    user-select: none;
    /* Mobile Fix: Removes the dark square on click */
    -webkit-tap-highlight-color: transparent;
    /* Dimensions & Shape: Height 45px (As per last snippet) */
    height: 42px;
    padding: 0 23px;
    border-radius: 23px;
    border: none;
    gap: 8px;
    background-color: #ee0202 !important;
    /* Soft, DARK, uniform shadow on load */
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
    /* Use 'all' for smooth transitions */
    transition: all 0.2s ease;
}

/* Icon Styling */
.feed-icon {
    height: 20px;
    width: 20px;
    vertical-align: middle;
}

/* Text Styling (Default) */
.feed-text {
    color: #FFFFFF; /* White text on load */
    font-family: Roboto;
    font-size: 14px;
    font-weight: bold;
    line-height: 1;
    /* Right padding for text */
    padding-right: 4px;
    transition: color 0.2s ease;
}

/* --- HOVER / ACTIVE STATES --- */

.feed-button:hover,
.feed-button:active {
    /* NEW: Mid-Gray background for hover contrast (from your snippet) */
    background-color: #efeeee !important;
    /* NEW: Red shadow on hover/active for theme consistency */
    box-shadow: 0 0 6px 0 #ee0202;
}

    /* Text color change on hover/active */
    .feed-button:hover .feed-text,
    .feed-button:active .feed-text {
        /* NEW: Red text color to match the theme/shadow */
        color: #ee0202;
    }


.create-post-button {
    /* Base style: Round, fixed size, no padding */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border-radius: 50% !important; /* Makes it perfectly round */
    text-decoration: none;
    /* Inherit base colors and shadow from the .feed-button definition for consistency */
    background-color: #ee0202 !important;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
    transition: all 0.2s ease;
}

    /* Apply the exact same HOVER / ACTIVE states as .feed-button */
    .create-post-button:hover,
    .create-post-button:active {
        background-color: #efeeee !important;
        box-shadow: 0 0 6px 0 #ee0202;
    }

    /* Ensure the icon maintains its size (relying on .feed-icon for 20px size) */
    .create-post-button .create-post-icon {
        height: 20px;
        width: 20px;
    }


.close-button-wrapper {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: #f2f1f1; /* Light gray circle bg */
    cursor: pointer;
    transition: background-color 0.15s ease-in-out;
}

    .close-button-wrapper:hover {
        background-color: #f1f0ee; /* Mid gray circle bg on hover */
    }


.close-icon-swapper {
    vertical-align: middle;
}

.post-media-container {
    transition: background-color 0.2s ease;
    cursor: pointer;
}

    .post-media-container:hover {
        /* Very subtle light gray background on hover */
        background-color: #fbfbfa;
        cursor: pointer;
    }

    .post-media-container:active {
        /* Slightly darker gray when clicked */
        background-color: #f8f8f8;
        cursor: pointer;
    }


/* TOP 33 POST GRID*/


.scroll-row-wrapper {
    overflow-x: scroll;
    padding: 5px;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
    margin-bottom: 14px;
}

    .scroll-row-wrapper::-webkit-scrollbar {
        display: none;
    }

.scroll-row {
    display: flex;
    flex-wrap: nowrap;
    gap: 10px; /* This 10px gap is critical for the calc() above */
    padding-right: 5px;
}

.grid-header-container {
    padding: 5px 5px 13px 2px;
    text-align: left;
}

.grid-title {
    font-family: 'Roboto-Bold';
    font-size: 20px;
    color: #b20506;
    margin: 0;
}

.grid-sub-caption {
    font-family: 'Roboto-Bold';
    font-size: 11px;
    color: #838385;
    margin: 0;
}


.post-grid-interlude {
    box-sizing: border-box;
    padding: 18px 18px 28px 18px;
    width: 100%;
    max-width: 500px;
    background-color: #0d0c0c;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
    margin: 0 auto 20px auto;
    border-radius: 28px;
}

.post-grid-item {
    position: relative;
    cursor: pointer;
    border-radius: 15px;
    overflow: hidden;
    transition: all 0.2s ease;
    scroll-snap-align: start;
    box-shadow: 0 0 4px 1px rgba(255, 50, 50, 0.4);
    will-change: transform;
    /* --- THE FLEXIBILITY ENGINE --- */
    /* This formula shows exactly 3.5 items regardless of screen size */
    width: calc((100% - 30px) / 3.5);
    /* This keeps it from getting too big on Desktop */
    max-width: 120px;
    /* Lock the shape: Height is now calculated AUTOMATICALLY based on Width */
    aspect-ratio: 9 / 16;
    height: auto !important;
    /* Stops the item from being squeezed by the flex container */
    flex: 0 0 auto;
}

    .post-grid-item:hover,
    .post-grid-item:active {
        box-shadow: 0 1px 10px rgba(255, 0, 0, 0.4);
    }

    /* The media element (img/video) */
    .post-grid-item .grid-media {
        width: 100%;
        height: 100%;
        object-fit: cover; /* Ensures media fills the container */
        display: block;
    }

/* Placeholder box for posts without media */
.grid-placeholder {
    background-color: #f0f0f0;
}

/* Dark gradient overlay for text */
.text-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 110px;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 0%, rgba(0, 0, 0, 0) 100%);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 70px 10px 20px 10px;
    box-sizing: border-box;
    pointer-events: none;
}

.line-1 {
    color: #d5d5d5;
    font-size: 11px;
    font-family: Roboto-Bold;
    margin: 0;
    line-height: 1.1;
    text-overflow: ellipsis;
}

.user-avatar {
    border-radius: 50%;
    width: 20px;
    height: 20px;
    border: 2px solid rgba(255, 50, 50, 0.2);
    margin-bottom: 5px;
    box-shadow: 0 0 4px rgba(255, 60, 60, 0.3);
    position: absolute;
    bottom: 42px;
    left: 10px;
    z-index: 10;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.post-author-avatar {
    cursor: pointer;
    position: relative;
    border-color: #eeeded;
    border-style: solid;
    border-width: 1px;
    border-radius: 50%;
    object-fit: cover;
    object-position: center center;
    display: block;
}






@media (max-width: 650px) {
    /*.post-grid-item {
                width: calc((100% - 20px) / 3);
                min-width: calc((100% - 20px) / 3);
                height: 198px;
            }


            @media (max-width: 370px) {
                .post-grid-item {
                    height: 165px;
                }
            }*/

    .post-grid-interlude {
        border-radius: 0px;
        margin: -20px auto 20px auto;
        padding: 18px 18px 18px 18px;
    }

    .showpostext {
        display: block;
        cursor: pointer;
        max-width: calc(100vw - 60px);
    }
}


#ImageCloseUserPopup {
    cursor: pointer;
    padding: 12px; /* Extra room for thumbs */
    margin: -12px; /* Offset so layout doesn't move */
    -webkit-tap-highlight-color: transparent;
}

.headerleft {
    width: 200px;
}

@media (max-width: 480px) {
    .headerleft {
        width: 152px;
    }
}

@media (max-width: 380px) {
    .headerleft {
        width: 152px;
    }
}


/* ==========================================
   MODERN SOLID UI SYSTEM (Replaces Glass)
   ========================================== */

:root {
    --menu-bg: #f9f9f9;
    --menu-border: #e0e0e0;
    --menu-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    --separator-light: #eeeeee;
    --separator-dark: #333333;
    --text-main: #1a1a1a;
    --text-dim: #666666;
    --dark-menu-bg: #1e1e1e;
    --dark-menu-border: #2d2d2d;
}

/* --- Shared Container (Maglev Initialization) --- */
.modern-menu-container,
.action-modal-content {
    position: absolute; /* Allows scrolling with desktop feed */
    background: var(--menu-bg);
    border: 1px solid var(--menu-border);
    box-shadow: var(--menu-shadow);
    z-index: 10000000000001;
    overflow: hidden;
    border-radius: 16px;
    /* Animation: Using visibility avoids the 'annoyed' snap-out */
    visibility: hidden;
    pointer-events: none;
    opacity: 0;
    transform: translateY(var(--maglev-start, -10px));
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s ease, visibility 0.35s;
}

    .modern-menu-container.active {
        visibility: visible;
        pointer-events: auto;
        opacity: 1;
        transform: translateY(0); /* Docks to anchor */
    }

/* --- Menu Item Styling --- */
.menu-item {
    display: flex;
    align-items: center;
    padding: 18px 22px;
    cursor: pointer;
    transition: background 0.2s ease;
    position: relative; /* Required for the pseudo-element to anchor correctly */
}

    /* The "Floating" Separator */
    .menu-item::after {
        content: "";
        position: absolute;
        bottom: 0;
        /* Leave 4px on each side */
        left: 14px;
        right: 14px;
        height: 1px;
        background-color: var(--separator-light);
    }

    /* Optional: Remove the border from the very last item in the menu so it stays clean */
    .menu-item:last-child::after {
        display: none;
    }

    .menu-item:last-child {
        border-bottom: none;
    }

    .menu-item:hover {
        background: #f0f0f0;
    }

    .menu-item img {
        width: 24px;
        height: 24px;
        margin-right: 15px;
        opacity: 0.8;
        object-fit: contain;
    }

    .menu-item span {
        font-family: 'Roboto';
        font-size: 14.5px;
        color: var(--text-main);
        font-weight: 700;
        letter-spacing: -0.1px;
    }

/* --- Desktop Layout (>= 601px) --- */
@media (min-width: 601px) {
    .modern-menu-container {
        width: 282px;
        border-radius: 16px; /* Slightly tighter rounding for solid UI */
    }

    .drawer-handle {
        display: none;
    }
}

@media (max-width: 600px) {
    .modern-menu-container {
        position: fixed !important; /* CRITICAL: Must be fixed for bottom drawer */
        left: 0 !important;
        right: 0 !important; /* Changed from -2px for better centering */
        bottom: 0 !important; /* Align to bottom */
        width: 100% !important;
        transform: translateY(100%); /* Start hidden below */
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        display: block !important; /* Always block, let transform handle visibility */
        border-radius: 24px 24px 0 0 !important;
    }

        .modern-menu-container.active {
            transform: translateY(0); /* Slide up into view */
        }


    .drawer-handle {
        display: block;
        width: 38px;
        height: 4px;
        background: #dddddd;
        border-radius: 10px;
        margin: 12px auto 8px auto;
    }
}

/* --- Action Modal Backdrop --- */
.action-modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1); /* Slightly darker backdrop for focus */
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 100000000000001;
}

.action-modal-content {
    position: relative;
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
    width: 300px;
    max-width: 300px;
    padding: 25px;
    text-align: center;
    border-radius: 20px;
    overflow: hidden;
    background: rgba(245, 245, 245, 0.72);
    backdrop-filter: blur(25px) saturate(180%);
    -webkit-backdrop-filter: blur(25px) saturate(180%);
    border: 1px solid #cc0606;
    background-image: linear-gradient(rgba(245, 245, 245, 0.72), rgba(245, 245, 245, 0.72)), linear-gradient(155deg, #b8b8b8, #ffffff, #e2e2e1, #ffffff, #f6f6f6);
    background-origin: border-box;
    background-clip: padding-box, border-box;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15), /* Soft outer lift */
    inset 0 1px 0 0 rgba(255, 255, 255, 0.9), /* Sharp top-edge 'glint' */
    inset 0 -1px 0 0 rgba(0, 0, 0, 0.05); /* Subtle bottom weight */
}

/* Dark Mode Adjustment: Deep Charcoal Glass */
.dark-mode .action-modal-content {
    background: rgba(35, 35, 35, 0.8);
    background-image: linear-gradient(rgba(35, 35, 35, 0.8), rgba(35, 35, 35, 0.8)), linear-gradient(145deg, #444, #888, #222, #888, #444);
    backdrop-filter: blur(25px) saturate(180%);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
}


.action-modal-footer {
    display: flex;
    gap: 12px;
}

    /* Shared Button Base for depth */
    .action-modal-footer button {
        flex: 1;
        padding: 14px;
        border-radius: 14px;
        border: 1px solid rgba(0, 0, 0, 0.05); /* Very faint edge */
        font-weight: 600;
        cursor: pointer;
        font-size: 14px;
        transition: transform 0.1s ease, box-shadow 0.2s ease;
        /* The Depth Secret: Soft lift + Inner light catch */
        box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), inset 0 1px 0 rgba(255, 255, 255, 0.3);
    }

        /* Depth Hover/Active states */
        .action-modal-footer button:hover {
            transform: translateY(-1px);
            box-shadow: 0 6px 12px -2px rgba(0, 0, 0, 0.15);
        }

        .action-modal-footer button:active {
            transform: translateY(0);
            box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); /* "Pressed" look */
        }

/* --- Color Specific Depths --- */

.btn-secondary {
    /* Slight grey gradient for a 'brushed' feel */
    background: linear-gradient(180deg, #ffffff 0%, #eeeeee 100%);
    color: var(--text-main);
}

.btn-danger {
    /* Richer depth for your red */
    background: linear-gradient(180deg, #e61b1b 0%, #db0909 100%);
    color: white;
    border-color: rgba(0, 0, 0, 0.1);
}

.btn-primary {
    /* Apple-style soft depth blue */
    background: linear-gradient(180deg, #3395ff 0%, #007aff 100%);
    color: white;
    border-color: rgba(0, 0, 0, 0.1);
}

/* Dark Mode Button Adjustments */
.dark-mode .btn-secondary {
    background: linear-gradient(180deg, #444444 0%, #333333 100%);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.05);
}


#actionModalTitle {
    font-size: 18px;
    font-family: 'Roboto';
    font-weight: 700;
    color: #d80303;
    padding-bottom: 6px;
}

#actionModalMessage {
    font-size: 14px;
    font-family: 'Roboto';
    font-weight: 700;
    color: #2b2116;
    padding-bottom: 12px;
}


/* The Preview Box */
.action-modal-post-preview {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fcfbfb;
    padding: 10px;
    border-radius: 12px;
    margin-bottom: 15px;
    border: 1px solid #cbcaca;
    text-align: left;
    max-width: 100%;
    box-sizing: border-box;
}

/* 1. THE FIX: The text wrapper needs min-width: 0 to allow truncation to work */
.action-modal-preview-info {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}

.action-modal-preview-media {
    width: 55px;
    height: 55px;
    flex-shrink: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #000;
    border: 1px solid #e2e2e1;
}

    .action-modal-preview-media img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

.action-modal-preview-header {
    font-weight: bold;
    font-size: 8pt;
    color: #888;
    margin-bottom: 1px;
    /* Prevent long names from stretching the box */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.action-modal-preview-text {
    font-size: 7.5pt;
    color: #666;
    line-height: 1.3;
    /* Line clamping logic */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    /* 2. THE FIX: Handle long unbreakable strings like URLs */
    word-break: break-word;
    overflow-wrap: break-word;
}

/* --- Dark Mode Theme --- */
body.dark-mode {
    background-color: #121212 !important;
}

.dark-mode .modern-menu-container,
.dark-mode .action-modal-content {
    background: var(--dark-menu-bg);
    border: 1px solid var(--dark-menu-border);
    box-shadow: 0 10px 40px rgba(0,0,0,0.4);
}

.dark-mode .menu-item {
    border-bottom: 1px solid var(--separator-dark);
}

    .dark-mode .menu-item span {
        color: #eeeeee;
    }

    .dark-mode .menu-item:hover {
        background: #2a2a2a;
    }

.dark-mode .drawer-handle {
    background: #444444;
}

.dark-mode #actionModalTitle {
    color: #ffffff;
}

.dark-mode #actionModalMessage {
    color: #999999;
}

.dark-mode .btn-secondary {
    background: #333333;
    color: #ffffff;
}

/* Post Owner Section Special Border */
#postOptionsMenu .menu-item:last-child::after {
    display: none;
}

/* 3. OWNER SECTION SPECIFIC (10px inset) */
/* Force the top line on the first item of the owner section */
#postOwnerSection .menu-item:first-child::before {
    content: "";
    position: absolute;
    top: 0;
    left: 14px;
    right: 14px;
    height: 1px;
    background-color: var(--separator-light);
    z-index: 1;
}

/* Force the 10px bottom line on the last item of the owner section */
#postOwnerSection .menu-item:last-child::after {
    display: block !important; /* Ensure it's not hidden by global rules */
    left: 10px !important;
    right: 10px !important;
}

/* 4. DARK MODE SUPPORT */
.dark-mode .menu-item::after,
.dark-mode #postOwnerSection .menu-item:first-child::before {
}


/* Generic class for any icon that needs a red hover swap */
.icon-hover-swap {
    transition: filter 0.2s ease;
    transition: opacity 0.2s ease;
}

td:hover > .icon-hover-swap[data-hover*="ellipis"] {
    content: url('/ellipishorizontallred.png');
}

td:hover > .icon-hover-swap[data-hover*="closeicon"] {
    content: url('/closeiconred.png');
}

.icon-hover-swap.is-active {
    content: url('/ellipishorizontallred.png') !important;
    cursor: default;
}


    .icon-hover-swap.is-active[src*="closeicon"] {
        content: url('/closeiconred.png') !important;
    }


body::after {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
    z-index: -1;
    content: url('/ellipishorizontallred.png') url('/closeiconred.png');
}

html, body {
    /* Disables the browser's pull-to-refresh and back/forward swipe navigation */
    overscroll-behavior-x: none;
    overscroll-behavior-y: none;
    /* Prevents the browser from handling touch actions on the edges */
    touch-action: pan-y;
}

/* Container for the modal overlay */
#pesapalModalOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.1);
    display: none;
    z-index: 999999999999 !important;
    align-items: flex-end;
}

/* The actual modal/drawer box */
#pesapalModalContent {
    background: #fff;
    width: 100%;
    height: 85vh;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    position: relative;
    transform: translateY(100%);
    border-top: 1px solid rgba(0, 0, 0, 0.25);
    border-left: 1px solid rgba(0, 0, 0, 0.25);
    border-right: 1px solid rgba(0, 0, 0, 0.25);
    border-bottom: none;
    backface-visibility: hidden;
    -webkit-font-smoothing: subpixel-antialiased;
    will-change: transform;
    transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1);
    display: flex;
    flex-direction: column;
    padding: 10px;
    touch-action: none;
    overflow: hidden !important;
    -webkit-overflow-scrolling: touch;
    contain: strict;
}
/* Drawer Handle Bar */
.pesapal-drawer-handle-container {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 10px 0 20px 0;
    cursor: grab;
}

.pesapal-drawer-handle {
    width: 50px;
    height: 5px;
    background-color: #ccc;
    border-radius: 10px;
}

/* Logic for showing the modal */
#pesapalModalOverlay.active {
    display: flex;
}

    #pesapalModalOverlay.active #pesapalModalContent {
        transform: translateY(0);
    }

#pesapalIframe {
    height: 100%;
    border: none;
    display: block;
    flex-grow: 1;
    image-rendering: -webkit-optimize-contrast; /* Sharpens edges */
    backface-visibility: hidden;
    transform: translateZ(0); /* Forces Hardware Acceleration */
    -webkit-transform: translateZ(0);
    scrollbar-width: none;
    -ms-overflow-style: none;
    filter: blur(0) !important;
    transform: scale(1);
}

    #pesapalIframe::-webkit-scrollbar {
        display: none;
    }


@media (min-width: 768px) {
    #pesapalModalOverlay {
        align-items: center;
        justify-content: center;
    }

    #pesapalModalContent {
        width: 100%;
        border-radius: 30px;
        transform: scale(0.9);
        opacity: 0;
        border-bottom: 1px solid rgba(0, 0, 0, 0.25) !important;
        contain: content;
        height: 600px !important;
        max-height: 600px !important;
        padding: 10px;
        max-width: 460px;
    }

    .pesapal-drawer-handle-container {
        display: none; /* Hide handle on desktop */
    }

    #pesapalModalOverlay.active #pesapalModalContent {
        transform: scale(1);
        opacity: 1;
    }
}

/* Floating X Button */
.pesapal-round-close {
    position: absolute;
    bottom: 25px;
    right: 25px;
    width: 55px;
    height: 55px;
    background-color: #f5f5f5;
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(0,0,0,0.12);
    z-index: 10;
}

.pesapal-x-icon {
    position: relative;
    width: 22px;
    height: 22px;
}

    .pesapal-x-icon::before, .pesapal-x-icon::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 0;
        width: 100%;
        height: 1.5px;
        background-color: #333;
        border-radius: 2px;
    }

    .pesapal-x-icon::before {
        transform: rotate(45deg);
    }

    .pesapal-x-icon::after {
        transform: rotate(-45deg);
    }

.pesapal-round-close:hover .pesapal-x-icon::before,
.pesapal-round-close:hover .pesapal-x-icon::after {
    background-color: #ff0000 !important;
}


#PanelWor1Users, #PanelSectors {
    transition: max-height 0.4s ease-in-out, opacity 0.3s ease, padding 0.4s ease-in-out, margin-bottom 0.4s ease-in-out;
    overflow: hidden;
    box-sizing: border-box;
    padding: 0px 0px 0px 1px;
    width: 240px;
}

.right-panel-toggle-button {
    height: 24px;
    padding: 2px 8px;
    width: auto;
    min-width: 35px;
    border-radius: 12px;
    border: none;
    cursor: pointer;
    background-color: #f8f8f8;
    margin: 0 3px;
    box-shadow: none;
    transition: box-shadow 0.2s ease, background-color 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

    .right-panel-toggle-button:hover {
        background-color: #f0f0f0;
    }

    /* Active State: Panel is VISIBLE, indicated by soft red glow */
    .right-panel-toggle-button.active {
        /* Soft red glow: 0px offset, 5px blur, 0px spread, 40% opacity */
        box-shadow: 0 0 5px 0 rgba(255, 0, 0, 0.4);
    }

    /* Hidden State: Panel is HIDDEN, indicated by NO red glow */
    .right-panel-toggle-button.inactive {
        box-shadow: none;
        opacity: 0.8;
    }

.panel-half-height {
    height: 315px !important;
    background-color: #FFFFFF;
    width: 240px;
}


.panelUsers, .panelSectors {
    overflow: visible;
    transition: max-height 0.5s cubic-bezier(0, 1, 0, 1), opacity 0.4s ease-in-out, transform 0.5s cubic-bezier(0, 1, 0, 1);
    display: block !important;
    transform: translateY(0px);
    pointer-events: none;
    height: auto;
}

.panelSectors {
    opacity: 0;
}

.panel-hidden {
    padding-top: 0 !important;
    max-height: 0 !important;
    opacity: 0 !important;
    transform: translateY(-30px) !important;
    overflow: hidden !important; /* Lock it down when hidden */
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
    background-color: #FFFFFF;
    width: 240px;
}



.panel-visible {
    /* Height is handled by JS, but we need enough room here */
    max-height: 1000px;
    opacity: 1 !important;
    transform: translateY(0) !important;
    pointer-events: auto !important;
}



/* 1. Backdrop */
.pdf-sheet-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.015);
    z-index: 99999999999999 !important;
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

    .pdf-sheet-overlay.pdf-active {
        display: flex;
        opacity: 1;
    }

/* 2. Midnight Glass Container */
.pdf-sheet-container {
    background: rgba(8, 10, 15, 0.96);
    backdrop-filter: blur(40px) saturate(160%);
    -webkit-backdrop-filter: blur(40px) saturate(160%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    flex-direction: column;
    box-shadow: 0 5px 60px rgba(0, 0, 0, 0.6);
    transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
    overflow: hidden;
    pointer-events: auto;
}

.pdf-title-stack {
    display: flex;
    flex-direction: column;
    gap: 4px;
    position: relative;
    z-index: 2;
    max-width: 300px;
}

@media (max-width: 768px) {
    .pdf-sheet-container {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        height: 94vh;
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
        transform: translateY(100%);
        will-change: transform; /* Tells the mobile GPU to prepare for animation */
        transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1);
        overflow: hidden !important;
    }

    body.no-scroll {
        overflow: hidden !important;
        position: fixed; /* Prevents background "bounce" on iOS */
        width: 100%;
        height: 100%;
    }

    .pdf-title-stack {
        max-width: 180px;
    }
}

@media (min-width: 769px) {
    #pdfSheetContainer, .pdf-sheet-container {
        width: 780px;
        height: 842px;
        border-radius: 22px;
        overflow-x: hidden !important;
    }

    .pdf-drag-handle {
        display: none;
    }
}

.pdf-active .pdf-sheet-container {
    transform: translateY(0);
}

/* 3. Header & Glint */
.pdf-sheet-header {
    position: relative;
    padding: 12px 24px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.pdf-header-glint {
    position: absolute;
    top: 0;
    left: -150%;
    width: 60%;
    height: 100%;
    background: linear-gradient(to right, transparent, rgba(255,255,255,0.01), rgba(255,255,255,0.12), transparent);
    transform: skewX(-30deg);
    animation: glint-sweep 6s infinite ease-in-out;
    pointer-events: none;
}

@keyframes glint-sweep {
    0% {
        left: -150%;
    }

    15% {
        left: 150%;
    }

    100% {
        left: 150%;
    }
}



/* 4. AI Score Ring */
.pdf-ai-badge {
    color: #10b981;
    font-size: 0.65rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid rgba(16, 185, 129, 0.45); /* Green Ring */
    padding: 3px 10px;
    border-radius: 20px;
    width: fit-content;
    background: rgba(16, 185, 129, 0.05);
    margin-left: -1px;
}

.pdf-title-text {
    font-family: 'Jost', sans-serif;
    font-size: 0.85rem;
    color: #f1f5f9;
    margin: 0;
}

/* 5. Same-Size Action Buttons */
.pdf-header-actions {
    display: flex;
    gap: 10px;
}

.pdf-custom-btn {
    all: unset; /* Reset button defaults */
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

    .pdf-custom-btn:hover {
        background: rgba(16, 185, 129, 0.2);
        border-color: #10b981;
    }

/* 6. Hiding Scrollbars (The Clip Shield) */
.pdf-sheet-body {
    flex: 1;
    background: #000;
    overflow: hidden !important;
}

.pdf-iframe-wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden !important;
    position: relative;
    background-color: #121212 !important;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden !important;
}

.pdf-iframe-wrapper-with-toolbar {
    width: 100%;
    height: calc(100% + 17px);
    overflow: hidden !important;
    position: relative;
    background-color: #121212 !important;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    overflow-x: hidden !important;
}

.pdf-iframe-view {
    /* Push the scrollbar off-screen to the right */
    width: calc(100% + 17px);
    height: 100%;
    border: none;
    background: #000;
    overflow: hidden !important;
}

body.not-chrome .pdf-iframe-wrapper-with-toolbar {
    height: 100% !important; /* */
}

body.not-chrome .pdf-iframe-view {
    width: 100% !important; /* */
}

/* Mobile Drag Handle */
.pdf-drag-handle {
    width: 44px;
    height: 5px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    margin: 12px auto 8px auto;
    flex-shrink: 0;
}


.pdfname {
    color: #333;
    cursor: pointer;
}

.pdfdetails {
    color: #a5a1a1;
    cursor: pointer;
}

.pdfholder {
    padding-top: 5px;
    padding-bottom: 5px;
    overflow: hidden;
    background: #f9f9f9;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
    width: 100%;
    cursor: pointer;
}

/* Styling for the Gear/Toolbar Toggle */
.pdf-toolbar-toggle {
    transition: all 0.3s ease !important;
}


.pdf-toolbar-active {
    color: #10b981 !important;
    border-color: #10b981 !important;
    background: rgba(16, 185, 129, 0.1) !important;
    box-shadow: 0 0 12px rgba(16, 185, 129, 0.2);
}

.pdf-toolbar-toggle {
    transition: all 0.3s ease !important;
}

#pdfFrame {
    transition: opacity 0.2s ease;
    background-color: #121212; /* Matches the plugin's dark mode background */
}


/* --- 1. Drag Handle (Enhanced for Mobile) --- */
.set-post-sector-drag-handle {
    display: none; /* Hidden on desktop */
    width: 50px;
    height: 5px;
    background: #e8e8e8;
    border-radius: 10px;
    margin: 15px auto 10px auto;
    flex-shrink: 0;
    cursor: pointer;
    position: relative;
    z-index: 1022;
}

/* --- 2. Modal Overlay (The Master Layer) --- */
.set-post-sector-modal-overlay {
    position: fixed; /* Crucial: Locks to viewport, not page height */
    top: 0;
    left: 0;
    width: 101vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.1); /* Darker backdrop */
    z-index: 30000 !important; /* Higher than Post Editor */
    display: none;
    align-items: center; /* Desktop: Center Vertically */
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
}

    .set-post-sector-modal-overlay.set-post-sector-is-open {
        display: flex;
        display: flex;
        opacity: 1;
        pointer-events: auto;
    }

/* --- 3. Modal Container (Desktop Optimized) --- */
.set-post-sector-modal-content {
    width: 90%;
    max-width: 380px;
    background: #fbfbfb;
    border-radius: 30px;
    max-height: 60vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(0, 0, 0, 0.05);
    opacity: 0;
    transform: scale(0.9) !important; /* Start slightly smaller */
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.2s ease-out;
}

.set-post-sector-modal-overlay.set-post-sector-is-open .set-post-sector-modal-content {
    opacity: 1;
    transform: scale(1) !important;
}

/* --- 4. MOBILE BOTTOM-UP DRAWER --- */
@media (max-width: 768px) {
    .set-post-sector-modal-overlay {
        align-items: flex-end !important; /* Mobile: Push to bottom */
    }

    .set-post-sector-modal-content {
        width: 100% !important; /* Full width */
        max-width: 100% !important;
        margin: 0 !important; /* Flush against edges */
        border-radius: 30px 30px 0 0 !important; /* Top round only */
        max-height: 68vh !important;
        transform: translateY(100%); /* Start hidden below */
        transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        /* Slide Logic: Start hidden below */
        transform: translateY(100%);
        transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        /* Faint border (No bottom on mobile) */
        border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
        border-left: 1px solid rgba(0, 0, 0, 0.05) !important;
        border-right: 1px solid rgba(0, 0, 0, 0.05) !important;
        border-bottom: none !important;
    }


    .set-post-sector-data-list-sectors {
        padding: 35px 40px !important; /* Optimized padding for mobile */
    }

    .set-post-sector-modal-overlay.set-post-sector-is-open .set-post-sector-modal-content {
        transform: translateY(0) !important;
    }

    .set-post-sector-drag-handle {
        display: block;
    }
}

/* --- 5. Internal Components --- */
.set-post-sector-modal-header {
    padding: 15px 15px 12px 15px;
    border-bottom: 1px solid #f3f4f6;
    background: #fbfbfb;
}

#modalHeaderCaption {
    font-size: 16px;
    font-weight: 800;
    color: #111827;
    text-align: center;
    margin: 0;
}

.set-post-sector-data-list-sectors {
    flex: 1;
    overflow-y: auto;
    padding: 35px; /* Desktop spaciousness */
    background: #fbfbfb;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}


    .set-post-sector-data-list-sectors::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }


.set-post-sector-modal-footer {
    position: absolute;
    bottom: 20px; /* 20px from the bottom edge */
    right: 20px; /* 20px from the right edge */
    width: auto; /* Let it shrink to the button size */
    background: transparent !important;
    border: none !important;
    display: flex;
    pointer-events: none;
    z-index: 999; /* Ensure it stays on top of cards */
    margin: 0; /* Clear any conflicting margins */
    padding: 0; /* Clear any conflicting padding */
}




.set-post-sector-close-btn {
    width: 54px; /* Slightly larger for a premium floating feel */
    height: 54px;
    background: #f3f4f6;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 26px;
    color: #808080;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    outline: none;
    pointer-events: auto; /* Re-enable clicks for the button itself */
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12); /* Shadow is key for the floating look */
}

    .set-post-sector-close-btn:hover,
    .set-post-sector-close-btn:active {
        background: #f3f4f6 !important;
        color: #ef4444 !important;
        transform: rotate(90deg);
    }

.set-post-sector-sector-item {
    background: #fbfbfb;
    border: 1px solid #f3f4f6;
    border-radius: 25px;
    margin-bottom: 35px;
    padding: 10px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.11);
    transition: all 0.2s ease;
    cursor: pointer;
}

    .set-post-sector-sector-item:hover {
        box-shadow: 0 12px 25px rgba(0, 0, 0, 0.11);
        transform: translateY(-2px);
    }


.active-sector-selection {
    border: 1px solid #ef4444 !important;
    box-shadow: 0 8px 20px rgba(239, 68, 68, 0.1) !important;
}



/* --- 1. Main Modal Wrapper & Overlay --- */
.post-editor-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999999 !important;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    font-family: 'Roboto', sans-serif !important;
}

.post-editor-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.015);
}

/* --- 2. The Container (With Drawer Conversion) --- */
.post-editor-container {
    position: relative;
    background: #ffffff;
    width: 95%;
    max-width: 480px;
    max-height: 80vh;
    border-radius: 28px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    box-shadow: 0 0 60px rgba(0, 0, 0, 0.45);
    /* Essential for the swipe-down logic */
    will-change: transform;
    transition: transform 0.3s cubic-bezier(0.15, 0, 0.15, 1);
}

/* MOBILE DRAWER TRANSFORMATION */
@media (max-width: 768px) {
    .post-editor-modal {
        align-items: flex-end; /* Snap to bottom */
    }

    .post-editor-container {
        width: 100%;
        max-width: 100%;
        max-height: 92vh; /* Slightly taller for mobile flow */
        border-radius: 28px 28px 0 0; /* Rounded only at top */
        border-bottom: none;
        margin-bottom: 0;
    }
}

/* DRAG HANDLE VISUALS */
.post-editor-mobile-drag-handle {
    display: none; /* Hidden by default */
}

@media (max-width: 768px) {
    .post-editor-mobile-drag-handle {
        display: block !important;
        width: 45px;
        height: 5px;
        background: #e5e7eb;
        border-radius: 10px;
        margin: 12px auto 0;
        flex-shrink: 0;
    }
}

.post-editor-header {
    padding: 20px 24px 15px 20px;
    border-bottom: 1px solid #f3f4f6;
}

    .post-editor-header span {
        font-weight: 700;
        font-size: 18px;
        color: #111827;
    }

/* --- 3. Body Content & Darker Inputs --- */
.post-editor-body {
    padding: 20px 20px;
    flex: 1;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    /* Smooth scrolling for mobile */
    -webkit-overflow-scrolling: touch;
}

.post-editor-container .edit-input-field {
    font-family: 'Roboto', sans-serif !important;
    width: 100%;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 12px 15px;
    outline: none;
    margin-bottom: 15px;
    box-sizing: border-box;
    transition: border-color 0.2s;
    color: #000000;
    font-size: 16px; /* Prevents iOS auto-zoom on focus */
}

    .post-editor-container .edit-input-field:focus {
        border-color: #ef4444;
    }

.edit-input-header {
    font-weight: 700;
    font-size: 16px;
    color: #111827;
}

.edit-input-body {
    flex-grow: 1;
    min-height: 180px;
    font-size: 14px;
    line-height: 1.5;
    resize: none;
}

.edit-input-footer {
    font-size: 12px !important;
    color: #555454 !important;
    font-weight: 600 !important;
    margin-bottom: 0 !important;
}

/* --- 4. Sector Preview (Image on Right) --- */
.edit-sector-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #f9fafb;
    padding: 10px 15px;
    border-radius: 16px;
    margin-bottom: 20px;
    border: 1px solid #f3f4f6;
    cursor: pointer;
}

.sector-mini-preview {
    width: 80px;
    height: 45px;
    border-radius: 10px;
    object-fit: cover;
    order: 2;
}

.sector-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    order: 1;
}

    .sector-info span {
        font-weight: 600;
        font-size: 12px;
        color: #4f4e4e !important;
        line-height: 1.2;
    }

.sector-post-count {
    font-size: 9px !important;
    color: #9ca3af !important;
    font-weight: 400 !important;
    margin-top: 2px;
}

/* --- 5. Footer Actions (Reduced Padding) --- */
.post-editor-footer {
    padding: 10px 16px;
    border-top: 1px solid #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: 70px;
}

.btn-update-main {
    background-color: #e80707;
    color: White;
    font-weight: bold;
    font-size: 13pt;
    height: 50px;
    padding: 0 60px;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(255, 0, 0, 0.2);
    white-space: nowrap;
}

.post-editor-close-x {
    position: absolute;
    right: 20px;
    background: #f3f4f6;
    border: none;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    font-size: 28px;
    color: #9ca3af;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

    .post-editor-close-x:hover, .post-editor-close-x:active {
        color: #ef4444;
    }

.pdf-display-name {
    font-weight: 600;
    margin-bottom: 0;
    color: #2b2116 !important;
    font-size: 11pt !important;
}

.post-edited-label {
    color: #87CEEB; /* Soft Sky Blue */
    font-size: 0.85em;
    font-weight: 500;
    display: inline-block;
    vertical-align: middle;
}

/* =========Post Profile Reporting========*/

/* Reporting Tool Backdrop */
.report-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.01); /* Restored visibility to see the shadow better */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999999999 !important;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

    .report-backdrop.active {
        opacity: 1;
        pointer-events: auto;
    }



/* Container: Removed horizontal padding to allow borders to hit edges */
.report-container {
    background: #fff;
    width: 95%;
    max-width: 440px;
    border-radius: 25px;
    padding: 20px 0; /* Padding only on top/bottom */
    position: relative;
    /* Uniform, soft shadow */
    box-shadow: 0 0 60px rgba(0,0,0,0.3);
    border: 1px solid #ddd;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    overflow: hidden; /* Ensures borders don't spill past rounded corners */
}

/* Header: End-to-End Border */
.report-header {
    width: 100%;
    border-bottom: 1px solid #eee;
    padding-bottom: 12px;
    margin-bottom: 5px;
}

#reportModalTitle {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin: 0;
    color: #000;
}

/* Grid: Restored horizontal padding here */
.report-grid {
    display: flex;
    flex-direction: column;
    gap: 2px;
    max-height: 45vh;
    overflow-y: auto;
    margin: 10px 0;
    padding: 0 20px; /* Internal padding */
}

.report-pill {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13px;
    font-weight: 700;
    color: #111;
    padding: 5px 0;
}

    .report-pill input[type="radio"] {
        width: 16px;
        height: 16px;
        accent-color: #ff0000;
    }

/* Textarea: Centered */
#reportNotes {
    display: block;
    width: 85%;
    margin: 10px auto 15px auto;
    border-radius: 25px;
    border: 1px solid #ddd;
    padding: 10px 20px;
    font-family: inherit;
    resize: none;
    height: 40px;
    outline: none;
    text-align: center;
    font-size: 13px;
}

/* Footer: End-to-End Border */
.report-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px 0 20px; /* Padding for internal elements */
    border-top: 1px solid #eee;
    margin-top: 5px;
}

    .report-footer::before {
        content: "";
        width: 40px;
        display: block;
    }
/* Submit Button: Balanced Weight and Interaction */
.btn-submit-report {
    background: #ff0000;
    color: white;
    border-radius: 30px;
    padding: 10px 25px;
    border: none;
    font-size: 16px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: default;
    transition: all 0.2s ease-in-out; /* Enable smooth transitions */
}

    /* Submit Button: Hover */
    .btn-submit-report:hover {
        background: #cc0000;
    }

    /* Submit Button: Active (Scale down on click) */
    .btn-submit-report:active {
        transform: scale(0.96);
        background: #b30000;
    }

/* Close Button (X): Unified Interaction */
.report-close-btn {
    width: 45px;
    height: 45px;
    min-width: 40px;
    border-radius: 50%;
    background: #f2f2f2;
    border: none;
    font-size: 16px;
    font-weight: 900;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: default;
    transition: all 0.2s ease-in-out;
}

    /* Close Button: Hover (Turn Red + Rotate) */
    .report-close-btn:hover {
        color: #ff0000;
        background: #eee;
        transform: rotate(90deg);
    }

    /* Close Button: Active (Scale down + Stay Red) */
    .report-close-btn:active {
        color: #cc0000;
        transform: scale(0.9) rotate(90deg);
    }


/* Mobile Drag Handle */
.report-drag-handle {
    display: none;
    width: 45px;
    height: 5px;
    background: #d0d0d0;
    border-radius: 10px;
    margin: -5px auto 10px auto;
    flex-shrink: 0;
}
/* Mobile Adjustments */
@media (max-width: 768px) {
    .report-backdrop {
        align-items: flex-end;
    }

    .report-container {
        width: 100%;
        max-width: none;
        height: 71vh;
        border-radius: 30px 30px 0 0;
        transform: translateY(100%);
    }

    .report-grid {
        max-height: none;
        flex-grow: 1;
    }

    .report-backdrop.active .report-container {
        transform: translateY(0);
    }

    .report-drag-handle {
        display: block;
    }
}


/* 1. The Container - Base (Mobile: Drawer Style) */
#contentModal .contentModal-container {
    background: #fff;
    /* Drawer style: Rounded only at the top for mobile */
    border-radius: 30px 30px 0 0;
    width: 100%;
    max-width: 650px;
    position: fixed;
    bottom: -100%;
    left: 50%;
    transform: translateX(-50%);
    transition: bottom 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.1);
    z-index: 999999999 !important;
    display: flex;
    flex-direction: column;
    height: 85vh;
    box-shadow: 0 -5px 25px rgba(0,0,0,0.15);
    border: 2px solid #d9d6d6;
    border-bottom: none;
    overflow: hidden; /* Important to clip the iframe corners */
}

/* 2. Active State for Slide-in */
#contentModal.active .contentModal-container {
    bottom: 0;
}

/* 3. Desktop Style (Fully Rounded & Centered) */
@media (min-width: 768px) {
    #contentModal .contentModal-container {
        border-radius: 25px !important;
        border: 2px solid #d9d6d6;
        bottom: 50% !important;
        /* Center perfectly on both axes */
        transform: translate(-50%, 50%) !important;
        height: 85vh;
        width: 500px; /* Default width */
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
        transition: width 0.3s ease; /* Smooth expansion */
    }

    /* Target the container when the parent has the .wide-modal class */
    #contentModal.wide-modal .contentModal-container {
        width: 650px !important;
    }
}

/* 4. The Header - Centered & Increased */
.contentModal-header {
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #eee;
    background: #fff;
    text-align: center;
    z-index: 10;
}

#contentModalTitle {
    margin: 5px 0 0 0 !important;
    font-size: 1.2rem !important;
    font-weight: 800;
    color: #000;
}

#contentModalStatusBadge {
    margin-right: 0 !important;
    margin-bottom: 4px;
}

/* 5. Floating Close Button */
.contentModal-floating-close-btn {
    position: absolute;
    bottom: 25px;
    right: 25px;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #f2f2f2;
    border: none;
    font-size: 18px;
    font-weight: 900;
    color: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    z-index: 10002;
    outline: none;
}

    /* Close Button: Hover (Uniform Red Shadow) */
    .contentModal-floating-close-btn:hover {
        color: #ff0000;
        background: #fff;
        transform: rotate(90deg) scale(1.1);
        box-shadow: 0 0 20px rgba(255, 0, 0, 0.4);
    }

    .contentModal-floating-close-btn:active {
        color: #cc0000;
        transform: scale(0.9) rotate(90deg);
    }

/* 6. Body & Iframe with HIDDEN SCROLLBARS */
.contentModal-body {
    flex: 1;
    position: relative;
    overflow-y: auto;
    overflow-x: hidden;
    background: #fff;
    /* Hide scrollbars for IE, Edge and Firefox */
    -ms-overflow-style: none;
    scrollbar-width: none;
}

    /* Hide scrollbars for Chrome, Safari and Opera */
    .contentModal-body::-webkit-scrollbar,
    #contentFrame::-webkit-scrollbar {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
    }

#contentFrame {
    width: 100%;
    height: 100%;
    border: none;
    display: block;
    /* Ensure the iframe itself doesn't show bars */
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Overlay */
.contentModal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 10000;
}







/* Overlay Background - Blur Removed */
.featureDev-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    /* backdrop-filter removed */
    z-index: 1000000;
}

/* Container Logic */
.featureDev-modal .featureDev-modal-container {
    background: #fff;
    border: 1.5px solid #e0e0e0;
    position: fixed;
    z-index: 1001;
    transition: transform 0.4s cubic-bezier(0.15, 0, 0.15, 1), opacity 0.3s ease;
    box-shadow: 0 10px 40px rgba(0,0,0,0.1);
    height: 450px;
    z-index: 999999999 !important;
}

/* Drawer Handle */
.featureDev-drawer-handle {
    width: 40px;
    height: 5px;
    background: #e0e0e0;
    border-radius: 10px;
    margin: 12px auto 0;
    cursor: pointer;
    display: none;
}

@media (max-width: 768px) {
    .featureDev-drawer-handle {
        display: block;
    }

    .featureDev-modal .featureDev-modal-container {
        bottom: 0;
        left: 50%;
        width: 100%;
        max-height: 85vh;
        border-radius: 25px 25px 0 0;
        border-bottom: none;
        transform: translateX(-50%) translateY(100%);
    }
}

@media (min-width: 769px) {
    .featureDev-modal .featureDev-modal-container {
        top: 50%;
        left: 50%;
        width: 420px;
        border-radius: 30px;
        transform: translate(-50%, -50%) scale(0.9);
        opacity: 0;
    }
}

/* Modal Active State */
.featureDev-modal.active .featureDev-modal-container {
    opacity: 1;
}

@media (max-width: 768px) {
    .featureDev-modal.active .featureDev-modal-container {
        transform: translateX(-50%) translateY(0);
    }
}

@media (min-width: 769px) {
    .featureDev-modal.active .featureDev-modal-container {
        transform: translate(-50%, -50%) scale(1);
    }
}

/* Header & Body */
.featureDev-modal-header {
    padding: 20px 24px;
    border-bottom: 1px solid #f8f8f8;
    text-align: center;
}

.featureDev-modal-title-text {
    margin: 0;
    font-size: 1.2rem;
    color: #333;
    font-weight: 700;
}

.featureDev-modal-body {
    text-align: center;
    padding: 40px 20px;
}

/* GIF Centered */
.featureDev-gif {
    display: block;
    margin: 15px auto; /* Auto margins for perfect horizontal centering */
    width: 180px;
    height: auto;
    border-radius: 15px;
}

/* Pulse Animation Keyframes */
@keyframes featureDev-pulse {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }

    50% {
        transform: scale(1.05);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 0.7;
    }
}

.featureDev-status-tag {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    color: #bbb;
    letter-spacing: 1px;
    margin-bottom: 5px;
    animation: featureDev-pulse 2.5s ease-in-out infinite;
    text-transform: uppercase;
}

.featureDev-notice {
    color: #03a1fe;
    font-size: 14px;
    font-weight: 700;
    padding-left: 5px;
    padding-right: 5px;
    display: block;
    line-height: 1.5;
}

.featureDev-notice-sub {
    color: #999;
    font-size: 12px;
    font-weight: 500;
    padding-left: 20px;
    padding-right: 20px;
    display: block;
    line-height: 1.5;
}
/* Floating X Close Button */
.featureDev-floating-close-btn {
    position: absolute;
    bottom: 20px;
    right: 20px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #f2f2f2;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    transition: all 0.2s ease;
}

    .featureDev-floating-close-btn:hover, .featureDev-floating-close-btn:active {
        color: #ff3b30;
        background: #fff0f0;
        transform: scale(1.1);
    }


.privacyterms {
    font-family: "Roboto";
    font-size: 14px;
    font-weight: bold;
    color: #2b2116;
    white-space: pre-line;
    color: #666;
}

    .privacyterms:hover {
        color: #ff0000;
    }

    .privacyterms:active {
        color: #ff0000;
    }




/* Container Button */
.apk-download-btn {
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border-radius: 18px;
    padding: 10px 14px;
    min-width: 220px;
    height: 45px;
    text-decoration: none;
    border: 1px solid #f8f8f8;
    transition: all 0.3s ease;
}

    .apk-download-btn:hover {
        box-shadow: 0 0 15px rgba(220, 38, 38, 0.4);
        border-color: #dc2626;
    }

/* Icon */
.apk-icon {
    height: 32px;
    margin-right: 12px;
}

/* Text Content Area */
.apk-info {
    flex-grow: 1;
    line-height: 1;
}

.apk-label {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    display: block;
    color: #4b5563;
    padding-top: 3px;
    margin-bottom: 2px;
}

.apk-title {
    font-size: 0.85rem;
    font-weight: 900;
    display: block;
    color: #dc2626;
}

/* Vertical Separator */
.apk-divider {
    width: 1px;
    height: 24px;
    background-color: #d1d5db;
    margin: 0 10px;
}

/* Release Date Stats */
.apk-meta {
    font-size: 0.55rem;
    color: #9ca3af;
    line-height: 1.2;
    font-weight: 700;
    text-transform: uppercase;
    min-width: 55px;
}

.post-reaction-icon-show {
    display: block;
    cursor: pointer;
}

.post-reaction-icon-hide {
    display: none;
    cursor: pointer;
}

/* =========================================
   Reaction Modal Consolidated Styles
   ========================================= */

/* --- Modal Container --- */
.reaction-modal {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 450px;
    background: #fff;
    border-radius: 30px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
    z-index: 1000;
    overflow: hidden;
    display: none;
    border: 1px solid #e0e0e0;
    transition: opacity 0.3s ease, transform 0.3s ease;
    z-index: 999999999!important;
    touch-action: none;
    opacity: 0;
    visibility: hidden;
}


#reactionList {
    min-height: 260px; /* Prevents shrinking when empty */
    max-height: 300px;
    overflow-y: auto;
    height: auto;
    -webkit-overflow-scrolling: touch;
    /* Hide scrollbar for IE, Edge and Firefox */
    -ms-overflow-style: none; /* IE and Edge */
    scrollbar-width: none; /* Firefox */
}

    /* Corrected Webkit scrollbar hiding, must be a separate block */
    #reactionList::-webkit-scrollbar {
        width: 0px;
        height: 0px;
        display: none;
    }

.reaction-modal-body {
    font-weight: bold;
    font-size: 13px;
    max-height: 300px;
    color: #2f2f2d;
    overflow-y: auto;
    text-align: center;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* --- Footer Layout --- */
.reaction-modal-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding: 15px 20px;
    border-top: 1px solid #eee;
    gap: 10px;
}


.reaction-footer-left {
    display: flex;
    gap: 15px;
    align-items: center;
    margin-right: auto;
}

.reaction-modal-header {
    padding: 20px;
    font-weight: bold;
    font-size: 18px;
    border-bottom: 1px solid #eee;
    color: #333;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}


@media (max-width: 600px) {
    .reaction-modal {
        width: 100%;
        max-width: none;
        height: 70vh;
        border-radius: 30px 30px 0 0;
        position: fixed;
        left: 0;
        bottom: 0;
        transform: none;
        display: none;
        flex-direction: column;
        overflow: hidden;
        transform: translateY(100%);
        z-index: 99999;
    }

        /* 🌟 Specifically ensure flex is applied when active 🌟 */
        .reaction-modal.active {
            display: flex !important;
        }



    #reactionList {
        /* 🌟 Reduce min-height to prevent pushing footer down 🌟 */
        min-height: 35vh;
        max-height: 50vh;
        height: auto !important;
        overflow-y: auto;
        flex-grow: 1; /* Take up available space */
    }

    .reaction-modal-body {
        max-height: none;
        height: auto;
        flex-grow: 1; /* Allow body to grow */
        display: flex;
        flex-direction: column;
    }

    .reaction-modal-footer {
        flex-shrink: 0; /* Don't let footer shrink */
        background: #fff;
        border-top: 1px solid #eee;
        display: flex; /* Ensure it stays flex */
    }


    .reaction-modal-header {
        flex-shrink: 0;
        cursor: grab;
        user-select: none;
    }



    /* Specific fix for mobile footer dragging to prevent upward collapse */
    .reaction-modal.is-closing {
        transform: translateY(100%) !important; /* Force slide down */
    }
}


@media (min-width: 769px) {
    .reaction-modal {
        transform: none !important; /* Disable any slide transforms */
        z-index: 999999999 !important;
    }

        .reaction-modal.active {
            display: block;
            opacity: 1;
        }
}

.reaction-modal.active {
    display: block;
    opacity: 1;
    visibility: visible;
    transform: none;
}

/* --- Diagonal Pulsing Gleam --- */
.reaction-modal::after {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient( to bottom right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 40%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 60%, rgba(255, 255, 255, 0) 100% );
    transform: rotate(30deg);
    animation: gleam 8s infinite;
    pointer-events: none; /* Let clicks pass through */
}

@keyframes gleam {
    0% {
        transform: translate(-50%, -50%) rotate(30deg);
    }

    100% {
        transform: translate(50%, 50%) rotate(30deg);
    }
}



.reaction-header-content {
    display: flex;
    align-items: center;
    gap: 8px;
}

.reaction-header-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 26px;
    margin-left: -30px;
}

    .reaction-header-icon img {
        height: 26px;
        object-fit: contain;
    }


/* --- Centering Modal Content --- */



.reaction-pill-container {
    position: relative;
    background: #F3F4F6;
    border-radius: 20px;
    /* --- Adjusted Padding --- */
    padding: 3px;
    display: flex;
    justify-content: space-around;
    margin: 15px auto;
    width: 60%;
    align-items: center;
    user-select: none; /* Prevents text selection while dragging */
}

.reaction-pill-selector {
    position: absolute;
    /* --- Perfectly Aligned Constraints --- */
    top: 3px;
    bottom: 3px;
    left: 3px;
    width: calc(33.33% - 3px); /* Precise width calculation */
    background: #fff;
    border-radius: 20px; /* Matches container rounding */
    transition: all 0.3s ease-in-out;
    /* Red soft glow */
    box-shadow: 0 2px 10px rgba(255, 0, 0, 0.2);
    z-index: 1;
}

.reaction-pill-btn {
    position: relative;
    background: transparent;
    border: none;
    z-index: 2;
    cursor: pointer;
    font-family: Roboto-Bold;
    font-weight: 700;
    font-size: 10.5px;
    /* --- Adjusted Padding --- */
    padding: 7px 0;
    width: 33.33%;
    text-align: center;
    color: #1F2937; /* Default color */
    transition: color 0.3s ease;
}

    .reaction-pill-btn.active {
        color: #db0707; /* Red active color */
    }



.reaction-switch-wrapper {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 11px;
    font-weight: bold;
    color: #999;
}

/* --- Compact Switch Styles --- */
.reaction-switch {
    position: relative;
    display: inline-block;
    width: 32px;
    height: 16px;
}

    .reaction-switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

.reaction-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 16px;
}

    .reaction-slider:before {
        position: absolute;
        content: "";
        height: 12px;
        width: 12px;
        left: 3px;
        bottom: 2px;
        background-color: white;
        transition: .4s;
        border-radius: 50%;
    }

input:checked + .reaction-slider {
    background-color: #db0707;
}

    input:checked + .reaction-slider:before {
        transform: translateX(14px);
    }


.reaction-total-middle {
    font-size: 12px; /* Slightly larger for readability */
    font-weight: bold;
    color: #2e7d32;
    text-align: center;
    background-color: #e8f5e9; /* Light green background */
    padding: 8px 12px; /* Increased internal spacing */
    border-radius: 16px;
    border: 1px solid #c8e6c9; /* Subtle green border */
    margin: 0 10px;
    display: flex;
    justify-content: center;
    gap: 4px;
}

/* --- Round Close Button Position --- */
.reaction-modal-close-round {
    width: 40px;
    height: 40px !important;
    border-radius: 50%;
    background: #f2f2f2;
    border: none;
    color: #888;
    font-size: 16px;
    font-weight: 200;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease-in-out;
    box-shadow: 0px 0px 10px 2px rgba(219, 7, 7, 0.1);
    transform: rotate(90deg);
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}


    .reaction-modal-close-round:hover {
        color: #ff0000;
        background: #eee;
        transform: rotate(180deg);
    }


    .reaction-modal-close-round:active {
        color: #cc0000;
        transform: scale(0.96) rotate(270deg);
    }


/* Reaction List Row Layout */
.reaction-row {
    display: flex;
    align-items: center;
    padding: 10px 22px 20px;
    gap: 12px;
}



/* Container for avatar and superimposed icons */
.reaction-avatar-wrapper {
    position: relative;
    width: 45px;
    height: 45px;
    flex-shrink: 0;
}

/* Reduced avatar border thickness */
.reaction-user-avatar {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #D1D5DB;
    display: block;
}

/* Positioned and sized reaction icon */
.reaction-badge {
    position: absolute;
    bottom: -4px;
    right: -10px;
    width: 16px;
    height: 16px;
    background: white;
    border-radius: 50%;
    padding: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* User Info Structure (Column layout) */
.reaction-user-info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    font-size: 13px;
    margin-left: 8px;
    align-items: flex-start;
    justify-content: center; /* Ensure vertical alignment */
}

.reaction-name-container {
    display: flex;
    align-items: center;
    gap: 5px;
}

.reaction-fullname {
    font-family: Roboto;
    font-weight: bold;
    color: #111827;
}

.reaction-flag {
    width: 16px;
    height: 12px;
    border-radius: 4px
}

/* Username: smaller and lighter, below fullname */
.reaction-username {
    font-family: Roboto;
    font-weight: normal;
    font-size: 10px;
    color: #9CA3AF;
    margin-top: -2px;
}

/* Supporter Badge Wrapper (placed on far right) */
.supporter-badge-wrapper {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Supporter Badge Styling */
.supporter-badge {
    width: 22px;
    height: 22px;
    vertical-align: middle;
    margin-left: 2px;
}



.reaction-pioneer-container {
    height: 14px;
    margin-left: -2px;
    margin-bottom: -2px;
}

    .reaction-pioneer-container img {
        width: 14px;
        height: auto;
        display: block;
    }

.reaction-hela-amount {
    font-weight: bold;
    color: #39ba44;
    font-size: 13px;
    white-space: nowrap;
    margin: auto 10px auto auto;
    padding-left: 10px; /* Adds space between name and amount */
}
/* --- Container Maintenance --- */
/* Corrected Webkit scrollbar hiding, must be a separate block */
.reaction-modal-body::-webkit-scrollbar {
    width: 0px;
    height: 0px;
    display: none;
}




/* Normal Post Modal Container */
#divNormalContainer {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transition: opacity 0.4s ease-out, visibility 0s 0.4s;
    max-width: 500px;
    width: 100%;
    max-height: 100vh;
    margin: 0;
    min-height: auto;
    z-index: 10000000000000 !important;
    touch-action: pan-y;
}

    #divNormalContainer.modal-open {
        opacity: 1;
        visibility: visible;
        transition: opacity 0.4s ease-in, visibility 0s;
        transform: translate(-50%, -50%) scale(1);
    }

    /* Jockey Active State for Normal Post Modal */
    #divNormalContainer.jockey-active-container {
        height: 100vh !important;
        left: 50%;
        transform: translate(-50%, -50%);
        overflow-y: hidden;
    }

/* Jockey Panel (#divVideoImageJockey) */
#divVideoImageJockey {
    position: fixed;
    top: 72px;
    bottom: 0px;
    left: 0;
    height: auto;
    max-width: 280px;
    width: 100%;
    z-index: 99999999 !important;
    background-color: #000000;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    transform: translateX(-100%);
    visibility: hidden;
    box-shadow: 2px 0 10px 0 rgba(0, 0, 0, 0.3);
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    scroll-behavior: smooth;
    transition: transform 0.4s ease-out, visibility 0s 0.4s;
    touch-action: pan-y;
}

    #divVideoImageJockey.show {
        /* Slide the modal into view */
        transform: translateX(0);
        visibility: visible;
        transition: transform 0.4s ease-out, visibility 0s;
    }


/* ================================================= */
/* === 9. MOBILE ADJUSTMENTS (Req 7) === */
/* ================================================= */
@media (max-width: 992px) {
    .immersive-content-wrapper {
        top: 0px;
        bottom: 0px;
        left: 0;
        border-top-right-radius: 25px;
        border-bottom-right-radius: 25px;
    }

    .immersive-right-overlay {
        display: none;
    }

    /* Logo movement for mobile (Req 7) */
    #ImageAppLogoImmersive {
        top: 20px !important;
        left: 15px !important;
        height: 30px !important;
    }
}

@media (max-width: 500px) {
    #divVideoImageJockey {
        max-width: 280px;
        top: 50px;
        bottom: 0px;
        left: 0;
        height: auto;
        border-top-right-radius: 25px;
        border-bottom-right-radius: 25px;
        border-top-left-radius: 0px;
        border-bottom-left-radius: 0px;
    }
}

#videoQueueList {
    /* CRITICAL: Tells the list to take up all available vertical space */
    flex-grow: 1;
    overflow-y: auto;
    height: auto;
    scrollbar-width: none;
    scrollbar-color: #2b2116;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}

    #videoQueueList::-webkit-scrollbar {
        width: 2px;
        background: #2b2116;
    }

    #videoQueueList::-webkit-scrollbar-track {
        background: #2b2116;
        width: 2px;
    }

    #videoQueueList::-webkit-scrollbar-thumb {
        background-color: #888;
        border-radius: 2px;
    }

/* === Header Styles === */
.content-list-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 15px 12px 42px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
}

.content-list-title {
    font-family: 'Roboto-Bold';
    font-size: 20px;
    color: #700b08;
}

.toggle-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    -webkit-tap-highlight-color: transparent !important;
}

    .toggle-button:active, .toggle-button:hover {
        box-shadow: 0 0 5px rgba(255, 0, 0, 0.6);
        background: none !important;
    }

#btnToggleList svg {
    transition: transform 0.3s ease-out;
    transform: rotate(180deg);
}

#divVideoImageJockey.show #btnToggleList svg {
    transform: rotate(0deg);
}



.video-queue-list-container {
    list-style: none;
    padding: 0;
    margin: 0;
    overflow-y: auto;
    flex-grow: 1;
}

/* === List Item Styles (omitted for brevity) === */
.video-queue-list-item {
    display: flex;
    padding: 10px 15px 0 15px;
    gap: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    cursor: pointer;
    transition: background-color 0.2s;
}

    .video-queue-list-item:hover {
        background-color: rgba(255, 255, 255, 0.08);
    }




/* === Footer Styles (Single Row Dashboard) === */
.content-list-footer {
    padding: 10px 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    flex-shrink: 0;
    background: rgba(15, 15, 15, 0.95); /* High contrast background */
}


.control-unit {
    display: flex;
    align-items: center; /* This vertically centers the 10px toggle against the 16px icon */
    gap: 8px;
    height: 16px; /* Row height locked to icon height */
}

/* === Icons standardized to exactly 16px === */
.jockey-inline-icon,
.jockey-status-icon {
    height: 14px;
    width: auto;
    object-fit: contain;
    flex-shrink: 0;
    cursor: pointer;
}

/* === Toggle Switch: Thinner (10px) and Smaller than 16px Icons === */
.toggle-switch {
    position: relative;
    display: inline-block;
    width: 26px; /* Compact width */
    height: 10px; /* Thinner than icons */
}

    .toggle-switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #333;
    transition: 0.3s;
    border-radius: 12px;
}

.toggle-switch input:checked + .slider {
    background-color: #b50b0b; /* Signature Red */
}

/* The Knob: Scaled down to 8px to fit the 10px track */
.slider:before {
    position: absolute;
    content: "";
    height: 8px;
    width: 8px;
    left: 1px;
    bottom: 1px; /* Centered: (10px track - 8px knob) / 2 = 1px padding */
    background-color: #fff;
    transition: 0.3s;
    border-radius: 50%;
    box-shadow: 0 1px 2px rgba(0,0,0,0.4);
}

.toggle-switch input:checked + .slider:before {
    /* (26px width - 2px padding - 8px knob) = 16px */
    transform: translateX(16px);
}

/* Media Query for smaller screens */
@media (max-width: 480px) {
    #divVideoImageJockey {
        max-width: 300px;
    }
}




.content-list-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding: 15px;
    margin-left: 25px;
    margin-right: 30px;
    border-radius: 20px;
    box-shadow: 0 0 1px rgba(255, 0, 0, 0.1);
    transition: box-shadow 0.3s ease, background-color 0.3s ease;
}

    /* --- Hover/Active Styles (The Final Polish) --- */
    .content-list-item:hover,
    .content-list-item.active {
        box-shadow: 0 0 3px rgba(255, 0, 0, 08);
    }

.list-item-thumbnail {
    width: 180px;
    height: 105px;
    border-radius: 16px;
    object-fit: cover;
    justify-content: center;
    box-shadow: 0 0 1px #380000;
}

.list-item-details {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Header Text Styles (Requirement 4: Bold, 12px, slightly lighter) */
.list-item-header {
    font-family: Roboto-Bold;
    font-size: 15px;
    font-weight: bold;
    color: #8f8f8f;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 4px;
    word-wrap: break-word;
}

/* Post Text Styles (Requirement 4: 10px) */
.list-item-text {
    font-family: Roboto-Bold;
    font-size: 13px;
    margin: 1px 0 0px 0;
    color: #7e7e7e;
    white-space: normal;
    word-wrap: break-word;
}

.list-item-user {
    font-family: Roboto-Bold;
    font-size: 10px;
    font-weight: bold;
    color: #534f4f;
}

.jockey-thinking-highlight {
    background-color: rgba(139, 0, 0, 0.2);
    box-shadow: 0 0 5px 2px rgba(220, 20, 60, 0.7);
    transition: box-shadow 0.3s ease, background-color 0.3s ease;
}

.jockey-selected-item {
    background-color: rgba(64, 24, 24, 0.10);
    box-shadow: 0 0 8px 3px rgba(139, 0, 0, 1);
    border: 1px solid rgba(178, 34, 34, 0.5);
    transition: background-color 0.5s ease, box-shadow 0.5s ease;
}

/* Ensure the Vertical List items also respect the selected state */
.content-list-item.active {
    border: 1px solid rgba(178, 34, 34, 0.5);
    transition: background-color 0.5s ease, box-shadow 0.5s ease;
}

#videoimageoverlay.relative-container {
    position: relative;
    top: -1px;
}

/* 2. Wrapper for Auto-Hide/Show (Opacity controlled by JS/Hover) */
.post-controls-wrapper {
    opacity: 1; /* Default visibility */
    transition: opacity 0.3s ease-in-out; /* Smooth transition */
    pointer-events: auto; /* Ensure icons are clickable */
}

    .post-controls-wrapper.hidden {
        opacity: 0;
        pointer-events: none; /* Prevents clicking when hidden */
    }

/* 3. Style for the clickable icons (using 15px width/height) */
.post-icon-button {
    position: absolute;
    width: 15px; /* Updated size */
    height: 15px; /* Updated size */
    cursor: pointer;
    z-index: 10;
    left: 20px; /* Consistent left positioning */
}



.post-icon {
    width: 100%;
    height: 100%;
    transition: opacity 0.1s ease; /* For quick visual feedback */
}



/* 1. Base Styles & Default (List Mode - Inactive) */
#divContentListIcon, #divContentListIcon1 {
    width: 15px;
    height: 15px;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url('contentlisticon.png');
    transition: background-image 0.2s ease; /* Smooth swap */
}

    /* Hide internal img tags */
    #divContentListIcon img, #divContentListIcon1 img {
        display: none !important;
    }

    /* 2. Grid Mode Base (Inactive) */
    #divContentListIcon.grid-mode,
    #divContentListIcon1.grid-mode {
        background-image: url('gridcontentlisticon.png');
    }

    /* 3. Active States (Red) */
    /* List Active */
    #divContentListIcon.active,
    #divContentListIcon1.active {
        background-image: url('contentlisticonred.png');
    }

    /* Grid Active */
    #divContentListIcon.grid-mode.active,
    #divContentListIcon1.grid-mode.active {
        background-image: url('gridcontentlisticonred.png');
    }

    /* 4. Refined Hover States */
    /* Hovering while in List Mode */
    #divContentListIcon:hover,
    #divContentListIcon1:hover {
        background-image: url('contentlisticonred.png');
    }

    /* Hovering while in Grid Mode */
    #divContentListIcon.grid-mode:hover,
    #divContentListIcon1.grid-mode:hover {
        background-image: url('gridcontentlisticonred.png');
    }

    /* 5. Cleanup: Ensure Hover doesn't override wrong mode */
    #divContentListIcon.grid-mode:not(.active):hover,
    #divContentListIcon1.grid-mode:not(.active):hover {
        background-image: url('gridcontentlisticonred.png');
    }

#divContentListIcon1 {
    transition: bottom 0.5s cubic-bezier(0.19, 1, 0.22, 1) !important;
}

/*#divContentListIcon1 {
            transition: bottom 0.5s cubic-bezier(0.19, 1, 0.22, 1), z-index 0.1s;
        }*/

.jockey-active-horizontal #divPostVideoControls1 {
    /* Keeps the controls area clean while the grid is open */
    background: rgba(0, 0, 0, 0.2);
    border-radius: 10px;
}

/* 3. Safety Visibility */
.jockey-active-horizontal #divContentListIcon1 {
    z-index: 3500 !important;
}

/* ================================================= */
/* === 1. IMMERSIVE CONTAINER & WRAPPER === */
/* ================================================= */


html, body {
    /* Disables the browser's pull-to-refresh and back/forward swipe navigation */
    overscroll-behavior-x: none;
    overscroll-behavior-y: none;
    /* Prevents the browser from handling touch actions on the edges */
    touch-action: pan-y;
}

.immersive-viewer-container {
    position: fixed;
    top: 0;
    left: -1px;
    right: -1px;
    bottom: auto;
    width: 101vw;
    height: 101vh;
    z-index: 99999999;
    display: flex;
    justify-content: center;
    align-items: center;
    /* Interactive state */
    pointer-events: none;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0);
    /* Combined Transition */
    transition: opacity 0.4s ease-in-out, background-color 0.3s ease;
    overflow: hidden;
    /* Hardware acceleration for the container */
    will-change: opacity, background-color;
}

    .immersive-viewer-container.show {
        pointer-events: auto;
        opacity: 1;
        background-color: rgba(0, 0, 0, 1);
    }


.immersiveview.show {
    padding-top: 40px;
    padding-bottom: 40px;
}

/* Wrapper to contain media and overlays, setting the main viewing area aesthetics */
.immersive-content-wrapper {
    position: relative;
    width: 900px; /* Desktop State 1 (Normal) */
    height: 750px;
    justify-content: center;
    align-items: center;
    border-radius: 25px;
    box-shadow: 0 0 40px 10px rgba(0, 0, 0, 0.5);
    background-color: #000;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.20);
    transition: width 0.4s ease, height 0.4s ease, border-radius 0.4s ease, max-width 0.4s ease, transform 0.4s ease;
    display: flex;
    flex-direction: column;
}

    /* Expanded View (Applies to ALL screen sizes) */
    .immersive-content-wrapper.immersive-full-screen {
        width: 100vw;
        height: 100vh;
        border-radius: 0;
        box-shadow: none;
        border: none;
        max-width: none;
        /* On mobile, this will be 100% height with 0 padding (the default) */
        padding-top: 0;
        padding-bottom: 0;
        box-sizing: border-box;
    }

/* --- MEDIA QUERY: DESKTOP ONLY --- */
/* Apply the 60px padding ONLY when the screen is wide enough (e.g., 768px or wider) */
@media (min-width: 768px) {
    .immersive-content-wrapper.immersive-full-screen {
        padding-top: 40px;
        padding-bottom: 40px;
        box-sizing: border-box;
    }

        /* Logo position */
        .immersive-content-wrapper.immersive-full-screen .immersive-top-overlay #ImageAppLogoImmersive {
            top: -5px;
        }

        /* Options Button */
        .immersive-content-wrapper.immersive-full-screen .immersive-top-overlay #PostOptionsImmersive {
            top: -10px;
            right: 105px !important;
        }

        /* Close Button - Updated from 90px to 100px to push inward */
        .immersive-content-wrapper.immersive-full-screen .immersive-top-overlay #btnCloseImmersive {
            top: 27px;
            right: 77px !important;
        }

        /* Right Side Overlay */
        .immersive-content-wrapper.immersive-full-screen .immersive-right-overlay {
            right: 30px !important;
        }

        .immersive-content-wrapper.immersive-full-screen .absolute-immersive-toggle-wrapper {
            right: 60px !important;
            z-index: 9999999999 !important;
        }
}

#AppWatermark {
    position: absolute;
    top: 30px; /* Adjust for desired padding from top */
    left: 20px; /* Adjust for desired padding from left */
    z-index: 1000; /* Ensure it's above the video/image */
    pointer-events: none; /* Prevents it from interfering with clicks */
    opacity: 0.3; /* Faint/Watermark effect */
    display: none; /* Default hidden state - JavaScript will toggle this */
    transition: opacity 0.3s ease-in-out;
}

/* Viewer Toggle Wrapper - Positioned at Bottom Right */
.absolute-immersive-toggle-wrapper {
    position: absolute;
    /* Move to the bottom right */
    bottom: 12px;
    right: 0px;
    z-index: 9999999999 !important;
    width: 15px;
    height: 30px;
    cursor: pointer;
}

/* 1. Make the wrapper ignore clicks itself */
.absolute-immersive-toggle-wrapper {
    pointer-events: none; /* Clicks pass through the empty space */
}

    /* 2. Re-enable clicks ONLY for the icon inside it */
    .absolute-immersive-toggle-wrapper #ImageViewerToggle {
        pointer-events: auto; /* The button still works */
    }

/* ================================================= */
/* === 2. IMMERSIVE OVERLAYS (Top/Right) === */
/* ================================================= */
/* Base Styles for the Top Overlay (Applies to all screens) */
.immersive-top-overlay {
    position: absolute;
    top: 0; /* Default position: stick to the top edge */
    left: 0;
    width: 100%;
    height: 160px;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), transparent);
    z-index: 50;
    transition: transform 0.3s ease-out;
    transform: translateY(-100%); /* Assuming this is for hiding/showing via JS */
    margin: 0 auto;
}

/* --- MEDIA QUERY: DESKTOP FULL-WIDTH ADJUSTMENT --- */
/* This rule applies ONLY when the screen is wide enough (e.g., min-width: 768px) */
@media (min-width: 768px) {
    .immersive-content-wrapper.immersive-full-screen .immersive-top-overlay {
        top: 40px;
    }

    .absolute-immersive-toggle-wrapper {
        right: 50px;
    }
}


.top-bar-content {
    position: relative;
    max-width: 280px;
    margin: 0 auto;
    z-index: 10;
    background-color: rgba(0, 0, 0, 0.6);
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 14px;
    padding-bottom: 10px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
}


.immersive-right-overlay {
    position: absolute;
    top: 50%;
    right: 0;
    height: 400px;
    width: 80px;
    background: linear-gradient(to left, rgba(0, 0, 0, 0.5), transparent);
    z-index: 30001;
    padding: 0 5px 0 25px;
    transition: transform 0.3s ease-out;
    transform: translate(100%, -50%);
    /* NEW STYLES: Enable Flexbox to center content */
    display: flex;
    flex-direction: column; /* Stack items vertically */
    justify-content: center; /* Centers items vertically along the main axis */
    align-items: center; /* Centers items horizontally along the cross axis */
    border-top-left-radius: 30px;
    border-bottom-left-radius: 30px;
}

/* GHOST UI VISIBILITY STATE (Applies to overlays, logo, and close button) */
.immersive-top-overlay.immersive-overlay-visible {
    transform: translateY(0);
}

.immersive-right-overlay.immersive-overlay-visible {
    transform: translate(0, -50%);
}




/* ================================================= */
/* === 3. APP LOGO (Req 7) === */
/* ================================================= */

#ImageAppLogoImmersive {
    position: absolute;
    left: 20px;
    top: 20px;
    z-index: 100;
    transition: transform 0.3s ease-out;
    transform: translateY(-150%); /* Initial Hidden State (Slide up and out) */
}

    /* Logo Visibility State */
    #ImageAppLogoImmersive.immersive-overlay-visible {
        transform: translateY(0);
    }


.immersive-top-overlay,
.immersive-right-overlay,
#ImageAppLogoImmersive,
#ViewerToggleWrapper {
    opacity: 0;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* State when the overlays are visible (set by JS) */
.immersive-overlay-visible {
    opacity: 1 !important; /* Force visibility */
}

/* Ensure the top panel slides in when visible (overrides the translateY(-100%)) */
.immersive-top-overlay.immersive-overlay-visible {
    transform: translateY(0);
}

/* ================================================= */
/* === 4. ABSOLUTE IMMERSIVE VIEWER CLOSE BUTTON (Req 1, 12) === */
/* ================================================= */

.absolute-immersive-close-wrapper {
    /* Base positioning relative to .immersive-content-wrapper */
    position: absolute;
    top: 60px;
    right: 60px;
    z-index: 100; /* Same as logo, above all overlays */
    cursor: pointer;
    /* Close button aesthetics (Circle) */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #121212;
    /* Ghost UI Animation: Slide out to the top-right corner */
    transition: transform 0.3s ease-out, background-color 0.15s ease-in-out;
    transform: translate(100%, -100%);
    overflow: hidden;
}

.absolute-immersive-options-wrapper {
    position: absolute;
    top: 23px;
    right: 80px;
    z-index: 100;
    /* Flexbox centers the icon perfectly within the padded hit area */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* Hit area & Cursor */
    padding: 10px;
    cursor: pointer;
}

/* Visibility State */
.absolute-immersive-close-wrapper.immersive-overlay-visible {
    transform: translate(0, 0); /* Visible state (same as overlays) */
}

/* Hover styles */
.absolute-immersive-close-wrapper:hover {
    background-color: #121212;
}




/* ================================================= */
/* === 6. MEDIA & CONTROLS === */
/* ================================================= */
.immersive-media-container {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    background-color: #000;
    overflow: hidden; /* Prevents internal scrolling [cite: 32] */
    /* Rubberband Protection */
    overscroll-behavior: none; /* Stops scroll momentum from reaching the body */
    touch-action: none; /* Disables browser-level touch gestures (pull-to-refresh) */
    position: relative; /* Keeps absolute overlays correctly anchored [cite: 22, 24] */
    flex: 1; /* Takes up all available space in the flex wrapper  */
}

.immersive-video-player, .immersive-image-display {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    will-change: transform; /* Optimizes rendering for Jockey transitions  */
}

.immersive-media-container.immersive-full-screen {
    margin-left: 0;
    margin-right: 0;
    position: fixed; /* Switches to fixed viewport positioning [cite: 35] */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) translateZ(0);
    backface-visibility: hidden;
    perspective: 1000px;
    z-index: 10; /* Ensures it stays behind the Jockey Grid in full screen  */
}

.immersive-video-player.immersive-full-screen {
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}

/* ================================================= */
/* === 8. JOCKEY/NORMAL MODAL STYLES (Req 10) === */
/* ================================================= */

/* Req 10: Push immersive content wrapper to the right on desktop when jockey is active. */
@media (min-width: 993px) {
        .immersive-viewer-container.jockey-active-layout .immersive-content-wrapper {
        transform: translate(280px, 0);
    }
}

@media (max-width: 767px) {
    /* Apply full-screen properties as the default state for mobile */
    .immersive-content-wrapper {
        width: 101vw;
        height: 100vh;
        border-radius: 0;
        box-shadow: none;
        border: none;
        max-width: none;
        padding-top: 0;
        padding-bottom: 0;
        box-sizing: border-box;
    }


    .absolute-immersive-options-wrapper {
        /*display: none;*/
        top: 13px;
        right: 45px;
    }

    .absolute-immersive-close-wrapper {
        top: 50px;
        right: 50px;
    }



    .top-bar-content {
        background-color: transparent;
    }
}

/* ---------------------------------------------------------------------- */
/* CSS for Post Text Modal (Refined Final Version) */
/* ---------------------------------------------------------------------- */


.post-text-modal-container {
    /* Centering and positioning */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 320px; /* Mobile width 320px */
    background-color: rgba(0, 0, 0, 0.9);
    border-radius: 30px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
    z-index: 44444000;
    /* Height Constraints: Absolute cap of 600px when expanded, and gracefully restrict on small screens */
    max-height: min(600px, calc(100vh - 160px));
    /* Fade In/Out */
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    border: 1px solid #242424;
}

/* Modal Content Wrapper - Main container for the 4 flex children */
.post-text-modal-content-wrapper {
    display: flex;
    flex-direction: column;
    /* FIX: Set height to 100% to ensure children (specifically .post-text-modal-body) can flex correctly */
    height: 100%;
}

/* SECTION 1: HEADER (Expander Toggle Positioning) */
.post-text-modal-header {
    padding: 10px 10px 15px 10px;
    max-height: 10px;
    position: relative;
    flex-shrink: 0;
}

/* Modal Size Toggle Icon */
.text-modal-size-toggle-icon {
    position: absolute;
    top: 10px;
    right: 20px;
    cursor: pointer;
}


.post-text-modal-body {
    padding: 10px 20px 10px 20px;
    flex-grow: 1;
    overflow-y: auto;
    word-break: break-word;
    word-wrap: break-word;
    max-height: 600px;
    -ms-overflow-style: none; /* Scrollbar Hiding (IE and Edge) */
    scrollbar-width: none; /* Scrollbar Hiding (Firefox) */
    scroll-behavior: smooth; /* Smooth Scrolling */
    -webkit-overflow-scrolling: touch; /* "Fly Feel" for mobile Webkit browsers */
}
    /* Corrected Webkit scrollbar hiding, must be a separate block */
    .post-text-modal-body::-webkit-scrollbar {
        width: 0px;
        height: 0px;
        display: none;
    }

.modal-text-content-cell {
    padding-right: 25px; /* Creates space so text doesn't overlap the icon */
    width: 100%;
}

/* The Icon Container */
.modal-expand-icon-cell {
    right: 2px; /* 2px from the right edge */
    bottom: -5px; /* Adjust this to align vertically with your first line of text */
    width: 15px;
    height: 15px;
    z-index: 10;
    position: absolute;
    padding: 0px 20px 0px 20px;
}

/*#ImageTextExpandModal {
            display: block;
            width: 15px;
        }*/

/* SECTION 3: SECTOR (Fixed at bottom when shrunk) */
.post-sector-modal-section {
    flex-shrink: 0;
}


/* SECTION 4: FOOTER */
.post-text-modal-footer {
    height: 54px;
    position: relative;
    padding: 0 30px 10px 0;
    flex-shrink: 0;
}

/* Close button style */
.absolute-immersive-close-text-wrapper {
    position: absolute;
    bottom: 20px;
    right: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    cursor: pointer;
    background-color: #1f1f1e;
    transition: background-color 0.2s;
    z-index: 10;
}

    .absolute-immersive-close-text-wrapper:hover {
        background-color: #1b1b1b;
    }


.post-text-modal-header-text,
.post-text-modal-main-text,
.post-text-modal-footer-text {
    display: block;
    white-space: pre-line;
    overflow-wrap: break-word;
    word-wrap: break-word;
    cursor: default !important;
}




.post-text-modal-header-text {
    font-family: Roboto-Bold;
    font-size: 13pt;
    color: #b1b1b1;
}

.post-text-modal-main-text {
    font-family: Roboto;
    font-size: 11pt;
    color: #a5a5a5;
}

.post-text-modal-footer-text {
    font-size: 8pt;
    color: #666666;
    font-weight: bold;
}



/* FIX: Ensure anchor tags in sector don't have default browser hover effects for color */
.post-sector-modal-section a:hover {
    color: #b1b1b1 !important;
}


/* Responsive adjustments for width (400px desktop, 320px mobile) */
@media (min-width: 768px) {
    .post-text-modal-container {
        width: 400px;
    }
}

@media (max-width: 767px) {
    .post-text-modal-container {
        width: 320px;
    }
}







#hIMCLJMHolder {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    max-width: 900px;
    height: 43vh;
    z-index: 5000000;
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    pointer-events: none;
    /* OILY PHYSICS: Matches JS timing for mode-switching width/height changes */
    overflow: hidden;
    transition: width 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Perfect Sync for Full Screen */
.immersive-full-screen #hIMCLJMHolder {
    width: 100vw !important;
    max-width: none !important;
    transform: translateX(-50%);
}

/* === THE JOCKEY (The Sliding Modal) === */
.horizontal-jockey-container {
    position: absolute;
    bottom: -43vh;
    width: 100%;
    height: 43vh;
    box-sizing: border-box;
    visibility: hidden;
    display: flex !important;
    flex-direction: column;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.95) 70%, rgba(0, 0, 0, 0));
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid rgba(255, 255, 255, 0.20);
    border-bottom: 1px solid rgba(255, 255, 255, 0.20);
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
    /* THE MAGIC CURVE: Aggressive start, oily settle */
    transition: bottom 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
    will-change: bottom;
    pointer-events: auto;
    overflow: hidden;
}

    /* THE SHOW STATE */
    .horizontal-jockey-container.show {
        bottom: 0 !important;
        visibility: visible;
    }

#hIMCLJM .horizontal-jockey-container .jockey-list-wrapper {
    opacity: 0;
    transform: translateY(10px); /* Smaller movement for a subtler pop */
    /* PRE-RENDER MAGIC: Force GPU to hold the grid in memory */
    will-change: transform, opacity;
    transition: opacity 0.6s ease-out, transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}

/* The "Magic" release class added by JS */
#hIMCLJM.render-content .horizontal-jockey-container .jockey-list-wrapper {
    opacity: 1;
    transform: translateY(0);
}



/* Remove rounding and side borders when in Full Immersive mode */
.horizontal-jockey-container.immersive-full-screen {
    border-radius: 0 !important;
    border: none !important;
    border-top: 1px solid rgba(255, 255, 255, 0.20) !important;
}

.jockey-dashboard-integrated {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: rgba(10, 10, 10, 0.98);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 10;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 25px;
    box-sizing: border-box;
    /* Ensure footer rounds with the container when tucked */
    border-bottom-left-radius: 25px;
    border-bottom-right-radius: 25px;
}

/* Spacer for Fullscreen mode scroll clearance */
.horizontal-jockey-container.immersive-full-screen .jockey-dashboard-integrated {
    border-radius: 0 !important;
}

@media only screen and (max-width: 900px) {
    #hIMCLJMHolder {
        width: 100vw !important;
        max-width: 100vw !important;
        height: 55vh !important; /* Increased height for mobile */
        bottom: 0 !important;
        border-radius: 0;
    }

    .horizontal-jockey-container {
        height: 55vh !important;
        bottom: -55vh; /* Ensure it starts hidden at the new height */
        border-radius: 0 !important;
        border: none !important;
    }

        /* Ensure the Jockey slides to the new top on mobile */
        .horizontal-jockey-container.show {
            bottom: 0 !important;
        }
}

/* Target the actual individual thumbnail items */
#hIMCLJM .jockey-grid-item {
    opacity: 0;
    transform: translateX(20px); /* Slide in from the RIGHT for the "running" effect */
    transition: opacity 0.5s ease-out, transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);

}


/* The Waterfall Release */
#hIMCLJM.render-content .jockey-grid-item {
    opacity: 1;
    transform: translateX(0);
}

    /* REVERSED Staggered Delays (Right to Left) */
    /* We assume a standard view shows about 5-6 items */
    #hIMCLJM.render-content .jockey-grid-item:nth-child(6) {
        transition-delay: 0.05s;
    }

    #hIMCLJM.render-content .jockey-grid-item:nth-child(5) {
        transition-delay: 0.10s;
    }

    #hIMCLJM.render-content .jockey-grid-item:nth-child(4) {
        transition-delay: 0.15s;
    }

    #hIMCLJM.render-content .jockey-grid-item:nth-child(3) {
        transition-delay: 0.20s;
    }

    #hIMCLJM.render-content .jockey-grid-item:nth-child(2) {
        transition-delay: 0.25s;
    }

    #hIMCLJM.render-content .jockey-grid-item:nth-child(1) {
        transition-delay: 0.30s;
    }

    /* Items beyond the first 6 appear with a base delay */
    #hIMCLJM.render-content .jockey-grid-item:nth-child(n+7) {
        transition-delay: 0.05s;
    }

/* ============== */

.horizontal-jockey-grid-wrapper {
    display: flex;
    flex-direction: column;
    flex: 1;
    margin-bottom: 60px;
    padding-bottom: 12px;
    overflow: hidden; /* Clips the items during the chaotic shuffle */
    padding-top: 10px;
    box-sizing: border-box;
    width: 100%;
    content-visibility: auto; /* High-performance boost for mobile */
    contain-intrinsic-size: 0 500px;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    /* Rubberband Proofing */
    overscroll-behavior: contain !important; /* Prevents scroll from escaping this box */
    touch-action: pan-y; /* Allows only vertical interaction to reach parent if needed */
}

#hIMCLJM .horizontal-jockey-grid-wrapper {
    opacity: 0;
    transform: translateY(15px); /* Start slightly lower */
    visibility: hidden;
    /* This transition only kicks in when the class changes */
    transition: opacity 0.6s ease-out, transform 0.6s cubic-bezier(0.23, 1, 0.32, 1), visibility 0.6s;
    will-change: opacity, transform;
}

/* The Trigger State */
#hIMCLJM.render-content .horizontal-jockey-grid-wrapper {
    opacity: 1;
    transform: translateY(0);
    visibility: visible;
}


.horizontal-jockey-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 12px;
    padding: 10px 14px;
    height: 50%;
    overflow-x: auto; /* Allow manual horizontal scrolling */
    overflow-y: hidden; /* Keep vertical locked */
    /* Native 'Flywheel' momentum for iOS/Safari */
    -webkit-overflow-scrolling: touch;
    /* Force Hardware Acceleration for smoother movement */
    will-change: scroll-position;
    /* --- UI CLEANUP --- */
    /* Hide scrollbars while keeping functionality */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE/Edge */
    justify-content: flex-start;
    align-items: center;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}





    .horizontal-jockey-row::-webkit-scrollbar {
        display: none;
    }

/* 6. Grid Items */
.jockey-grid-item {
    position: relative;
    cursor: pointer;
    border-radius: 14px;
    background: #000;
    aspect-ratio: 9/16;
    height: 100%;
    width: auto;
    box-sizing: border-box;
    outline: 1.5px solid rgba(255, 68, 68, 0.2);
    outline-offset: -1.5px;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
    /* Prevents items from squishing to fit the center */
    flex: 0 0 auto;
    background: #111;
    will-change: transform;
}

    .jockey-grid-item:first-child {
        margin-left: auto;
    }

    .jockey-grid-item:last-child {
        margin-right: auto;
    }

    .jockey-grid-item img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 14px;
        display: block;
    }

    /* --- SELECTED ITEM --- */
    .jockey-grid-item.jockey-selected-item {
        box-shadow: 0 0 8px 3px rgba(139, 0, 0, 1);
    }



.jockey-dashboard-integrated {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 60px;
    background: rgba(10, 10, 10, 0.98);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 10;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 25px;
    box-sizing: border-box;
}

/* Spacer for Fullscreen mode scroll clearance */


/* Update the inner row */
.jockey-dashboard-row {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 320px; /* Lock the controls to 320px */
    gap: 10px;
}


/* 8. Fullscreen Padding Adjustment */
.immersive-full-screen .horizontal-jockey-grid {
    padding: 20px 60px; /* Wider gutters for cinematic feel */
}



#VideoPlayer::-webkit-media-controls-fullscreen-button,
#VideoPlayer1::-webkit-media-controls-fullscreen-button,
#VideoPlayer::-webkit-media-controls-download-button,
#VideoPlayer1::-webkit-media-controls-download-button {
    display: none !important;
}

/* 2. Hide the 'Three Dots' (Overflow Menu) which often contains Download/PiP */
#VideoPlayer::-webkit-media-controls-panel,
#VideoPlayer1::-webkit-media-controls-panel {
    width: calc(100% + 30px); /* Pushes the overflow menu off-screen */
}

video::-internal-media-controls-download-button {
    display: none !important;
}

/* 3. Disable Picture-in-Picture button (optional but recommended for Immersive) */
video::-webkit-media-controls-picture-in-picture-button {
    display: none !important;
}

/* For Firefox */
video::-moz-list-bullet {
    display: none !important;
}


.immersive-content-wrapper .follow-confirmation-popup {
    position: absolute;
    top: 10px;
    left: 70%;
    transform: translate(-70%, 0);
}

    /* Update the .show state for Immersive specifically if needed */
    .immersive-content-wrapper .follow-confirmation-popup.show {
        opacity: 1;
        transform: translate(-70%, -5px); /* Slight downward drift for the animation */
    }


#divImmPDFDetails.immersive-pdf-doc-wrapper {
    position: fixed !important;
    display: flex !important;
    max-width: 320px !important;
    min-width: 280px !important;
    height: 60px !important;
    background-color: rgba(0, 0, 0, 0.7) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-radius: 50px !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.37) !important;
    z-index: 999999999 !important;
    pointer-events: auto !important;
    padding-bottom: 6px;
    transition: opacity 0.3s ease-out, transform 0.3s ease-out !important;
    opacity: 0;
    transform: translateY(20px);
    padding: 3px 12px 0 12px;
    cursor: pointer;
}

    /* Ensure it shows when you trigger it */
    #divImmPDFDetails.immersive-pdf-doc-wrapper.show {
        display: flex !important;
        align-items: center;
        justify-content: center;
        /* Visible state */
        opacity: 1;
        transform: translateY(0);
    }


.mpesa-amount-button {
    display: block;
    margin-bottom: 3px;
    min-width: 50px;
    cursor: pointer;
    text-align: center;
    font-weight: bold;
    font-family: Roboto;
    font-size: 9pt;
    color: #666666;
    padding: 8px 8px 8px 4px;
    background-color: transparent;
    border: none;
    transition: background-color 0.15s;
}

    .mpesa-amount-button:hover {
        background-color: #fef7ea;
    }

    .mpesa-amount-button:active {
        background-color: #fef7ea;
    }

    .mpesa-amount-button.selected {
        background-color: #eee;
        color: #2b2116;
    }

.mpesa-list-container {
    position: absolute;
    z-index: 1010;
    width: 75px;
    background-color: white;
    border-bottom: 1px solid #e2e2e1;
    border-left: 1px solid #e2e2e1;
    border-right: 1px solid #e2e2e1;
    border-bottom-left-radius: 12px;
    border-bottom-right-radius: 12px;
    padding: 0;
    max-height: 0;
    overflow: hidden; /* Keeps content hidden during max-height: 0 transition */
    opacity: 0;
    transform: translateY(-5px);
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.show-mpesa-list {
    max-height: 160px;
    opacity: 1;
    transform: translateY(0);
    padding: 8px;
    overflow-y: auto; /* Enables vertical scrollbar only when needed */
}

