/* The Listing Matrix dynamic additions */

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

/* Website screenshots: top of the page, never letterboxed */
.tm-shot img,
.tm-cover img.tm-cover__shot { object-position: top center; }
.homz-project-image.tm-shot { position: relative; overflow: hidden; }

/* Initials fallback when a listing has no website or both screenshot services fail */
.tm-initials {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #111111 0%, #3a3a3a 100%);
    color: #ffffff;
    font-size: clamp(30px, 3.6vw, 52px);
    font-weight: 600;
    letter-spacing: -0.03em;
}
.homz-project-image .tm-initials { z-index: 0; }
.tm-spot__card .tm-initials { font-size: clamp(48px, 7vw, 110px); }
.tm-pcard2__media .tm-initials { font-size: clamp(36px, 4vw, 64px); }
.tm-cover .tm-initials { font-size: clamp(56px, 9vw, 140px); }
/* The design's mono logo chip duplicates the initials tile */
.homz-project-image:has(.tm-initials) .tm-card__logo { display: none; }

/* Business name links keep the heading colour */
.homz-project-panel h3 a,
.tm-listing h1 a,
.ls-photohero h1 a { color: inherit; }
.homz-project-panel h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* The design appends "Top rated" to every rating badge; only the real rating is shown */
body .homz-project-review-badge::after { content: none !important; }

/* Pagination (not in the design) */
.tm-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 44px; }
.tm-pager__btn {
    display: inline-grid;
    place-items: center;
    min-width: 44px;
    height: 44px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: var(--r-sm);
    background: #ffffff;
    color: var(--ink);
    font-weight: 500;
    transition: background-color .2s, color .2s, border-color .2s;
}
.tm-pager__btn:hover,
.tm-pager__btn.is-current { background: var(--ink); border-color: var(--ink); color: #ffffff; }
.tm-pager__dots { display: inline-grid; place-items: center; min-width: 24px; color: var(--muted); }

/* Empty states */
.ls-empty a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

/* Legal / plain page content */
.tm-legal { max-width: 860px; margin-inline: auto; }
.tm-legal h3 { margin: 34px 0 12px; }
.tm-legal ul { margin: 0 0 18px; padding-left: 20px; list-style: disc; }
.tm-legal li { margin-bottom: 6px; }

/* Blog post FAQ */
.renvia-blog-details__main .tm-post-faq { margin: 8px 0 30px; padding: 0; }
.renvia-blog-details__main .tm-post-faq .pinvoy-directory-faq__answer p { font-size: 15.5px; }
.renvia-blog-details__main .tm-post-faq .pinvoy-directory-faq__question { text-align: left; }

/* Post body headings: the design only styles h3 inside articles */
.renvia-blog-details__main h2:not(.ls-sr) { margin: 36px 0 12px; font-size: clamp(1.5rem, 2.2vw, 2rem); line-height: 1.2; letter-spacing: -0.02em; }
.renvia-blog-details__main h4 { margin: 26px 0 10px; font-size: 1.15rem; }
.renvia-blog-details__main img { max-width: 100%; height: auto; }

/* Footer latest articles list */
.tm-footer__posts li { margin-bottom: 10px; }

/* The design stretches the card title link over the whole card; the title now opens the
   business website, so the stretch is removed and the image + "Go to Listing" open the profile */
body .homz-project-panel h3 a.tm-name-link::after { content: none; }
