.ig-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.ig-card{min-width:0;border:1px solid #dae3db;border-radius:16px;overflow:hidden;background:#fff;display:flex;flex-direction:column}.ig-cover{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border:0;padding:0;background:#f2f4ef;cursor:pointer}.ig-cover img{width:100%;height:100%;object-fit:contain}.ig-copy{padding:18px;display:flex;flex-direction:column;flex:1}.ig-copy time,.ig-status{font-size:15px;color:#597065}.ig-caption{white-space:pre-line;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;line-height:1.8;overflow-wrap:anywhere}.ig-more{margin-top:auto;padding:12px 0;min-height:44px;background:none;border:0;color:#22553d;text-align:left;cursor:pointer;font:inherit}.ig-dialog{width:min(740px,calc(100% - 24px));max-height:90dvh;padding:22px;border:0;border-radius:18px;box-sizing:border-box;overflow:auto}.ig-dialog::backdrop{background:#0009}.ig-close{display:block;margin-left:auto;min-height:44px;padding:8px 16px;border:1px solid #ccd8ce;background:white;border-radius:8px;cursor:pointer}.ig-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:16px}.ig-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;background:#f2f4ef;display:flex;justify-content:center;align-items:center}.ig-slide img,.ig-slide video{width:100%;max-height:60dvh;object-fit:contain}.ig-full-caption{white-space:pre-wrap;line-height:1.9;overflow-wrap:anywhere}.ig-controls{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.ig-controls button{min-height:44px;padding:8px 12px;border:1px solid #ccd8ce;border-radius:8px;background:white;cursor:pointer}.ig-no-image{padding:20px;line-height:1.8}.ig-card button:focus-visible,.ig-dialog button:focus-visible{outline:3px solid #397758;outline-offset:-3px}@media(max-width:640px){.ig-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ig-copy{padding:12px}.ig-caption{font-size:15px}.ig-more{font-size:14px}.ig-dialog{padding:16px}.ig-copy time{font-size:13px}}

/* Consistent card rhythm, including posts with no caption. */
.ig-grid{align-items:stretch}.ig-card{box-sizing:border-box}.ig-cover{position:relative;overflow:hidden;flex-shrink:0}.ig-copy{gap:10px}.ig-copy time{display:block;margin:0;line-height:1.5}.ig-caption{margin:0;min-height:7.2em}.ig-more{width:100%;line-height:1.5;border-top:1px solid #edf1ec;padding:12px 0 0}.ig-badge{position:absolute;right:10px;top:10px;padding:5px 9px;border-radius:20px;background:#173f30e6;color:white;font-size:13px;line-height:1.4;pointer-events:none}.ig-dialog{overscroll-behavior:contain}.ig-full-caption{font-size:18px}.ig-slide{min-height:180px}.ig-dialog .button{min-height:44px;display:inline-flex;align-items:center}.ig-status{line-height:1.7;margin:12px 0 18px}
@media(max-width:640px){.ig-grid{gap:14px 12px}.ig-copy{gap:8px;padding:12px}.ig-caption{line-height:1.8}.ig-more{min-height:48px}.ig-close{position:sticky;top:0;z-index:2}.ig-controls button{min-height:48px}.ig-badge{right:7px;top:7px;font-size:12px}.ig-dialog{max-height:calc(100dvh - 24px);padding:14px}.ig-full-caption{font-size:16px;line-height:1.85}}
@media(max-width:359px){.ig-grid{grid-template-columns:minmax(0,1fr)}.ig-caption{font-size:16px}}
