/* Direct Business Listings dynamic additions */

/* WordPress admin bar (header and off-canvas are fixed) */
.admin-bar .site-header { top: 32px; }
.admin-bar .offcanvas__panel { top: 32px; }
@media (max-width: 782px) {
    .admin-bar .site-header { top: 46px; }
    .admin-bar .offcanvas__panel { top: 46px; }
}
@media (max-width: 600px) {
    .admin-bar .site-header.is-sticky { top: 0; }
}

/* Website screenshots and initials fallback */
.dbl-shot { position: relative; background-color: var(--color-bg); }
.dbl-shot > img { object-position: top center; }
.dbl-initials {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #10283a 0%, #0384b0 120%);
    color: #ffffff;
    font-family: var(--font-heading);
    font-size: clamp(30px, 4vw, 52px);
    letter-spacing: 0.04em;
}
.listing-card__media.dbl-shot > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.listing-card__badge { z-index: 1; }
.stack-card__media.dbl-shot img { object-position: top center; }
.video-frame.dbl-shot img { opacity: 1; }
.video-frame__play { z-index: 1; }

/* Single listing hero: screenshot in the logo box */
.listing-hero__logo.dbl-shot { display: block; position: relative; }
.listing-hero__logo.dbl-shot img { object-position: top center; }
.listing-hero h1 a { color: inherit; }
.listing-hero h1 a:hover { color: var(--color-primary-dark); }
.listing-hero__meta a { color: var(--color-star); text-decoration: none; }
.info-table td a { color: var(--color-primary-dark); word-break: break-word; }
.hours-list li.is-today strong,
.hours-list li.is-today span { color: var(--color-primary-dark); font-weight: 600; }

/* Business name links (card titles keep the design colour) */
.listing-card__title a,
.stack-card__title a { color: inherit; }

/* Category cards: listing count under the name */
.category-card__title .dbl-count {
    display: block;
    margin-top: 4px;
    font-family: var(--font-body, inherit);
    font-size: 13px;
    font-weight: 400;
    opacity: 0.8;
}

/* Sidebar listing thumbnails */
.mini-post .dbl-thumb {
    display: block;
    width: 76px;
    height: 76px;
    overflow: hidden;
    border-radius: var(--radius-sm);
}
.mini-post .dbl-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.mini-post .dbl-thumb .dbl-initials { display: grid; margin: 0; font-size: 20px; color: #ffffff; }
.widget .btn { margin-top: 6px; }

/* Reviews from Google */
.dbl-stars { letter-spacing: 2px; color: var(--color-star); }
.review-summary__score .dbl-stars { color: var(--color-star); }
.rating-bar { position: relative; }
.rating-bar::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--w, 0%);
    border-radius: inherit;
    background-color: var(--color-star);
}
.dbl-reviews { display: grid; gap: 16px; margin: 26px 0; }
.dbl-review { padding: 22px 24px; border-radius: 14px; background-color: var(--color-bg); }
.dbl-review__head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.dbl-review__head > div { flex: 1; min-width: 140px; }
.dbl-review__head strong { display: block; color: var(--color-ink); }
.dbl-review__head small { color: var(--color-muted); font-size: 13px; }
.dbl-review__avatar {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: var(--color-primary);
    color: #ffffff;
    font-weight: 700;
}
.dbl-review p { margin: 12px 0 0; }

/* Pagination dots */
.pagination .dbl-dots { border: 0; background: none; }

/* Blog post FAQ inside the article */
.article .dbl-post-faq { margin: 18px 0 30px; }
.article .dbl-post-faq .faq-item__question { text-align: left; }

/* Feed images come from third-party sites */
.news-card__media img { background-color: var(--color-bg); }

/* Share icons inside the article: the article's list styles must not apply */
.article .social-links { margin: 0; padding: 0; list-style: none; }
.article .social-links li { margin: 0; padding: 0; list-style: none; }
.article .social-links li::before,
.article .social-links li::marker { content: none; }
