/* Local Listingz — dynamic additions (live data, blog, admin bar) */

/* Logo (the Local Listingz mascot logo is 3:2) */
.ll-logo{min-width:0}
.ll-logo img{display:block;height:58px;width:auto}
.mobile-panel__brand.ll-logo img{height:70px}
@media(max-width:991px){.ll-logo img{height:48px}}

/* Admin bar offset for the fixed header */
.admin-bar .header-3{top:32px}
@media(max-width:782px){.admin-bar .header-3{top:46px}}
@media(max-width:600px){.admin-bar .header-3{top:0}}

/* Listing image = website screenshot, full frame */
.homz-project-image.ll-shot{position:relative}
.homz-project-image.ll-shot img{object-fit:cover;object-position:top center;padding:0;background:#fff}
.homz-project-image.ll-shot .homz-project-review-badge{z-index:2}
.ll-initials{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(135deg,var(--brand-primary),#123a6b);color:#fff;font-weight:800;font-size:38px;letter-spacing:.02em}
.homz-project-panel h3 a[target]{color:inherit}

/* Detail hero: the screenshot sits in the (enlarged) logo card */
.listing-detail-logo-card.ll-shot-card{width:300px;height:190px;overflow:hidden;padding:0}
.listing-detail-logo-card.ll-shot-card img{width:100%;height:100%;object-fit:cover;object-position:top center;border-radius:0}
.listing-detail-title-row h1 a{color:inherit}
.ll-crumbs{margin-bottom:14px;color:var(--text)}
.ll-crumbs a{color:var(--theme)}
@media(max-width:767px){.listing-detail-logo-card.ll-shot-card{width:100%;max-width:340px;height:200px}}

/* Stars */
.ll-stars{display:inline-flex;gap:2px;color:#ffb400}
.ll-star.is-off{opacity:.25}

/* Category photos everywhere (never icons) */
.ll-side-photo{overflow:hidden;padding:0}
.ll-side-photo img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.featured-category-card__image .ll-initials{aspect-ratio:4/3}

/* Page banner lead */
.ll-banner-lead{color:rgba(255,255,255,.82);max-width:700px;margin-top:16px}
.ll-article-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ll-article-meta span{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;font-size:14px}
.ll-article-meta a{color:inherit}

/* Blog index: two cards per row beside the sidebar */
.ll-bloglayout .ll-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.renvia-news-card__body h3 a{color:inherit}
.renvia-news-card__meta{flex-wrap:wrap}

/* Search results count */
.ll-results-count{margin:0 0 24px;font-weight:700;color:var(--header)}

/* Pager */
.ll-pager{display:flex;flex-wrap:wrap;gap:8px;margin-top:36px;justify-content:center}
.ll-pager .page-numbers{display:grid;place-items:center;min-width:46px;height:46px;padding:0 14px;border-radius:10px;border:1px solid var(--border);background:#fff;color:var(--header);font-weight:700;transition:background-color .2s,color .2s,border-color .2s}
.ll-pager .page-numbers.current,.ll-pager a.page-numbers:hover{background:var(--theme);border-color:var(--theme);color:#fff}
.ll-pager .page-numbers.dots{border:0;background:none}

/* Empty states */
.ll-empty-state{grid-column:1/-1;text-align:center;padding:56px 24px;border:1px dashed var(--border);border-radius:18px;background:var(--soft)}
.ll-empty-state h3{margin:0 0 8px}
.ll-empty-state p{margin:0 0 20px}

/* Blog sidebar search + promo */
.ll-side-search{display:flex;gap:8px}
.ll-side-search input{flex:1;min-width:0;height:48px;padding:0 16px;border:1px solid var(--border);border-radius:10px;background:#fff;font:inherit;font-size:15px}
.ll-side-search input:focus{outline:2px solid var(--theme);outline-offset:1px}
.ll-side-search button{flex:none;width:48px;height:48px;display:grid;place-items:center;border:0;border-radius:10px;background:var(--theme);color:#fff;cursor:pointer}
.ll-promo p{margin:0 0 16px;font-size:15px;line-height:1.6}

/* Post body */
.ll-entry > *:first-child{margin-top:0}
.ll-entry h2{margin:40px 0 12px}
.ll-entry h3{margin:32px 0 10px}
.ll-entry p,.ll-entry ul,.ll-entry ol{margin:0 0 18px}
.ll-entry ul,.ll-entry ol{padding-left:22px}
.ll-entry li{margin-bottom:6px}
.ll-entry a{color:var(--theme);text-decoration:underline;text-underline-offset:3px}
.ll-entry img{max-width:100%;height:auto;border-radius:16px}
.ll-entry blockquote{margin:28px 0;padding:20px 24px;border-left:4px solid var(--theme);background:var(--soft);border-radius:0 16px 16px 0}
.renvia-blog-details__featured{margin-bottom:28px}
.ll-entry--page{max-width:860px;margin:0 auto}

/* Post FAQ (design's pinvoy accordion) */
.ll-post-faq{margin:44px 0 8px;padding:0;background:none}
.ll-post-faq > h3{margin:0 0 16px}
.pinvoy-directory-faq__answer > .ll-faq-a{min-height:0;overflow:hidden;padding:0 24px;opacity:0;transition:opacity .4s,padding .5s ease}
.pinvoy-directory-faq__item.is-open .pinvoy-directory-faq__answer > .ll-faq-a{padding-bottom:24px;opacity:1}
.ll-faq-a p{margin:0 0 10px;font-size:16px;line-height:1.7}
.ll-faq-a p:last-child{margin-bottom:0}

/* Tags + prev/next */
.ll-post-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
.ll-post-tags a{padding:6px 14px;border-radius:999px;background:var(--soft);border:1px solid var(--border);font-size:14px;color:var(--header)}
.ll-post-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:40px}
.ll-post-nav a{display:flex;flex-direction:column;gap:6px;padding:20px 22px;border:1px solid var(--border);border-radius:16px;background:#fff;color:var(--header);transition:border-color .2s,transform .3s}
.ll-post-nav a:hover{border-color:var(--theme);transform:translateY(-2px)}
.ll-post-nav small{font-size:13px;color:var(--theme);font-weight:700}
.ll-post-nav b{font-size:16px;line-height:1.4}
.ll-post-nav__next{text-align:right;grid-column:2}
.ll-post-nav.is-single{grid-template-columns:1fr}
.ll-post-nav.is-single .ll-post-nav__next{grid-column:1}

/* Contact form status */
.ll-form-status{margin:0;font-weight:700;color:var(--theme)}

/* Privacy */
.ll-privacy__section{scroll-margin-top:120px}
.ll-privacy__section h2{margin-top:44px}
.ll-privacy__section:first-child h2{margin-top:0}

@media (max-width:767px){
  .ll-bloglayout .ll-blog-grid{grid-template-columns:1fr}
  .ll-post-nav{grid-template-columns:1fr}
  .ll-post-nav__next{grid-column:1;text-align:left}
}
.listing-detail-title-row h1{flex:1;min-width:0}
