.ow-listings-feed .section-heading { align-items: end; }
.ow-listing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.ow-listing-card { overflow: hidden; background: #fffdf8; border: 1px solid rgba(36, 55, 22, .18); border-radius: 2px; box-shadow: 0 12px 30px rgba(31, 42, 24, .08); }
.ow-listing-media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #18340d; }
.ow-listing-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.ow-listing-media:hover img { transform: scale(1.025); }
.ow-listing-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: #e7dcae; font: 600 2.4rem/1 Georgia, serif; letter-spacing: .12em; background: linear-gradient(135deg, #102c09, #355521); }
.ow-listing-body { padding: 22px; }
.ow-listing-kicker { display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #776522; font-size: .84rem; letter-spacing: .08em; text-transform: uppercase; }
.ow-listing-kicker strong { color: #17300d; font-size: 1rem; letter-spacing: 0; }
.ow-listing-card h3 { margin: 14px 0 4px; font-size: 1.35rem; line-height: 1.25; }
.ow-listing-card h3 a { color: inherit; text-decoration: none; }
.ow-listing-place, .ow-listing-facts, .ow-listing-date { margin: 6px 0; color: #5b6255; }
.ow-listing-facts { font-weight: 600; color: #303c2a; }
.ow-listing-date { font-size: .9rem; }
.ow-listing-link { display: inline-block; margin-top: 14px; color: #244417; font-weight: 700; }
.ow-feed-status, .ow-listing-empty { grid-column: 1 / -1; padding: 32px; background: #f7f3e8; border: 1px solid rgba(36, 55, 22, .14); text-align: center; }
.ow-listing-empty h3 { margin: 0 0 8px; }
.ow-listing-empty p { margin: 0; }
.ow-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin-top: 20px; }
@media (max-width: 900px) { .ow-listing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .ow-listing-grid { grid-template-columns: 1fr; } .ow-listing-body { padding: 18px; } .ow-listing-kicker { align-items: flex-start; flex-direction: column; gap: 6px; } }
@media (prefers-reduced-motion: reduce) { .ow-listing-media img { transition: none; } }
