/* Local Journal dynamic additions */

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

/* Website screenshots: initials when a listing has no website or both screenshot services fail */
.lj-shot { position: relative; }
.lj-shot > img { object-fit: cover; object-position: top center; }
.lj-initials {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 16 / 10;
    background: linear-gradient(140deg, var(--brand-deep, #0F1B2D) 0%, var(--brand, #2A5BD7) 100%);
    color: #fff;
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(2rem, 4vw, 3.4rem);
    letter-spacing: -.03em;
}
.shot .lj-initials { position: absolute; inset: 0; aspect-ratio: auto; }
.site-wall .lj-initials { border-radius: 10px; }

/* Business name links keep the heading colour */
.listing-card h3 a, .lj-title a { color: inherit; text-decoration: none; }
.lst-head h1.lj-title { font-size: clamp(2.4rem, 5.6vw, 5rem); }
.lj-title a:hover { color: var(--brand); }

/* Unfilled stars */
.stars .lj-star-off { opacity: .25; }

/* Services list items link to a search */
.svc-list li a { display: contents; color: inherit; text-decoration: none; }

/* Category sort select in the filter bar */
.lj-sort select { min-width: 190px; }

/* Content blocks */
.lj-content > :last-child { margin-bottom: 0; }
.lj-content img { max-width: 100%; height: auto; }
.lj-review-summary { grid-template-columns: 1fr; }
.lj-video { aspect-ratio: 16 / 9; margin-bottom: 1.5rem; }
.lj-video iframe { width: 100%; height: 100%; border: 0; }
.lj-share { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 1.5rem 0; }
.lj-share span { font-weight: 600; margin-right: .3rem; }

/* Footer: latest articles in place of the newsletter */
.lj-footer-posts { list-style: none; padding: 0; margin: 0 0 1.4rem; }
.lj-footer-posts li { padding: .8rem 0; border-bottom: 1px solid var(--line); }
.lj-footer-posts a { display: block; color: inherit; text-decoration: none; font-weight: 500; line-height: 1.4; }
.lj-footer-posts a:hover { opacity: .8; }
.lj-footer-posts time { display: block; margin-top: .25rem; font-size: .85rem; color: var(--muted); }

/* Blog post FAQ: the design's .acc accordion, + closed / − open */
.lj-post-faq { margin: 3rem 0 1rem; }
.lj-post-faq h2 { margin-bottom: 1rem; }
.lj-post-faq .acc details[open] summary::after { transform: none; background: linear-gradient(#0F1B2D, #0F1B2D) center/12px 1.5px no-repeat, var(--sun); }
.lj-post-faq .acc-body p + p { margin-top: .8rem; }

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