/* Explore marketplace (/explore). Tokens only; works in light and dark. */
.explore { padding-block: var(--space-8, 2rem); }
.explore__head { text-align: center; max-width: 46rem; margin: 0 auto var(--space-6, 1.5rem); }
.explore__title { font-family: var(--font-heading, inherit); font-size: clamp(1.6rem, 3.2vw, 2.4rem); margin: 0 0 .35rem; }
.explore__lead { color: var(--text-secondary, inherit); margin: 0; }

.explore-tabs { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; margin-bottom: var(--space-5, 1.25rem); }
.explore-tab { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem 1rem; border-radius: 999px;
    border: 1px solid var(--border-default, var(--color-secondary-200)); background: var(--bg-primary, transparent);
    color: inherit; text-decoration: none; font-weight: 500; }
.explore-tab:hover { border-color: var(--bs-primary, var(--color-primary-500)); }
.explore-tab.is-active { background: var(--bs-primary, var(--color-primary-500)); border-color: transparent; color: var(--text-on-primary, #fff); }
.explore a:focus-visible, .explore button:focus-visible, .explore input:focus-visible, .explore select:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--bs-primary, var(--color-primary-500)) 55%, transparent); outline-offset: 2px; }

.explore-search { display: flex; flex-wrap: wrap; gap: .5rem; max-width: 52rem; margin: 0 auto var(--space-6, 1.5rem); }
.explore-search .form-control { border-radius: 999px; padding: .65rem 1.25rem; }
.explore-search__q { flex: 2 1 14rem; }
.explore-search__city { flex: 1 1 10rem; }

.explore-boost { margin-bottom: var(--space-6, 1.5rem); }
.explore-boost__head { display: flex; align-items: center; gap: .75rem; margin-bottom: .75rem; }
.explore-boost__title { font-size: 1.15rem; margin: 0; }
.explore-boost__nav { margin-left: auto; display: flex; align-items: center; gap: .5rem; }
.explore-boost__pos { font-size: .85rem; color: var(--text-secondary, inherit); }
.explore-boost__btn { width: 2.25rem; height: 2.25rem; border-radius: 50%; border: 1px solid var(--border-default, var(--color-secondary-200));
    background: var(--bg-primary, transparent); color: inherit; }
.explore-boost__btn:disabled { opacity: .35; cursor: default; }
.explore-boost__track { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: .25rem; }
.explore-boost__track::-webkit-scrollbar { display: none; }
.explore-boost__slide { flex: 0 0 calc((100% - 2rem) / 3); scroll-snap-align: start; min-width: 0; }
@media (max-width: 991.98px) { .explore-boost__slide { flex-basis: calc((100% - 1rem) / 2); } }
@media (max-width: 575.98px) { .explore-boost__slide { flex-basis: 82%; } }

.explore-card { height: 100%; border-radius: var(--radius-lg, 1rem); overflow: hidden; background: var(--bg-primary, #fff);
    border: 1px solid var(--border-default, var(--color-secondary-200)); }
.explore-card__link { display: block; height: 100%; color: inherit; text-decoration: none; }
.explore-card__media { position: relative; aspect-ratio: 16 / 10; background: var(--bg-secondary, rgba(0,0,0,.05)); }
.explore-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.explore-card__badge { display: inline-block; padding: .15rem .6rem; border-radius: 999px; font-size: .72rem; font-weight: 600; }
.explore-card__badge--sponsored { background: var(--color-accent-100, #fdf0cf); color: var(--color-accent-800, #6b4a00); }
.explore-card__media .explore-card__badge { position: absolute; top: .6rem; left: .6rem; }
.explore-card__body { padding: .9rem 1rem 1.1rem; }
.explore-card__type { font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; color: var(--text-secondary, inherit); }
.explore-card__title { font-family: var(--font-heading, inherit); font-size: 1.1rem; margin: .2rem 0 .3rem; }
.explore-card__meta { margin: 0; font-size: .9rem; color: var(--text-secondary, inherit); }

.explore-results__head { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; margin-bottom: 1rem; }
.explore-results__title { font-size: 1.25rem; margin: 0; }
.explore-results__count { color: var(--text-secondary, inherit); }
.explore-views { margin-left: auto; display: inline-flex; gap: .25rem; padding: .2rem; border-radius: 999px; border: 1px solid var(--border-default, var(--color-secondary-200)); }
.explore-views a { padding: .3rem .85rem; border-radius: 999px; color: inherit; text-decoration: none; font-size: .9rem; }
.explore-views a.is-active { background: var(--bs-primary, var(--color-primary-500)); color: var(--text-on-primary, #fff); }
.explore-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
@media (max-width: 991.98px) { .explore-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 575.98px) { .explore-grid { grid-template-columns: minmax(0, 1fr); } }
.explore-note { margin: .75rem 0 0; font-size: .9rem; color: var(--text-secondary, inherit); }
.explore-empty { text-align: center; padding: 3rem 1rem; color: var(--text-secondary, inherit); }
.explore-map { height: 32rem; border-radius: var(--radius-lg, 1rem); overflow: hidden; border: 1px solid var(--border-default, var(--color-secondary-200)); }
