.main.post-main {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    /* background: #f7f7fa; */
}

.mogl3d-post-container {
    width: 100%;
}

.mogl3d-post-main .main {
    padding: 42px 0 42px;
    max-width: 1184px;
    margin: 0 auto;
}

.mogl3d-post-main .top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.8rem;
    width: 100%;
    padding: 1.1rem 0;
}

.mogl3d-post-main .top .searchWrapper {
    margin-left: 1rem;
    width: 50%;
    position: relative;
}

.mogl3d-post-main .top .searchWrapper input {
    width: 100%;
    height: 2.8rem;
    border: 1px solid #000;
    outline: none;
    box-shadow: 0px 0px 1px rgba( 0, 0, 0, .4 );
    color: #333;
    padding: 0px 2.7rem;
    font-size: 1.12rem;
    border-radius: 6px;
    /* background: #040b29; */
}

.mogl3d-post-main .top .searchWrapper input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.mogl3d-post-main .top .searchWrapper input[type="search"]::-ms-clear {
    display: none;
    width: 0;
    height: 0;
}

.mogl3d-post-main .top .searchWrapper input::placeholder {
    /* color: #4B3B3B; */
    color: #c1c1c1;
    font-size: .94rem;
}

.moglBtn01 {
    color: #3b456c;
    font-size: 12px !important;
    text-decoration: none;
    border: 1px solid #3b456c;
    padding: 5px 15px;
    border-radius: 2px;
    text-transform: uppercase;
    margin-right: 10px;
    cursor: pointer;
}


.mogl3d-post-main .top .searchWrapper i {
    position: absolute;
    left: 0.24rem;
    top: 0;
    /* color: #7d7d7d; */
    /* color: #fff; */
    color: #7d7d7d;
    font-size: 1.4rem;
    width: 40px;
    height: 45px;
    text-align: center;
    line-height: 2.9rem;
    cursor: pointer;
    transition: color 0.3s ease;
}

.mogl3d-post-main .top .searchWrapper i:hover {
    color: #5138ee;
}

.mogl3d-post-main .profileWrapper {

    display: flex;
    justify-content: end;
    align-items: center;
    color: #d0cfd4;
    position: relative;
    gap: .4rem;
}

.mogl3d-post-main .profileWrapper #alert-bell::after {
    position: absolute;
    content: "";
    top: 5px;
    right: 10px;
    width: 8px;
    height: 8px;
    background: #b1147d;
    border-radius: 50%;
}

.mogl3d-post-main .profileWrapper #alert-bell {
    width: 40px;
    height: 40px;
    background: #19162c;
    border-radius: 6px;
    text-align: center;
    line-height: 40px;
    box-shadow: 0px 0px 20px rgba( 0, 0, 0, .4 );
    font-size: 18px;
    position: relative;
}

.mogl3d-post-main .profileWrapper .profileImg {
    width: 40px;
    height: 40px;
    background: #555;
    border-radius: 100%;
    overflow: hidden;
    /* box-shadow: 0px 0px 20px rgba( 0, 0, 0, .4 ); */
    cursor: pointer;
}

.mogl3d-post-main .profileWrapper .profileName {
    color: darkslategray;
    font-weight: 600;
    font-size: 14px;
}

.profile-usr-lev {
    color: darkslategray;
    font-size: .8rem;
}

.posts-upload-btn-container {
    display: flex;
    align-items: center;
    justify-content: center;
    /* background: #5dfa63b8; */
    /* background: linear-gradient(135deg, #ffd79e 0%, #ffbb93c2 100%); */
    color: #444346;
    margin-left: 14px;
    padding: 4px 30px;
    border: none; /* 기본 버튼 테두리 제거 */
    border-radius: 0.4rem;
    transition: transform 0.1s, box-shadow 0.3s; /* 부드러운 전환 효과 */
    cursor: pointer; /* 버튼처럼 보이도록 포인터 변경 */
    background:#fff;
    border: 1px solid #ff9f18;
    /* box-shadow: 4px 7px 12px 0 rgba(35, 210, 226, 0.2); */
}

.posts-upload-btn-container:hover {
    transform: translateY(-.1rem);
    box-shadow: 1px 1px 1px #fff; /* 호버 시 입체감 강화 */
}

.posts-upload-btn-container:active {
    background-color: #3b456c; /* 클릭 시 버튼 눌림 효과 */
    box-shadow: inset 0 4px 6px rgba(0, 0, 0, 0.2); /* 눌린 효과 */
}

