/* Directori: styles for the dynamic WordPress templates. */

/* Admin bar */
.admin-bar .site-header { top: 32px; }
.admin-bar .mobile-menu { top: 32px; height: calc(100% - 32px); }
@media screen and (max-width: 782px) {
    .admin-bar .site-header { top: 46px; }
    .admin-bar .mobile-menu { top: 46px; height: calc(100% - 46px); }
}
@media screen and (max-width: 600px) {
    .admin-bar .site-header.is-sticky { top: 0; }
}

.dc-skip:focus { position: fixed; top: 10px; left: 10px; z-index: 2000; width: auto; height: auto; padding: 10px 16px; clip: auto; background: #fff; border-radius: 6px; }

/* Website screenshots */
.browser-frame__screen img.dc-img { display: block; }
.browser-frame__screen .dc-initials {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    font-size: clamp(32px, 5vw, 56px);
    font-weight: 800;
    letter-spacing: 0.04em;
    color: var(--color-white);
    background: var(--gradient-orange);
}
.browser-frame__url { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Business name opens the website */
.dc-name-link { color: inherit; }
.dc-name-link:hover { color: var(--color-orange); }
.listing-card .read-more, .listing-row .read-more { margin-top: 12px; }

/* Category photos (never icons) */
.category-card__icon.dc-cat-photo { width: 84px; height: 84px; overflow: hidden; padding: 0; border: 3px solid var(--color-white); }
.category-card__icon.dc-cat-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.dc-thumb { flex-shrink: 0; width: 30px; height: 30px; object-fit: cover; border-radius: 50%; }
.category-pill > span { display: inline-flex; align-items: center; gap: 12px; min-width: 0; }
.dc-count { font-size: 0.85em; font-weight: 500; color: var(--color-muted); }
.dc-cat-list a { gap: 10px; }
.dc-cat-name { display: inline-flex; align-items: center; gap: 10px; min-width: 0; color: inherit !important; }
.widget-list a.is-current { color: var(--color-orange); }
.dc-sitemap-cats a { display: inline-flex; align-items: center; gap: 10px; }

/* Pagination */
.pagination { flex-wrap: wrap; }
.pagination .dc-dots { background: transparent; box-shadow: none; border: 0; }

/* Home: get listed (replaces the form) */
.dc-getlisted h3 { margin-bottom: 12px; font-size: 28px; }
.dc-getlisted .check-list { margin-bottom: 0; }

/* Detail page */
.listing-meta a.badge:hover { opacity: .85; }
.listing-meta a[href="#reviews"] { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.dc-content p:last-child { margin-bottom: 0; }
.dc-video { aspect-ratio: 16 / 9; background: #000; }
.dc-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.dc-review-summary { grid-template-columns: 210px 1fr; }
.dc-reviews { display: grid; gap: 18px; margin-top: 10px; }
.dc-review { padding: 22px 24px; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm, 14px); }
.dc-review__head { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-bottom: 12px; }
.dc-review__head h4 { margin: 0; font-size: 18px; }
.dc-review__head small { color: var(--color-muted); }
.dc-review__head .stars { margin-left: auto; }
.dc-review__avatar { width: 46px; height: 46px; font-size: 16px; }
.dc-review p { margin: 0; }
.gallery-grid img { width: 100%; aspect-ratio: 1; object-fit: cover; }

/* Blog post */
.dc-progress { position: fixed; top: 0; left: 0; z-index: 1200; width: 100%; height: 4px; pointer-events: none; }
.admin-bar .dc-progress { top: 32px; }
@media screen and (max-width: 782px) { .admin-bar .dc-progress { top: 46px; } }
.dc-progress span { display: block; width: 0; height: 100%; background: var(--gradient-orange); }
.dc-post-body > *:first-child { margin-top: 0; }
.dc-post-body img { height: auto; border-radius: var(--radius-sm, 14px); }
.dc-faq { margin-top: 40px; }
.dc-post-nav--single { grid-template-columns: 1fr; }
.post-nav a.dc-next { text-align: right; }
.post-meta span i { margin-right: 4px; }
.dc-page-content { max-width: 100%; }

/* Grid children must be allowed to shrink at phone width */
.layout-sidebar > *, .listing-row > *, .grid > *, .listing-hero__grid > *, .contact-block__grid > * { min-width: 0; }

@media (max-width: 767px) {
    .dc-review-summary { grid-template-columns: 1fr; }
    .dc-review__head .stars { margin-left: 0; }
}
.dc-post-nav--single a:not(.dc-next) { text-align: left; }
