/* Local shoutouts: a Facebook-feed-style list of Saturday business posts, each one live for 24h. */
.ads-head { padding-block: clamp(48px, 6vw, 84px) 32px; }
.ads-list { display: grid; gap: 22px; max-width: 640px; padding-bottom: clamp(60px, 8vw, 110px); }
.ads-card { background: var(--paper); color: var(--ink); border-radius: var(--r-card); overflow: hidden; box-shadow: var(--sh-card); }
.ads-photos { display: grid; grid-auto-flow: column; grid-auto-columns: 82%; gap: 4px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ads-photos::-webkit-scrollbar { display: none; }
.ads-photos img { scroll-snap-align: start; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; background: #F6F3F2; }
.ads-body { display: grid; gap: 12px; padding: 20px 22px 22px; }
.ads-text { margin: 0; white-space: pre-line; line-height: 1.55; }
.ads-contact { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.ads-number { color: var(--ink-2); }
.ads-time { color: var(--ink-2); }

.ads-post .wrap { max-width: 640px; padding-block: clamp(48px, 6vw, 84px) 100px; display: grid; gap: 20px; }
.ads-pin-gate { display: grid; gap: 16px; max-width: 320px; }
.ads-pin-reset { justify-self: start; }
.ads-form { display: grid; gap: 18px; }
.ads-thumbs { display: flex; flex-wrap: wrap; gap: 10px; }
.ads-thumbs img { width: 84px; height: 84px; object-fit: cover; border-radius: 12px; }
.ads-phone-detect { margin: 0; font-size: 14px; color: var(--ink-2); }
.ads-status { min-height: 1.4em; font-weight: 600; }