.mogl3d-post-uploadBtn {
    font-size: 1rem;
    /* font-family: "Rajdhani", sans-serif; */
    color: #555554;
    display: none;
}

.posts-upload-btn-icon {
    width: 40px;
}

.loginFormWrap {
    display: flex;
    flex-direction: column;
    padding: 0 15px;
}

.loginFormWrap input {
    width: 150px;
    margin-bottom: 8px;
    padding: 5px 2px;
}

.signinBtnSec button {
    padding: 15px 15px;
    border-radius: 5px;
    font-weight: 600;
    cursor: pointer;
}


/* 모바일 최적화 추가 */
@media screen and (max-width: 768px) {
    .mogl3d-post-main .main {
        padding: 20px 16px 42px;  /* 모바일에서 패딩 줄임 */
        max-width: 100%;           /* 모바일에서 전체 너비 사용 */
    }
    
    .cardWrapper {
        grid-template-columns: 1fr;  /* 모바일에서 1열 배치 */
        gap: 16px;                   /* 간격 줄임 */
    }
    
    .posts-card {
        margin: 0 auto;
        max-width: 100%;             /* 모바일에서 전체 너비 */
    }
    
    .posts-card-thumbnail {
        height: 200px !important;  /* 강제 높이 설정 */
        width: 100% !important;    /* 강제 너비 설정 */
        object-fit: cover;
        /* ✅ 모바일에서 이미지 렌더링 최적화 */
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
        -webkit-font-smoothing: antialiased;
    }
    
    /* ✅ 모바일에서 이미지 로딩 상태 표시 */
    .posts-card-thumbnail[loading="lazy"] {
        background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
        background-size: 200% 100%;
        animation: loading 1.5s infinite;
    }
    
    @keyframes loading {
        0% { background-position: 200% 0; }
        100% { background-position: -200% 0; }
    }
    
    .posts-card-thumbnail {
        height: 200px;               /* 모바일에서 고정 높이 */
        width: 100%;
        object-fit: cover;
    }
    
    /* 모바일에서 불필요한 요소 숨김 */
    .mogl3d-post-main .top .searchWrapper {
        width: 100%;
        margin-left: 0;
    }
    
    .posts-upload-btn-container {
        width: 100%;
        margin-left: 0;
        padding: 12px 20px;         /* 모바일에서 패딩 줄임 */
    }
}

@media screen and (max-width: 480px) {
    .mogl3d-post-main .main {
        padding: 16px 12px 32px;    /* 더 작은 화면에서 패딩 최소화 */
    }
    
    .posts-card-thumbnail {
        height: 180px !important;  /* 작은 화면에서 높이 줄임 */
    }
    
    .posts-card-title {
        font-size: 16px;            /* 모바일에서 폰트 크기 조정 */
        margin: 12px;               /* 마진 줄임 */
    }
    
    .posts-card-desc {
        font-size: 14px;            /* 모바일에서 폰트 크기 조정 */
        margin: 8px 12px 12px;      /* 마진 줄임 */
    }
}


/*------------------- */
/*----- Article ----- */
/*------------------- */
.mogl3d-post-main .main .article {
    
}

.mogl3d-post-main .main::-webkit-scrollbar {
    display: none;
}

.mogl3d-post-main .main .article .banner {
    height: 250px;
    background: #d5d2fc;
    border-radius: 10px;
    box-shadow: 0px 0px 6px rgba(0, 0, 0, .4);
    position: relative;
}

.mogl3d-post-main .main .article .banner .textContainer {
    position: absolute;
    bottom: 64px;
    left: calc( 50% - 7rem );
    width: 14rem;
}

.mogl3d-post-main .main .article .banner .textContainer h1 {
    font-size: 1.4rem;
    font-weight: 700;
    color: #fff;
    margin: 5px 0;
    padding: 5px 2px;
    border-radius: 4px;
    text-shadow: 
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000,
    1px 1px 0 #000,
    -1px 0 0 #000,
    1px 0 0 #000,
    0 -1px 0 #000,
    0 1px 0 #000;
    border-bottom: .1rem solid #daa66c;
}

.mogl3d-post-main .main .article .banner .textContainer p {
    color: #e9773c;
    font-weight: 600;
    transform: translateX(-1rem);
    font-size: 1rem;
    width: 22rem;
    margin: 5px 0;
    text-shadow: 
    -1px -1px 0 #000,
    1px -1px 0 #000,
    -1px 1px 0 #000,
    1px 1px 0 #000,
    -1px 0 0 #000,
    1px 0 0 #000,
    0 -1px 0 #000,
    0 1px 0 #000;
}


