/* List2Rank dynamic additions */

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

/* Listing media: the design's small logo tile becomes a full website screenshot */
.listing-card__media.lr-shot { padding: 0; overflow: hidden; background: var(--color-dark); }
.listing-card__media.lr-shot > img { width: 100%; height: 100%; max-height: none; object-fit: cover; object-position: top center; }
.listing-row .listing-card__media.lr-shot { min-height: 200px; height: 100%; border-radius: var(--radius-sm, 14px); }
.listing-card .listing-card__media.lr-shot { height: 220px; }
.listing-card__media.lr-shot .listing-card__badge { z-index: 2; }
.listing-hero__logo.lr-shot { position: relative; padding: 0; overflow: hidden; }
.listing-hero__logo.lr-shot > img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }

/* Initials when a listing has no website or both screenshot services fail */
.lr-initials {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: linear-gradient(140deg, #1b2d00 0%, #191b1d 70%);
    color: #a9de59;
    font-weight: 700;
    font-size: clamp(34px, 4vw, 54px);
    letter-spacing: -0.02em;
}
.listing-card__media.lr-shot { position: relative; }

/* Business name links keep the heading colour */
.listing-card__title a, .text-listing h3 a, .listing-hero__title a { color: inherit; }
.listing-card__title a:hover, .text-listing h3 a:hover { color: var(--color-lime); }
.listing-hero__info .lr-place { display: inline-flex; gap: 6px; align-items: center; color: var(--color-text); }

/* Category photos in the design's icon slots (photos, never icons) */
.lr-photo { overflow: hidden; border-radius: 50%; padding: 0; }
.lr-photo img { width: 100% !important; height: 100% !important; object-fit: cover; }
.category-card__icon.lr-photo { border-radius: var(--radius-sm, 14px); }
.ring__glow img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; }
.icon-row .lr-cat-ico { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(169, 222, 89, .6); transition: transform .35s; }
.icon-row a:hover .lr-cat-ico { transform: scale(1.06); }
.category-pill .lr-pill-thumb { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex: none; margin-right: 2px; }
.category-pill { justify-content: flex-start; }
.category-pill i { margin-left: auto; }

/* Ranking mock-up with a real listing */
a.rank-mock__result { color: inherit; }
.rank-mock__result .lr-mock-shot { position: relative; width: 48px; height: 48px; border-radius: 50%; overflow: hidden; background: var(--color-bg-light); }
.rank-mock__result .lr-mock-shot > img { width: 100%; height: 100%; padding: 0; border-radius: 0; object-fit: cover; object-position: top center; }
.rank-mock__result .lr-initials { font-size: 15px; }

/* Results list spacing + pagination dots */
.lr-results { display: grid; gap: 20px; }
.pagination .lr-dots { display: inline-grid; place-items: center; min-width: 30px; }

/* Reviews: score only when the full review set is not available */
.review-summary.lr-review-single { grid-template-columns: 1fr; }
.review-summary__score .link-arrow { margin-top: 10px; }

/* Post / page content */
.lr-content img, .prose img { max-width: 100%; height: auto; }
.lr-post-faq { margin: 12px 0 28px; }
.lr-post-faq .accordion__btn { text-align: left; }

/* Footer: latest articles in place of the design's demo form */
.lr-footer-posts__list { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 14px; }
.lr-footer-posts__list a { display: grid; gap: 4px; color: inherit; }
.lr-footer-posts__list strong { font-weight: 600; line-height: 1.35; }
.lr-footer-posts__list span { font-size: 13px; opacity: .7; }

/* "By the numbers": the testimonial panel is gone, so leave room for the decorative hill below the cards */
.best { padding-bottom: 300px; }
.best .review-cards { position: relative; z-index: 1; }
@media (max-width: 767px) { .best { padding-bottom: 200px; } .best__hill { height: 200px; } }

/* Real galleries hold large photos: keep the 4 columns from growing past the card */
.gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 575px) { .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
