#temp-posts-list.feed-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    background: none;
    padding: 24px 0;
    max-width: 1800px;
    margin: 0 auto;
}
@media (max-width: 1200px) {
    #temp-posts-list.feed-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 800px) {
    #temp-posts-list.feed-grid { grid-template-columns: 1fr; }
}

.post-card {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    background: #fff;
    overflow: hidden;
    padding: 0;
    margin: 0;
    position: relative;
    min-width: 0;
    border: 1.5px solid #e0e0e0;
    transition: box-shadow .13s;
    height: 480px;
}
.post-card:hover {
    box-shadow: 0 4px 24px rgba(50,60,100,0.13);
}

.expiry-bar {
    background: #19b662;
    color: #fff;
    font-weight: bold;
    font-size: 1.05em;
    text-align: center;
    padding: 7px 0 6px 0;
    border-bottom: 1px solid #d1f5e3;
    letter-spacing: 0.01em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.expiry-bar.bg-red { background: #d32f2f !important; color: #fff !important; }
.expiry-bar.bg-orange { background: #ff9800 !important; color: #222 !important; }
.expiry-bar.bg-green { background: #388e3c !important; color: #ffe066 !important; }
.white-text { color: #fff !important; }
.black-text { color: #222 !important; }
.yellow-text { color: #ffe066 !important; }

/* --- FIXED HEIGHT & CROPPED IMAGES --- */
.media-wrap {
    position: relative;
    background: #000;
    text-align: center;
    padding: 0;
    width: 100%;
    height: 220px; /* Fixed image area for all cards */
    overflow: hidden;
    flex: 0 0 auto;
}
.post-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;    /* Crop image to fill area */
    object-position: center;
    background: #000;
    cursor: pointer;
    border-radius: 0;
    margin: 0 auto;
}
.detail-main-img, .gallery-thumb {
    cursor: pointer;
}
/* --- END FIXED HEIGHT & CROPPED IMAGES --- */

.comment-icon {
    position: absolute;
    top: 12px;
    left: 12px;
    background: rgba(0,0,0,0.72);
    color: #fff;
    border-radius: 5px;
    padding: 2px 8px 2px 5px;
    font-size: 1.08em;
    display: flex;
    align-items: center;
    z-index: 2;
}
.comment-icon i {
    margin-right: 3px;
}
.caption-overlay {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: linear-gradient(to top, rgba(0,0,0,0.75) 80%, rgba(0,0,0,0.08) 100%);
    color: #fff;
    font-weight: bold;
    font-size: 1.13em;
    padding: 10px 15px 9px 15px;
    text-align: left;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    box-sizing: border-box;
    letter-spacing: 0.01em;
    min-height: 48px;
}
.stats-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 18px;
    background: none;
    color: #474747;
    font-size: 1em;
    padding: 11px 16px 0 15px;
    border-bottom: 1px solid #f1f1f1;
    min-height: 34px;
}
.stats-row i {
    margin-right: 3px;
    color: #b3b3b3;
}
.stats-row .post-time {
    margin-left: auto;
    color: #888;
    font-size: 0.97em;
    font-weight: 500;
}
/* Stacked (vertical) action buttons for feed */
.actions-row {
    display: flex;
    flex-direction: column !important;
    gap: 7px !important;
    align-items: flex-start !important;
    background: none;
    padding: 11px 16px 13px 15px;
    margin-top: auto; /* Stick to bottom of card */
}
.extend-btn, .download-btn, .main-submit-btn, .yellow-button {
    background: #ffe066;
    color: #222;
    border: none;
    font-size: 1.07em;
    border-radius: 7px;
    padding: 9px 22px;
    font-weight: 700;
    cursor: pointer;
    position: relative;
    transition: background 0.15s, color 0.15s;
    display: flex;
    align-items: center;
    gap: 7px;
    box-shadow: 0 1px 3px rgba(230,200,0,0.08);
    outline: none;
}
.extend-btn:hover, .download-btn:hover, .main-submit-btn:hover, .yellow-button:hover {
    background: #ffd836;
    color: #000;
}
/* Download icon only, no margin */
.download-btn .fa-download {
    margin-right: 0 !important;
}
.badge {
    background: #e02d2d;
    color: #fff;
    border-radius: 13px;
    font-size: 0.95em;
    font-weight: bold;
    padding: 2px 8px;
    margin-left: 6px;
    display: inline-block;
}

/* Download count badge on detail (top-right, smaller) */
.main-download-badge {
    position: absolute !important;
    top: 10px !important;
    right: 10px !important;
    font-size: 0.97em !important;
    padding: 2px 8px !important;
    background: #ffe066 !important;
    color: #555 !important;
    border-radius: 12px !important;
    z-index: 5 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

.form-label-black,
.allow-download-label,
.main-image-label {
    color: #222 !important;
}
.yellow-checkbox {
    color: #e6b800;
    font-weight: 500;
    margin-bottom: 10px;
    display: inline-block;
}
.form-disclaimer {
    margin-top: 18px;
    margin-bottom: 0;
    padding: 8px 0 0 0;
    font-size: 0.98em;
    color: #555;
}
#image-preview-list label.selected img,
#image-preview-list img.main-selected {
    border: 2px solid #ffe066 !important;
    box-shadow: 0 0 0 2px #ffd836;
}
#image-preview-list label img {
    border: 2px solid #ccc;
    border-radius: 6px;
    margin-right: 8px;
    margin-bottom: 6px;
}

.top-nav-link a {
    color: #2563eb;
    text-decoration: none;
    font-weight: 600;
    font-size: 1.1em;
}
.top-nav-link a:hover {
    text-decoration: underline;
}
.feed-pagination {
    text-align: center;
    margin: 24px 0 0 0;
}
.feed-page-btn {
    background: #f7f7f7;
    color: #333;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    margin: 0 2px;
    padding: 6px 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.14s, color 0.14s;
}
.feed-page-btn.active, .feed-page-btn:hover {
    background: #ffe066;
    color: #000;
    border-color: #ffd836;
}

/* New Features Additions */

/* Make post images look like links (pointer cursor) */
.post-image, .detail-main-img, .gallery-thumb {
    cursor: pointer;
}

/* Delete post button styling (red, white text, same width as other buttons) */
.delete-btn, .red-button {
    background: #d32f2f !important;
    color: #fff !important;
    border: none !important;
    width: 180px;
    display: block;
    margin: 10px auto 0 auto;
    border-radius: 6px;
    font-weight: bold;
    font-size: 1em;
    padding: 10px 0;
    text-align: center;
    transition: background 0.14s;
}
.delete-btn:hover, .red-button:hover {
    background: #b71c1c !important;
}

/* No-delete icon (ban/red) */
.no-delete-icon {
    position: absolute;
    top: 7px;
    right: 7px;
    color: #d32f2f;
    font-size: 1.7em;
    z-index: 3;
    background: rgba(255,255,255,0.7);
    border-radius: 50%;
    padding: 2px 5px 1px 5px;
}

/* Tag chips for detail page */
.post-tags {
    margin-top: 8px;
    margin-bottom: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}
.tag-chip {
    background: #ffe066;
    color: #333;
    border-radius: 11px;
    padding: 3px 11px;
    font-size: 0.92em;
    display: inline-block;
    margin: 2px 6px 2px 0;
    border: 1px solid #ffe066;
    font-weight: 500;
}

/* "Time you would like to keep the post up" label text black */
.yellow-checkbox {
    color: #222 !important;
}

/* Make download and extend buttons match the Post button color */
.extend-btn,
.download-btn {
    background: #fdc316 !important;
    color: #222 !important;
}
.extend-btn:hover,
.download-btn:hover {
    background: #ffd836 !important;
    color: #000 !important;
}
.actions-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
}
.actions-row .yellow-button {
    width: 180px;
    min-width: 120px;
    max-width: 100%;
    text-align: center;
    justify-content: center;
    display: flex;
}
.expiry-bar {
    font-size: 0.65em;
    padding: 6px 0 5px 0;
}
/* Detail post view: show images at natural size, not cropped */
.detail-media-wrap {
    position: relative;
    background: #000;
    text-align: center;
    width: 100%;
    padding: 0;
    /* Remove fixed height and aspect ratio so image can size naturally */
    height: auto;
    aspect-ratio: unset;
    overflow: visible;
}
.detail-main-img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    width: auto;
    height: auto;
    object-fit: contain; /* Show full uncropped image */
    background: #000;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
}
/* Fix for uncropped images in detailed post view */
.detail-media-wrap,
.detail-media-wrap .detail-main-img {
    height: auto !important;
    max-height: 80vh !important;
    min-height: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    overflow: visible !important;
    display: block !important;
}

/* Also override .media-wrap within the detailed post, if needed */
.detail-media-wrap {
    height: auto !important;
    overflow: visible !important;
    min-height: 0 !important;
    max-height: 100% !important;
}
/* Uncrop image in detail view */
.detail-media-wrap,
.detail-media-wrap .detail-main-img,
.detail-media-wrap img.detail-main-img,
.media-wrap .detail-main-img {
    height: auto !important;
    max-height: 80vh !important;
    min-height: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    overflow: visible !important;
    display: block !important;
}

/* Most important: override .media-wrap cropping in detail view */
.detail-media-wrap,
.detail-media-wrap + .media-wrap,
.media-wrap .detail-main-img,
.media-wrap.detail-media-wrap {
    height: auto !important;
    overflow: visible !important;
    min-height: 0 !important;
    max-height: 100% !important;
}
/* Fix for detail view: allow full image! */
.detail-media-wrap,
.detail-media-wrap .detail-main-img,
.detail-media-wrap img.detail-main-img,
.media-wrap .detail-main-img {
    height: auto !important;
    max-height: 80vh !important;
    min-height: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    overflow: visible !important;
    display: block !important;
}

/* Most important: override .media-wrap cropping in detail view */
.media-wrap .detail-main-img,
.detail-media-wrap,
.detail-media-wrap + .media-wrap,
.media-wrap.detail-media-wrap {
    height: auto !important;
    overflow: visible !important;
    min-height: 0 !important;
    max-height: 100% !important;
}
.media-wrap.detail-media-wrap {
    height: auto !important;
    overflow: visible !important;
}
.media-wrap.detail-media-wrap .detail-main-img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 80vh !important;
    object-fit: contain !important;
    display: block !important;
}
.media-wrap.detail-media-wrap {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    min-height: 0 !important;
    background: #000 !important;
}
.media-wrap.detail-media-wrap img.detail-main-img {
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 80vh !important;
    object-fit: contain !important;
    display: block !important;
    margin: 0 auto !important;
    background: #000 !important;
}
.gallery-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
    background: none !important;
    padding: 17px 14px 8px 14px !important;
    margin-top: 12px !important;
    margin-bottom: 12px !important;
    justify-content: flex-start !important;
    align-items: center !important;
}
.gallery-thumb {
    display: block !important;
    height: 55px !important;
    width: auto !important;
    margin: 4px !important;
    border-radius: 4px !important;
    border: 1.5px solid #ccc !important;
    background: #fff !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
    cursor: pointer !important;
    transition: box-shadow .2s;
}
.gallery-thumb:hover {
    box-shadow: 0 2px 12px rgba(80,80,80,0.19);
    border-color: #ffe066 !important;
}
.post-card,
.media-wrap.detail-media-wrap {
    overflow: visible !important;
    height: auto !important;
}