/* Dynamic additions (shared by the BusinessInfoSeek / ProBusinessWorld / TopVoted family) */

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

/* Website screenshots fill the design's cover slot; initials when there is no website or both services fail */
.homz-project-image { position: relative; }
.homz-project-image img.fam-shot { object-fit: cover; object-position: top center; }
.fam-initials {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 3 / 2;
    border-radius: inherit;
    background: linear-gradient(140deg, var(--ink, #111) 0%, #3b4a3b 100%);
    color: #fff;
    font-family: var(--f-display, inherit);
    font-weight: 600;
    font-size: clamp(30px, 3.4vw, 48px);
    letter-spacing: -.03em;
}
.is-mono { display: grid; place-items: center; font-weight: 700; letter-spacing: -.02em; }

/* Business name links keep the heading colour */
.homz-project-panel h3 a, .fam-title a { color: inherit; text-decoration: none; }
.fam-title a:hover { opacity: .85; }

/* Category marquee: small round photos in place of the design's icons */
.ls-marquee .fam-mq-img { width: 34px; height: 34px; flex: none; border-radius: 50%; object-fit: cover; }
.ls-marquee a { display: inline-flex; align-items: center; gap: 10px; }

/* Pagination (the design has none): pill buttons */
.fam-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 48px; }
.fam-pager a, .fam-pager span { display: inline-grid; place-items: center; min-width: 46px; height: 46px; padding: 0 14px; border: 1px solid var(--line, rgba(0,0,0,.15)); border-radius: 999px; color: inherit; text-decoration: none; font-weight: 600; }
.fam-pager .current, .fam-pager a:hover { background: var(--ink, #111); border-color: var(--ink, #111); color: #fff; }

/* Footer: latest articles in place of the newsletter form */
.fam-footer-posts { list-style: none; margin: 10px 0 0; padding: 0; }
.fam-footer-posts li { padding: 10px 0; border-bottom: 1px solid var(--line-dark, rgba(255,255,255,.14)); }
.fam-footer-posts a { display: block; color: inherit; font-weight: 600; line-height: 1.4; text-decoration: none; }
.fam-footer-posts a:hover { opacity: .8; }
.fam-footer-posts span { display: block; margin-top: 3px; font-size: 13px; opacity: .65; }

/* Blog post FAQ (the design's pinvoy accordion) */
.fam-post-faq { margin: 48px 0 16px; }
.fam-post-faq h2 { margin-bottom: 18px; }

/* Content blocks */
.fam-content > :last-child { margin-bottom: 0; }
.fam-content img { max-width: 100%; height: auto; }
.fam-video { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r-card, 16px); overflow: hidden; }
.fam-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fam-stars-off { opacity: .28; }

/* Category photos in sidebars (never icons) */
.fam-side-photo { overflow: hidden; padding: 0 !important; background: none !important; }
.fam-side-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: inherit; display: block; }
.category-single-sidebar__icon.fam-side-photo, .ls-slist__ico.fam-side-photo { width: 34px; height: 34px; flex: none; border-radius: 10px; }

/* How-it-works visuals: a category photo in place of the sample UI mock-ups */
.fam-step-visual { overflow: hidden; border-radius: var(--r-card, 18px); min-height: 260px; }
.fam-step-visual img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; display: block; }

/* Detail page: website screenshot as the lead image, initials logo */
.fam-dlead { position: relative; overflow: hidden; border-radius: var(--r-card, 18px); }
.fam-dlead img.fam-shot, .tv-hero__media img.fam-shot { width: 100%; aspect-ratio: 16 / 10; height: auto; object-fit: cover; object-position: top center; display: block; }
.fam-dlead .fam-initials { aspect-ratio: 16 / 10; }
.fam-logo { display: grid; place-items: center; min-width: 64px; min-height: 64px; font-weight: 700; font-size: 22px; background: var(--ink, #111); color: #fff; border-radius: 14px; }
.fam-review-summary { grid-template-columns: 1fr; }
.fam-social-text { display: flex; flex-wrap: wrap; gap: 8px; }
.fam-social-text a { width: auto !important; padding: 6px 14px; border-radius: 999px; font-size: 14px; }

/* Privacy policy / default page */
.fam-legal { padding-block: 64px 96px; }
.fam-legal__wrap { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 48px; align-items: start; }
.fam-legal__updated { grid-column: 1 / -1; margin: 0; opacity: .7; }
.fam-legal__toc { position: sticky; top: calc(var(--header-h, 80px) + 20px); }
.fam-legal__toc ol { margin: 12px 0 0; padding-left: 18px; display: grid; gap: 8px; }
.fam-legal__toc a { color: inherit; }
.fam-legal__body h2 { margin: 36px 0 12px; font-size: clamp(22px, 2.4vw, 28px); }
.fam-legal__body h2:first-child { margin-top: 0; }
.fam-legal__body h3 { margin: 22px 0 8px; font-size: 18px; }
.fam-legal__body p, .fam-legal__body li { line-height: 1.7; }
.fam-legal__body ul { padding-left: 20px; }
@media (max-width: 860px) { .fam-legal__wrap { grid-template-columns: 1fr; } .fam-legal__toc { position: static; } }

/* Home category rail: the photo is always visible (the icon chip it replaced is gone) */
.featured-category-card .bis-svccard__media { opacity: 1; }
.ls-ccard .featured-category-card__image { opacity: 1; }
.ls-ccard .featured-category-card__image::after { background: linear-gradient(180deg, rgba(0, 0, 0, .66) 0%, rgba(0, 0, 0, .28) 55%, rgba(0, 0, 0, .5) 100%); }
.fam-dcard .theme-btn svg { width: 18px; height: 18px; flex: none; }
.single-listing-reference-contact-icon svg { width: 20px; height: 20px; }
