:root {
            --green-deep:  #1a4d1e;
            --green-main:  #2e7d32;
            --green-mid:   #388e3c;
            --green-light: #4caf50;
            --green-pale:  #e8f5e9;
            --green-faint: #f1f8f2;
            --green-mist:  #f7fbf7;
            --white:       #ffffff;
            --off-white:   #fafcfa;
            --text-dark:   #1c2b1e;
            --text-body:   #374a39;
            --text-muted:  #5a7060;
            --border:      rgba(46,125,50,0.22);
            --border-mid:  rgba(46,125,50,0.42);
            --shadow-sm:   0 2px 12px rgba(26,77,30,0.08);
            --shadow-md:   0 6px 30px rgba(26,77,30,0.14);
            --radius:      3px;
            --transition:  all 0.3s cubic-bezier(0.4,0,0.2,1);
        }

        * { margin:0; padding:0; box-sizing:border-box; }
        html { scroll-behavior:smooth; }

        body {
            background: var(--off-white);
            color: var(--text-body);
            font-family: 'Open Sans', sans-serif;
            line-height: 1.75;
            overflow-x: hidden;
        }

        body::before {
            content:'';
            position:fixed; inset:0;
            background-image:
                linear-gradient(rgba(46,125,50,0.022) 1px, transparent 1px),
                linear-gradient(90deg, rgba(46,125,50,0.022) 1px, transparent 1px);
            background-size: 44px 44px;
            pointer-events:none; z-index:0;
        }

        /* ===== HEADER ===== */
        header {
            border-bottom: 1px solid var(--border);
            padding: 0 30px;
            position: sticky; top:0;
            background: rgba(255,255,255,0.97);
            backdrop-filter: blur(12px);
            z-index: 1000;
            box-shadow: 0 1px 20px rgba(26,77,30,0.07);
        }
        header::before {
            content:'';
            position:absolute; top:0; left:0; right:0; height:3px;
            background: linear-gradient(90deg, var(--green-deep), var(--green-light), var(--green-deep));
        }
        .nav-container {
            max-width: 1200px; margin:0 auto;
            display:flex; justify-content:space-between; align-items:center;
            height:90px; gap:20px;
        }
        .logo-link {
            display:flex; align-items:center; gap:10px;
            text-decoration:none; flex-shrink:0;
        }
        .logo-img { height:70px; width:auto; object-fit:contain; mix-blend-mode:multiply; }
        .nav-back {
            font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700;
            letter-spacing:1.5px; text-transform:uppercase; text-decoration:none;
            color:var(--green-main); border:1px solid var(--border-mid);
            padding:7px 16px; border-radius:var(--radius);
            transition:var(--transition);
        }
        .nav-back:hover { background:var(--green-pale); color:var(--green-deep); }

        /* ===== PAGE HERO ===== */
        .page-hero {
            background: linear-gradient(135deg, #e8f5e9 0%, #f1f8f2 50%, #dcedc8 100%);
            padding: 70px 30px 60px;
            text-align:center; position:relative; overflow:hidden;
        }
        .page-hero::after {
            content:'';
            position:absolute; bottom:0; left:0; right:0; height:3px;
            background:linear-gradient(90deg, transparent, var(--green-main), transparent);
        }
        .page-hero-eyebrow {
            font-family:'Montserrat',sans-serif; font-size:0.63rem; font-weight:700;
            letter-spacing:3.5px; text-transform:uppercase; color:var(--green-main);
            background:rgba(46,125,50,0.07); border:1px solid var(--border-mid);
            padding:5px 14px; display:inline-block; margin-bottom:20px;
        }
        .page-hero h1 {
            font-family:'Cormorant Garamond',serif; font-size:3.2rem; font-weight:700;
            color:var(--green-deep); line-height:1.1; letter-spacing:0.5px;
            margin-bottom:16px;
        }
        .page-hero p {
            font-size:1rem; color:var(--text-body); max-width:600px;
            margin:0 auto 30px; line-height:1.8;
        }

        /* Bank details card in hero */
        .bank-card {
            display:inline-flex; flex-direction:column; gap:6px;
            background:var(--white); border:1px solid var(--border-mid);
            border-left:4px solid var(--green-main);
            padding:20px 30px; text-align:left;
            box-shadow:var(--shadow-sm); margin-top:10px;
        }
        .bank-card-label {
            font-family:'Montserrat',sans-serif; font-size:0.6rem; font-weight:700;
            letter-spacing:2.5px; text-transform:uppercase; color:var(--green-main);
            margin-bottom:4px;
        }
        .bank-card-row {
            font-size:0.88rem; color:var(--text-dark);
            display:flex; gap:12px; align-items:baseline;
        }
        .bank-card-row span { color:var(--text-muted); font-size:0.78rem; min-width:100px; }
        .bank-card-row strong { color:var(--green-deep); font-weight:700; }

        /* ===== MAIN LAYOUT ===== */
        .main-wrap {
            max-width:1200px; margin:0 auto; padding:60px 30px;
            position:relative; z-index:1;
        }

        /* ===== SECTION HEADING ===== */
        .section-heading {
            font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:700;
            color:var(--green-deep); letter-spacing:2px; text-transform:uppercase;
            margin-bottom:35px; padding-bottom:16px; position:relative;
        }
        .section-heading::after {
            content:''; position:absolute; bottom:0; left:0;
            width:60px; height:2px;
            background:linear-gradient(90deg, var(--green-main), transparent);
        }

        /* ===== POSTS GRID ===== */
        .posts-grid {
            display:grid;
            grid-template-columns: 1fr;
            gap:36px; margin-bottom:60px;
        }

        /* ---- Full Detail Card ---- */
        .post-card {
            background:var(--white); border:1px solid var(--border);
            box-shadow:var(--shadow-sm);
            display:grid;
            grid-template-columns: 480px 1fr;
            transition:var(--transition); position:relative; overflow:hidden;
            cursor:default;
            align-items:stretch;
        }
        .post-card::before {
            content:''; position:absolute; top:0; left:0; right:0; height:4px;
            background:linear-gradient(90deg, var(--green-deep), var(--green-light), var(--green-deep));
        }
        .post-card:hover { box-shadow:var(--shadow-md); border-color:var(--border-mid); }

        .post-img-wrap {
            width:100%; min-height:420px; overflow:hidden;
            background:var(--green-faint); position:relative; flex-shrink:0;
            display:flex; align-items:stretch;
        }
        .post-img-wrap img {
            width:100%; height:100%; object-fit:cover; object-position:top center;
            display:block; position:absolute; inset:0;
        }
        .post-img-placeholder {
            width:100%; height:100%; min-height:420px; display:flex; align-items:center; justify-content:center;
            font-family:'Montserrat',sans-serif; font-size:0.7rem; color:var(--text-muted);
            font-weight:600; letter-spacing:1px; text-transform:uppercase;
        }

        .post-body { padding:30px 32px; flex:1; display:flex; flex-direction:column; gap:12px; }

        .post-amount-badge {
            display:inline-block; font-family:'Montserrat',sans-serif;
            font-size:0.68rem; font-weight:700; letter-spacing:1.5px; text-transform:uppercase;
            background:var(--green-pale); color:var(--green-deep);
            border:1px solid var(--border-mid); padding:5px 14px; align-self:flex-start;
        }

        /* Contact row */
        .post-contact-row {
            display:flex; gap:20px; flex-wrap:wrap;
            font-size:0.82rem; color:var(--text-muted); font-family:'Montserrat',sans-serif;
            font-weight:600; letter-spacing:0.3px;
            padding:10px 14px; background:var(--green-faint);
            border:1px solid var(--border); margin-top:2px;
        }
        .post-contact-row span { display:flex; align-items:center; gap:5px; }

        /* Story full */
        .post-story-full {
            font-size:0.875rem; color:var(--text-body); line-height:1.85;
            white-space:pre-wrap; flex:1;
        }

        /* Bank info inside card */
        .post-bank-info {
            margin-top:8px; padding:14px 18px;
            background:var(--green-faint); border-left:3px solid var(--green-main);
            font-size:0.82rem; line-height:1.7; color:var(--text-body);
        }
        .post-bank-info strong { color:var(--green-deep); font-weight:700; }
        .post-bank-info .bank-note {
            font-size:0.74rem; color:var(--text-muted); margin-top:6px; display:block;
        }

        @media(max-width:900px){
    .post-card { 
        grid-template-columns:1fr; 
    }
    
    /* Remove the fixed min-height so it wraps the image tightly */
    .post-img-wrap { 
        min-height: auto; 
        height: auto;
    }
    
    /* Remove absolute positioning and let the image naturally scale */
    .post-img-wrap img {
        position: static; 
        height: auto; 
        /* object-fit: cover is ignored here since height is auto, preventing any cropping */
    }
}

        .post-need {
            font-size:0.82rem; font-weight:600; color:var(--green-main);
            padding:6px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border);
        }

        .post-excerpt { display:none; } /* no longer used */

        .post-name {
            font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:700;
            color:var(--green-deep); line-height:1.2;
        }

        .post-location {
            font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:600;
            color:var(--text-muted); letter-spacing:0.5px;
        }



        /* ===== DETAIL MODAL ===== */
        .modal-overlay {
            position:fixed; inset:0;
            background:rgba(10,25,12,0.88); backdrop-filter:blur(5px);
            z-index:9000; display:flex; align-items:center; justify-content:center;
            opacity:0; pointer-events:none; transition:opacity 0.3s ease;
            padding:20px;
        }
        .modal-overlay.open { opacity:1; pointer-events:auto; }

        .modal-box {
            background:var(--white); max-width:720px; width:100%;
            max-height:88vh; overflow-y:auto; position:relative;
            border:1px solid var(--border-mid);
            box-shadow:0 20px 60px rgba(0,0,0,0.5);
            transform:translateY(20px); transition:transform 0.3s ease;
        }
        .modal-overlay.open .modal-box { transform:translateY(0); }

        .modal-close {
            position:absolute; top:14px; right:14px;
            width:32px; height:32px; border-radius:50%;
            border:1px solid var(--border-mid); background:var(--white);
            cursor:pointer; font-size:1rem; color:var(--text-muted);
            display:flex; align-items:center; justify-content:center;
            transition:var(--transition); z-index:2; font-family:sans-serif;
        }
        .modal-close:hover { background:var(--green-pale); color:var(--green-deep); }

        .modal-img { width:100%; max-height:340px; object-fit:cover; object-position:top center; display:block; }
        .modal-content { padding:32px; }
        .modal-content .post-amount-badge { margin-bottom:8px; }
        .modal-content h2 {
            font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:700;
            color:var(--green-deep); margin-bottom:4px;
        }
        .modal-content .post-location { margin-bottom:16px; }
        .modal-content .modal-story {
            font-size:0.93rem; line-height:1.85; color:var(--text-body);
            white-space:pre-wrap;
        }
        .modal-bank {
            margin-top:24px; padding:20px; background:var(--green-faint);
            border-left:3px solid var(--green-main);
        }
        .modal-bank p { font-size:0.85rem; margin-bottom:4px; }
        .modal-bank strong { color:var(--green-deep); }

        /* ===== EMPTY STATE ===== */
        .empty-state {
            text-align:center; padding:70px 20px;
            border:1px dashed var(--border-mid); background:var(--green-mist);
        }
        .empty-state-icon { font-size:2.5rem; margin-bottom:14px; display:block; opacity:0.5; }
        .empty-state p {
            font-family:'Montserrat',sans-serif; font-size:0.78rem; font-weight:600;
            color:var(--text-muted); letter-spacing:1px; text-transform:uppercase;
        }

        /* ===== ADMIN PANEL ===== */
        .admin-toggle-wrap { text-align:right; margin-bottom:20px; }
        .admin-toggle-btn {
            font-family:'Montserrat',sans-serif; font-size:0.66rem; font-weight:700;
            letter-spacing:1.5px; text-transform:uppercase; cursor:pointer;
            background:transparent; border:1px solid var(--border-mid);
            color:var(--text-muted); padding:6px 14px; transition:var(--transition);
        }
        .admin-toggle-btn:hover { background:var(--green-faint); color:var(--green-deep); }

        .admin-panel {
            display:none; background:var(--white); border:1px solid var(--border-mid);
            border-top:3px solid var(--green-main); padding:36px;
            box-shadow:var(--shadow-md); margin-bottom:40px;
        }
        .admin-panel.open { display:block; }

        .admin-panel h3 {
            font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700;
            letter-spacing:2px; text-transform:uppercase; color:var(--green-main);
            margin-bottom:24px; padding-bottom:10px; border-bottom:1px solid var(--border);
        }

        /* ===== LOGIN MODAL ===== */
        .login-modal-overlay {
            position:fixed; inset:0;
            background:rgba(10,25,12,0.82); backdrop-filter:blur(6px);
            z-index:9500; display:flex; align-items:center; justify-content:center;
            opacity:0; pointer-events:none; transition:opacity 0.3s ease;
            padding:20px;
        }
        .login-modal-overlay.open { opacity:1; pointer-events:auto; }

        .login-modal-box {
            background:var(--white); width:100%; max-width:420px;
            border:1px solid var(--border-mid);
            border-top:4px solid var(--green-main);
            box-shadow:0 24px 60px rgba(0,0,0,0.45);
            transform:translateY(18px); transition:transform 0.3s ease;
            position:relative; overflow:hidden;
        }
        .login-modal-overlay.open .login-modal-box { transform:translateY(0); }

        .login-modal-box::before {
            content:'';
            position:absolute; inset:0;
            background-image:
                linear-gradient(rgba(46,125,50,0.03) 1px, transparent 1px),
                linear-gradient(90deg, rgba(46,125,50,0.03) 1px, transparent 1px);
            background-size:30px 30px; pointer-events:none;
        }

        .login-modal-head {
            padding:28px 32px 0;
            position:relative; z-index:1;
        }
        .login-modal-eyebrow {
            font-family:'Montserrat',sans-serif; font-size:0.58rem; font-weight:700;
            letter-spacing:3px; text-transform:uppercase; color:var(--green-main);
            margin-bottom:8px; display:block;
        }
        .login-modal-head h2 {
            font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:700;
            color:var(--green-deep); line-height:1.15; margin-bottom:4px;
        }
        .login-modal-head p {
            font-size:0.8rem; color:var(--text-muted); margin-bottom:0;
        }

        .login-modal-body {
            padding:24px 32px 32px;
            position:relative; z-index:1;
            display:flex; flex-direction:column; gap:16px;
        }

        .auth-view-step { display: none; flex-direction: column; gap: 16px; }
        .auth-view-step.active { display: flex; }

        .login-field { display:flex; flex-direction:column; gap:6px; }
        .login-field label {
            font-family:'Montserrat',sans-serif; font-size:0.6rem; font-weight:700;
            letter-spacing:2px; text-transform:uppercase; color:var(--green-deep);
        }
        .login-field-wrap {
            position:relative;
        }
        .login-field-wrap input {
            width:100%; padding:11px 45px 11px 14px;
            border:1px solid var(--border-mid);
            font-family:'Open Sans',sans-serif; font-size:0.92rem; color:var(--text-dark);
            background:var(--white); outline:none; transition:var(--transition);
        }
        .login-field-wrap input:focus {
            border-color:var(--green-main);
            box-shadow:0 0 0 3px rgba(46,125,50,0.1);
        }
        
        .pw-toggle {
            position:absolute; right:12px; top:50%; transform:translateY(-50%);
            background:none; border:none; cursor:pointer; color:var(--text-muted);
            font-size:1.25rem; padding:2px; transition:color 0.2s;
            outline: none; user-select: none;
        }
        .pw-toggle:hover { color:var(--green-main); }

        .login-error {
            font-size:0.78rem; color:#c62828; font-weight:600;
            background:rgba(198,40,40,0.06); border:1px solid rgba(198,40,40,0.2);
            padding:8px 12px; display:none; align-items:center; gap:6px;
        }
        .login-error.show { display:flex; }

        .login-btn-row { display:flex; gap:10px; margin-top:4px; }
        .login-submit {
            flex:1; font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700;
            letter-spacing:1.5px; text-transform:uppercase; cursor:pointer;
            padding:12px 20px; background:var(--green-main); color:var(--white);
            border:none; box-shadow:0 2px 10px rgba(46,125,50,0.3);
            transition:var(--transition);
        }
        .login-submit:hover { background:var(--green-deep); transform:translateY(-1px); box-shadow:0 4px 16px rgba(26,77,30,0.35); }
        .login-cancel {
            font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700;
            letter-spacing:1.5px; text-transform:uppercase; cursor:pointer;
            padding:12px 18px; background:transparent; color:var(--text-muted);
            border:1px solid var(--border-mid); transition:var(--transition);
        }
        .login-cancel:hover { background:var(--green-faint); color:var(--green-deep); }

        .change-cred-link-wrap {
            text-align: center; margin-top: 5px;
        }
        .change-cred-link {
            font-family: 'Montserrat', sans-serif; font-size: 0.68rem; font-weight: 700;
            color: var(--text-muted); text-decoration: none; letter-spacing: 0.5px;
            transition: color 0.2s; cursor: pointer;
        }
        .change-cred-link:hover { color: var(--green-main); }

        @media(max-width:600px){ .form-row { grid-template-columns:1fr; } }

        .form-group { display:flex; flex-direction:column; gap:6px; }
        .form-group label {
            font-family:'Montserrat',sans-serif; font-size:0.62rem; font-weight:700;
            letter-spacing:2px; text-transform:uppercase; color:var(--green-deep);
        }
        .form-group input,
        .form-group textarea,
        .form-group select {
            padding:10px 14px; border:1px solid var(--border-mid);
            font-family:'Open Sans',sans-serif; font-size:0.9rem; color:var(--text-dark);
            background:var(--white); outline:none; transition:var(--transition);
            resize:vertical;
        }
        .form-group input:focus,
        .form-group textarea:focus { border-color:var(--green-main); box-shadow:0 0 0 2px rgba(46,125,50,0.1); }

        .form-hint { font-size:0.75rem; color:var(--text-muted); margin-top:2px; }

        /* Buttons */
        .btn {
            font-family:'Montserrat',sans-serif; font-size:0.72rem; font-weight:700;
            letter-spacing:1.5px; text-transform:uppercase; cursor:pointer;
            padding:11px 24px; border:none; transition:var(--transition);
            display:inline-flex; align-items:center; gap:6px;
        }
        .btn-primary {
            background:var(--green-main); color:var(--white);
            box-shadow:0 2px 10px rgba(46,125,50,0.3);
        }
        .btn-primary:hover { background:var(--green-deep); box-shadow:0 4px 16px rgba(26,77,30,0.35); transform:translateY(-1px); }
        .btn-danger {
            background:transparent; color:#c62828;
            border:1px solid rgba(198,40,40,0.3); font-size:0.62rem;
        }
        .btn-danger:hover { background:rgba(198,40,40,0.06); border-color:#c62828; }
        .btn-secondary {
            background:transparent; color:var(--green-main);
            border:1px solid var(--border-mid);
        }
        .btn-secondary:hover { background:var(--green-pale); }

        .btn-row { display:flex; gap:12px; flex-wrap:wrap; margin-top:4px; }

        /* Admin delete button on card */
        .post-admin-bar {
            padding:10px 16px; border-top:1px solid var(--border);
            display:none; gap:8px;
        }
        .post-admin-bar.visible { display:flex; }

        /* Toast */
        .toast {
            position:fixed; bottom:30px; right:30px;
            background:var(--green-deep); color:var(--white);
            font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:700;
            letter-spacing:1px; text-transform:uppercase;
            padding:12px 20px; box-shadow:var(--shadow-md);
            z-index:9999; opacity:0; transform:translateY(10px);
            transition:all 0.3s ease; pointer-events:none;
        }
        .toast.show { opacity:1; transform:translateY(0); }

        /* ===== FOOTER STYLING FIXED ===== */
        footer {
            border-top:1px solid var(--border); padding:20px 30px;
            background:var(--white); position:relative;
        }
        footer::before {
            content:''; position:absolute; top:0; left:0; right:0; height:2px;
            background:linear-gradient(90deg, transparent, var(--green-main), transparent);
        }
        .footer-container {
            max-width:1200px; margin:0 auto;
            display:flex; justify-content:space-between; align-items:center; gap:16px;
            flex-wrap:wrap;
        }
        .footer-left { display:flex; flex-direction:column; gap:4px; }
        .footer-copy {
            font-family:'Montserrat',sans-serif; font-size:0.68rem; font-weight:700;
            color:var(--text-muted); letter-spacing:1.5px; text-transform:uppercase;
        }
        .footer-sub {
            font-family:'Montserrat',sans-serif; font-size:0.65rem; font-weight:700;
            color:var(--green-main); letter-spacing:1.2px; text-transform:uppercase;
            border-left:2px solid var(--green-light); padding-left:8px;
        }
        
        
        .footer-logo { 
            height:50px; 
            width:auto; 
            object-fit:contain; 
            mix-blend-mode:multiply; 
            filter: drop-shadow(0 1px 4px rgba(26,77,30,0.1));
        }

        /* ===== PHOTO PICKER ===== */
        .photo-picker { display:flex; flex-direction:column; gap:10px; }

        .photo-tabs {
            display:flex; gap:0; border:1px solid var(--border-mid);
            overflow:hidden; width:fit-content;
        }
        .photo-tab {
            font-family:'Montserrat',sans-serif; font-size:0.62rem; font-weight:700;
            letter-spacing:1.5px; text-transform:uppercase;
            padding:8px 18px; cursor:pointer; border:none; background:var(--green-faint);
            color:var(--text-muted); transition:var(--transition); border-right:1px solid var(--border-mid);
        }
        .photo-tab:last-child { border-right:none; }
        .photo-tab.active { background:var(--green-main); color:#fff; }

        /* File drop zone */
        .photo-drop-zone {
            border:2px dashed var(--border-mid); background:var(--green-mist);
            padding:28px 20px; text-align:center; cursor:pointer;
            transition:var(--transition); position:relative;
        }
        .photo-drop-zone:hover,
        .photo-drop-zone.drag-over {
            border-color:var(--green-main); background:var(--green-pale);
        }
        .photo-drop-zone input[type=file] {
            position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%;
        }
        .photo-drop-icon { font-size:1.8rem; display:block; margin-bottom:8px; }
        .photo-drop-label {
            font-family:'Montserrat',sans-serif; font-size:0.7rem; font-weight:700;
            letter-spacing:1.5px; text-transform:uppercase; color:var(--green-deep);
            display:block; margin-bottom:4px;
        }
        .photo-drop-hint { font-size:0.73rem; color:var(--text-muted); }

        /* URL input row */
        .photo-url-row { display:flex; gap:8px; align-items:stretch; }
        .photo-url-row input {
            flex:1; padding:10px 14px; border:1px solid var(--border-mid);
            font-family:'Open Sans',sans-serif; font-size:0.88rem; color:var(--text-dark);
            outline:none; transition:var(--transition);
        }
        .photo-url-row input:focus { border-color:var(--green-main); box-shadow:0 0 0 2px rgba(46,125,50,0.1); }
        .photo-url-btn {
            font-family:'Montserrat',sans-serif; font-size:0.62rem; font-weight:700;
            letter-spacing:1px; text-transform:uppercase; cursor:pointer;
            padding:0 16px; background:var(--green-main); color:#fff; border:none;
            transition:var(--transition); white-space:nowrap;
        }
        .photo-url-btn:hover { background:var(--green-deep); }

        /* Preview */
        .photo-preview-wrap {
            display:none; position:relative;
            border:1px solid var(--border-mid); background:var(--green-faint); overflow:hidden;
        }
        .photo-preview-wrap.show { display:block; }
        .photo-preview-img {
            width:100%; max-height:220px; object-fit:cover; object-position:top center; display:block;
        }
        .photo-preview-bar {
            display:flex; align-items:center; justify-content:space-between;
            padding:8px 12px; background:rgba(26,77,30,0.06);
            border-top:1px solid var(--border);
        }
        .photo-preview-name {
            font-family:'Montserrat',sans-serif; font-size:0.62rem; font-weight:700;
            color:var(--text-muted); letter-spacing:0.5px; overflow:hidden;
            text-overflow:ellipsis; white-space:nowrap; max-width:260px;
        }
        .photo-remove-btn {
            font-family:'Montserrat',sans-serif; font-size:0.6rem; font-weight:700;
            letter-spacing:1px; text-transform:uppercase; cursor:pointer;
            background:transparent; border:1px solid rgba(198,40,40,0.35);
            color:#c62828; padding:4px 10px; transition:var(--transition); flex-shrink:0;
        }
        @media(max-width:768px){
            .page-hero h1 { font-size:2.2rem; }
            .nav-container { height:auto; padding:14px 0; }
            .posts-grid { grid-template-columns:1fr; }
            .bank-card { padding:16px 18px; }
            .modal-content { padding:20px; }
            .admin-panel { padding:22px; }
            .footer-container { flex-direction:column; text-align:center; }
        }