/* --------------------- */
/*   article filter    */
/* --------------------- */

.mogl3d-post-main .article .filters {
    display: flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.mogl3d-post-main .filters .sw-field {
    flex: 1;
    padding: .3rem;
    border: 1px solid #ccc;
    border-radius: 5px;
    background-color: #fff;
    font-size: 16px;
    transition: border-color 0.3s, box-shadow 0.3s;
}

.mogl3d-post-main .article .filters .sw-field:focus {
    border-color: #343156;
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
    outline: none;
}


/* ------------------------ */
/*  article card container  */
/* ------------------------ */

.mogl3d-post-main .article .cardWrapper {
    /* display: flex;
    flex-direction: column;
    width: inherit;
    margin: 0 auto;
    gap: .4rem; */
    display: grid;
    grid-template-columns: 100%;
    grid-gap: 16px;
    -ms-flex-align: start;
    align-items: start;
    -ms-flex-pack: center;
    justify-content: center;
    grid-template-columns: repeat( auto-fit, 384px );
}

.mogl3d-post-main .article .cardWrapper .card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: center;
    justify-content: flex-start;
    min-height: 516px;
    border-radius: 12px;
    background: linear-gradient(135deg, #fff 0%, #f6fffc 50%, #fffbf0 100%);
    margin: 0 auto;
    /* box-shadow: 0 0 40px 0 rgba(94, 92, 154, 0.06); */
}

.card-no-data-alert {
    display: flex;
    justify-content: center;
    color: #fff;
}

.no-data-alert-span {
    font-size: 1.3rem;
    font-weight: bolder;
}

.mogl3d-post-main .article .cardWrapper .card:hover {
    transform: translateY(-3px);
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
}

#post-card-user-info-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.posts-card-thumbnail-wrapper {
    height: 210px;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
    overflow: hidden;
}

.posts-card-thumbnail {
    width: 100%;
    min-width: 384px;
    object-fit: cover;
    object-position: top;
    border-radius: 10px;
}

img.post-upload-thumbnail {
    width: 100%;
}


.posts-card-info {
    position: absolute;
    top: 30%;
    width: 91.5%;
    /* font-family: "Rajdhani", sans-serif; */
    border-radius: 14px;
    min-height: 300px;
    background: #fff;
    padding: 1.4rem 2rem;
}

.posts-card-title {
    margin-top: 10px;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2em;
    cursor: pointer;
}

.posts-card-desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    cursor: pointer;
    min-height: calc(1.2em * 5); /* 1.2em 라인 높이 기준으로 최소 높이 고정 */
}

.posts-card-details {
    display: flex;
    justify-content: space-between;
    border: none;
    position:absolute;
    bottom: 15px;
    /* left: 28px; */
    width: 91.5%;
    /* font-family: "Rajdhani", sans-serif; */
}

.posts-card-likes {
    width: 22px;
}

#posts-card-likes-count {
    font-size: .78rem;
    font-weight: 600;
}

.posts-card-ratings {
    display: flex;
    gap: .2rem;
    align-items: center;
}

#posts-card-views {
    font-weight: 600;
    font-size: .78rem;
}

.mogl3d-post-main .article .card p {
    border: none;
}

#posts-card-views-container {
    border: none;
    display: flex;
    gap: 1.2rem;
    font-weight: 500;
    font-size: .9rem;
}

.posts-card-views-icon {
    width: 14px;
    margin-left: 2px;
    margin-top: 3px;
    /* filter: invert(1); */
}

#post-user-info {
    display: flex;
    flex-direction: column;
    align-items: center;
}

#post-user-info-thumb {
    border-radius: 50%;
    border: 1px solid #c2cdce;
}

#post-user-info-nick {
    font-size: .9rem;
    color: #6e7171;
}

.posts-card-author-container {
    border: none;
}

.posts-card-author-container img {
    border: none;
    /* filter: invert(1); */
}

.posts-card-author-container span {
    border: none;
    /* color: #fff; */
}

.posts-card-fields {
    border: none;
}

.posts-card-fields.TOPIC,
.posts-card-fields.SW_3D,
.posts-card-fields.WORKFLOW {
    /* background: #5138EE; */
    background: #7366d5;
    font-weight: lighter;
    color: #fff;
}

