/* Digit Business Listings dynamic additions */

/* WordPress admin bar */
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }

/* Listing images: website screenshots (top of the page), initials when there is none */
.db-shot { position: relative; }
.listing-card__media.db-shot img,
.listing-row__media.db-shot img { object-fit: cover; object-position: top center; }
.listing-row__media.db-shot { min-height: 170px; display: block; }
.db-initials {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: linear-gradient(140deg, var(--ink, #111) 0%, #2f3a2f 100%);
    color: #fff;
    font-weight: 700;
    font-size: clamp(34px, 4vw, 54px);
    letter-spacing: -0.03em;
}
.listing-hero__logo.db-logo-shot { position: relative; padding: 0; overflow: hidden; }
.listing-hero__logo.db-logo-shot img { width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: top center; }
.listing-hero__logo.db-logo-shot .db-initials { font-size: 46px; }

/* Business name links keep the heading colour */
.listing-card h3 a.db-name-link, .listing-row h3 a.db-name-link, #listing-title a { color: inherit; }
#listing-title a:hover { opacity: .85; }

/* Category cards: count line under the name */
.project-card .db-cat-count { display: block; margin-top: 6px; color: var(--cream-light); opacity: .8; font-size: .92rem; }

/* Stars: dim the unfilled ones */
.stars .db-star-off { opacity: .28; }

/* Pagination: previous arrow */
.pagination .db-prev svg { transform: rotate(180deg); }

/* Detail page */
.db-content > :last-child { margin-bottom: 0; }
.db-content img { max-width: 100%; height: auto; }
.db-review-summary { grid-template-columns: 1fr; }
.db-video { aspect-ratio: 16 / 9; }
.db-video iframe { width: 100%; height: 100%; border: 0; }

/* Footer: latest posts in the design's message box */
.db-footer-posts { list-style: none; margin: 0 0 26px; padding: 0; }
.db-footer-posts li { padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .14); }
.db-footer-posts li:first-child { padding-top: 0; }
.db-footer-posts a { display: block; font-weight: 600; line-height: 1.4; color: inherit; }
.db-footer-posts a:hover { opacity: .8; }
.db-footer-posts time { display: block; margin-top: 4px; font-size: .88rem; opacity: .65; }

/* Blog post FAQ: the design's accordion, + closed / − open */
.db-post-faq { margin: 44px 0 10px; }
.db-post-faq h2 { margin-bottom: 20px; }
.db-post-faq .accordion__item.is-open .accordion__sign { transform: none; }
.db-post-faq .accordion__item.is-open .accordion__sign::after { opacity: 0; }
.db-post-faq .accordion__item.is-open .accordion__sign::before { background-color: var(--lime); }
.db-post-faq .accordion__panel p:last-child { margin-bottom: 0; }

/* Default page content */
.db-page-content > :first-child { margin-top: 0; }