.mogl3d-post-main .article .cardWrapper .cardMain .cardMainName .cardMainIcon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.mogl3d-post-main .article .cardWrapper .cardMain .cardMainName .cardMainIcon i {
    color: #b1147d;
    text-shadow: 0px 0px 20px rgba(0, 0, 0, .4);
    font-size: 12px;
}

.mogl3d-post-main .article .cardWrapper .cardMain .cardMainName .cardMainIcon i span {
    color: #e9e9ec;
    margin-left: 5px;
    font-size: 16px;
    font-weight: bold;
}

.mogl3d-post-main .article .cardWrapper .cardMain .cardMainBtn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 20px;
}


/* --------------------- */
/*       Pagination      */
/* --------------------- */

.article .mogl3d-post-pagination {
    display: flex;
    justify-content: center;
    margin-top: 1.8rem;
}

.article .mogl3d-post-pagination button {
    /* background: linear-gradient(135deg, #ffd8a1 0%, #ff5310c4 100%); */
    background: #ff7330;
    color: #fff;
    font-weight: 600;
    width: 40px;
    height: 44px;
    border: none;
    padding: .4rem .6rem;
    margin: 0 5px;
    /* font-family: "Rajdhani", sans-serif; */
    font-size: .98rem;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.article .mogl3d-post-pagination button:hover {
    background: #fd996b;
}

.article .mogl3d-post-pagination button:disabled {
    /* background-color: #746ead; */
    color: #fff;
    font-weight: bolder;
}


/* --------------------- */
/* ----- sidebar ------- */
/* --------------------- */
.post-mogl3d-post-filter-group {
    width: 250px;
    /* padding-left: 14px; */
    /* flex: 1; */
    background: #fff;
    position: relative;
}

.post-mogl3d-post-filter-title {
    /* background-color: #1a203c; */
    /* color: #fff; */
    /* font-family: "Rajdhani", sans-serif; */
    background: #fff;
    color: #333;
    border: 1px solid #5138ee;
    border-radius: .56rem;
    padding: .6rem 1.4rem;
    width: 100%;
    text-align: left;
    cursor: pointer;
    font-size: .9rem;
    font-weight: bold;
    position: relative;
    transition: background .2s ease;
}

.post-mogl3d-post-filter-title:hover {
    box-shadow: 0 1px 1px #615DFA;
}

.post-mogl3d-post-filter-title .triangle {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #333;
}

.post-mogl3d-post-dropdown {
    display: none;        /* 토글 스크립트에서 block/none 으로 제어 */
    position: absolute;   /* ★ 변경 ★ */
    top: 100%;            /* 버튼 바로 아래에 붙이기 */
    left: 16px;              /* 그룹 왼쪽에 정렬 */
    margin-top: 0;        /* 기존 여백 제거 */
    z-index: 1000;        /* 다른 요소 위로 띄우기 */

    /* 필요시 추가 스타일 */
    background-color: #fff;
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    width: 95%;          /* 필터 버튼 너비와 동일하게 */
    padding-left: 10px;
    /* font-family: "Rajdhani", sans-serif; */
}

.post-mogl3d-post-label {
    display: flex;
    align-items: center;
    margin-top: .8rem;
    /*margin-bottom: 5px;*/
}

.post-mogl3d-post-label:hover {
    color: #5138ee;
}

.post-mogl3d-post-input {
    margin-right: 6px;
    width: 20px;
    height: 20px;
}

.mogl3d-post-label-title {
    font-size: .98rem;
}

.post-mogl3d-post-sidebar-divider {
    border-top: 1px solid #ccc;
    margin: .6rem 0;
}

.post-sidebar-statics-container {
    display: flex;
    flex-direction: column;
    gap: .8rem;
    margin-top: .68rem;
    margin-bottom: .68rem;
}

.post-sidebar-statics-content-wrapper {

    display: none;
    position: absolute;
    top: 50px;
    left: 0;
    flex-direction: column;
    background-color: white;
    width: 100%;
    z-index: 1000;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    gap: .2rem;
}

.post-sidebar-statics-content-container {
    display: flex;
    justify-content: space-between;
    padding: .21rem .8rem;
    border-bottom: 1px solid #ddd;
}

.post-sidebar-statics-content-container:hover {
    background-color: #f0f0f0;
}

.top-menu-container {
    display: flex;
    justify-content: space-between;
    position: relative;
}
.top-menu {
    padding: 10px;
    cursor: pointer;
}
.top-menu.active .post-sidebar-statics-content-wrapper {
    display: flex;
}

.post-sidebar-statics-content {
    font-size: 1.1rem;
}

.post-sidebar-statics-quantity {
    font-size: 1rem;
}

.mogl3d-post-main .sidebar {
    /* width: calc( 100% - 80% ); */
    display: flex;
    flex-direction: column;
    flex: 0 0 300px;
    gap: .94rem;
    color: #fff;
    border-radius: 4px;
    transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.search-container {
    width: 100%;
    background: #fff;
    box-shadow: 0 0 40px 0 rgba(94, 92, 154, 0.09);
    padding: 20px 28px;
    border-radius: 12px;
    margin-bottom: 1.8rem;
}

.search-group {
    display: flex;
}

.icon-search {
    fill: #615DFA;
    position:absolute;
    right: 10px;
    top: 13px;
}

.searchbox-category-title {
    padding: .88rem 0;
    font-size: 1.3rem;
    font-weight: bolder;
    border-bottom: 1px solid #f0eeff;
}

.sidebar .searchbox-container {
    background: linear-gradient(to right, #7366d5, #5549b7);
    border-radius: 4px;
}

.searchbox-category-wrapper {
    display: flex;
    align-items: baseline;
    margin-top: 10px;
}

.searchbox-title {
    padding:1.8rem;
}

.searchWrapper {
    padding-left: 14px;
    height: 36px;
    width: 100%;
    position: relative;
}

.post_search_bar {
    height: 100%;
    width: 100%;
    min-width: 280px;
    padding: 24px 14px;
    border-radius: 6px;
    border: 1px solid transparent;
    background: linear-gradient(#ffffff, #ffffff) padding-box, linear-gradient(135deg, #615dfa 0%, #ff9500 50%, #78ff56 100%) border-box;
    background-clip: padding-box, border-box;
    /* background: 
        linear-gradient(#ffffff, #ffffff) padding-box,
        linear-gradient(135deg, #a3faff 0%, #ff9500 50%, #ffb347 100%) border-box;
    background-clip: padding-box, border-box; */
}

.post_search_bar[type='search']:focus {
    outline: none;
    background: 
        linear-gradient(#ffffff, #ffffff) padding-box,
        linear-gradient(135deg, #91f9ff 0%, #e8640f 50%, #ff9500 100%) border-box;
    box-shadow: 0 0 0 2px rgba(255, 149, 0, 0.2);
}

.mogl3d-post-main .sidebar .topCard {
    /* background: #19162c; */
    background: #3b456c;
    border-radius: 20px;
    padding: 10px 20px;
}

.mogl3d-post-main .sidebar .topCard .topCardName {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
}

.mogl3d-post-main .sidebar .topCard .topCardName a {
    color: #F0C83C;
    text-decoration: none;
    font-size: .78em;
}

.mogl3d-post-main .sidebar .topCard .rank {
    width: 100%;
    padding: 5px 10px;
}

.mogl3d-post-main .sidebar .topCard .rank p {
    margin: 8px 0;
    padding: 10px;
    display: flex;
    justify-content: space-between;
    color: #adabb8;
    align-items: center;
    font-size: 13px;
    font-weight: bold;
}

.mogl3d-post-main .sidebar .bottomCard {
    margin-top: 15px;
    background: #3b456c;
    /* background: #19162c; */
    border-radius: 20px;
    padding: 10px 20px;
}

.mogl3d-post-main .sidebar .bottomCard .bottomCardName {
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #fff;
}

.mogl3d-post-main .sidebar .bottomCard .bottomCardName a {
    color: #F0C83C;
    text-decoration: none;
    font-size: .78em;
}

.mogl3d-post-main .sidebar .bottomCard .topSeller {
    display: flex;
    align-items: center;
    margin: 10px 0;
}

.mogl3d-post-main .sidebar .bottomCard .topSellerImg {
    width: 45px;
    height: 45px;
    background: #252041;
    border-radius: 50%;
    overflow: hidden;
}


.mogl3d-post-main .sidebar .bottomCard .topSeller .topSellerName {
    font-size: 14px;
    color: #adabb8;
    font-weight: bold;
    margin-left: 10px;
}

.mogl3d-post-main .sidebar .bottomCard .topSeller .topSellerName p {
    display: flex;
    flex-direction: column;
}

.mogl3d-post-main .sidebar .bottomCard .topSeller .topSellerName p span {
    font-size: 12px;
}

.mogl3d-post-main .sidebar .bottomCard .topSeller a {
    margin-right: 10px;
    margin-left: auto;
    font-size: 10px !important;
}

/* Media Query */
@media screen and (max-width: 960px) {
    .mogl3d-post-main .main {
        padding: 0 0 42px;
    }
    .post-mogl3d-post-dropdown {
        left: 0;
        width: 100%;
    }
    .article.posting .searchbox-category-wrapper {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
    .post-mogl3d-post-filter-group {
        width: 100%;
        padding-left: 0;
    }
    .searchWrapper {
        padding-left: 0;
        height: unset;
    }
    .post_search_bar {
        padding: 14px;
    }
    .search-group {
        flex-direction: column;
        gap: 10px;
    }
    .posts-upload-btn-container {
        width: 100%;
        margin-left: 0;
    }

    .mogl3d-main-header-area .exp {
        display: none;
    }

    .mogl3d-main-header-area .navbar-brand {
        display: flex;
        justify-content: center;
    }
}

@media screen and (max-width: 480px) {
    .posts-card-thumbnail {
        max-width: 324px;
    }
}

@media screen and (max-width: 380px) {
    .posts-card-thumbnail {
        max-width: 324px;
    }

    .card {
        max-width: 280px;
    }

    .cardWrapper {
        max-width: 280px;
    }
}

/* ✅ 이미지 로딩 최적화 CSS */
.posts-card-thumbnail {
    /* ✅ GPU 가속 활성화 */
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
    
    /* ✅ 이미지 렌더링 최적화 */
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
    -webkit-font-smoothing: antialiased;
}

/* ✅ LCP 이미지 특별 처리 */
.posts-card-thumbnail[fetchpriority="high"] {
    /* ✅ LCP 이미지 우선 렌더링 */
    z-index: 10;
    position: relative;
}

/* ✅ 지연 로딩 이미지 스타일 */
.posts-card-thumbnail[loading="lazy"] {
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
    background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
    background-size: 200% 100%;
    animation: loading 1s infinite;
}

.posts-card-thumbnail[loading="lazy"].loaded {
    opacity: 1;
    background: none;
    animation: none;
}

@keyframes loading {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ✅ 모바일 최적화 */
@media screen and (max-width: 768px) {
    .posts-card-thumbnail {
        height: 200px !important;
        width: 100% !important;
        object-fit: cover;
        
        /* ✅ 모바일에서 이미지 품질 최적화 */
        image-rendering: -webkit-optimize-contrast;
        image-rendering: pixelated;  /* 작은 이미지에서 선명하게 */
    }
    
    /* ✅ 모바일에서 카드 간격 최소화 */
    .cardWrapper {
        grid-template-columns: 1fr;
        gap: 12px;  /* 간격 줄임 */
    }
    
    .posts-card {
        margin: 0 auto;
        max-width: 100%;
    }
}

@media screen and (max-width: 480px) {
    .posts-card-thumbnail {
        height: 160px !important;  /* 더 작은 높이 */
    }
    
    .posts-card-title {
        font-size: 14px;  /* 폰트 크기 줄임 */
        margin: 8px;      /* 마진 줄임 */
    }
    
    .posts-card-desc {
        font-size: 12px;  /* 폰트 크기 줄임 */
        margin: 6px 8px 8px;
    }
}

/* === Unify heights: Topic dropdown button ↔ search bar === */
.search-group { 
	align-items: stretch; 
	gap: 10px;
}

/* 공통 컨트롤 높이 */
.searchWrapper { 
	height: 44px;            /* 원하는 높이로 조정 가능 (예: 40~48px) */
}
.post_search_bar { 
	height: 100%;
	padding: 0 14px;         /* 수직 패딩 0으로 통일 */
	line-height: 44px;       /* 텍스트 수직정렬 안정화 */
}

/* Topic 드롭다운 버튼 그룹도 동일 높이 */
.post-mogl3d-post-filter-group { 
	height: 44px;
}
.post-mogl3d-post-filter-title { 
	height: 100%;
	padding: 0 14px;         /* search와 동일한 좌우 패딩 */
	display: flex;
	align-items: center;     /* 텍스트 수직정렬 */
}

/* 검색 아이콘을 세로 중앙 정렬 */
.icon-search { 
	top: 50%;
	transform: translateY(-50%);
}

/* 모바일에서는 기존 동작 유지(한 줄 고정 높이 해제) */
@media (max-width: 768px) {
	.searchWrapper { height: unset; }
	.post_search_bar { line-height: normal; padding: 14px; }

	.post-mogl3d-post-filter-group { height: auto; }
	.post-mogl3d-post-filter-title { 
		height: auto; 
		padding: .6rem 1.4rem; 
	}
}
