.listing-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    margin-bottom: 0.75rem;
    font-size: 0.75rem;
    line-height: 1.4;
}

.listing-breadcrumb__trail {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.listing-breadcrumb__back {
    flex-shrink: 0;
    margin-left: auto;
    font-weight: 600;
    text-decoration: none;
}

.listing-breadcrumb__back:hover {
    text-decoration: underline;
}

.listing-breadcrumb__sep {
    color: rgb(100 116 139);
    font-weight: 600;
}

[data-theme="dark"] .listing-breadcrumb__sep {
    color: rgb(148 163 184);
}

.listing-breadcrumb__label {
    font-weight: 600;
}

.listing-breadcrumb__label--closed {
    text-decoration: line-through;
    opacity: 0.65;
}

.listing-toolbar__row {
    display: flex;
    align-items: stretch;
    gap: 0.75rem;
}

.listing-toolbar__search {
    min-width: 0;
    flex: 1;
    border-radius: 1rem;
    border: 1px solid rgb(226 232 240);
    background: rgb(255 255 255);
    padding: 0.75rem 1rem;
    font-size: 0.875rem;
    color: rgb(15 23 42);
    box-shadow: 0 1px 2px rgb(15 23 42 / 0.04);
}

.listing-toolbar__search:focus {
    outline: none;
    border-color: rgb(30 58 95);
    box-shadow: 0 0 0 3px rgb(30 58 95 / 0.15);
}

[data-theme='dark'] .listing-toolbar__search {
    border-color: rgb(51 65 85);
    background: rgb(15 23 42);
    color: rgb(248 250 252);
}

.listing-toolbar__search-btn {
    flex-shrink: 0;
    white-space: nowrap;
}

.listing-toolbar__filter-btn {
    flex-shrink: 0;
    white-space: nowrap;
}

.listing-toolbar__filter-btn.is-active {
    border-color: rgb(30 58 95 / 0.35);
    background: rgb(238 243 250);
}

[data-theme='dark'] .listing-toolbar__filter-btn.is-active {
    border-color: rgb(91 124 250 / 0.45);
    background: rgb(30 58 95 / 0.35);
}

.listing-sort-panel {
    margin-top: 0.75rem;
    border-radius: 1rem;
    border: 1px solid rgb(226 232 240);
    background: rgb(255 255 255);
    padding: 1rem;
    box-shadow: 0 8px 24px rgb(15 23 42 / 0.06);
}

[data-theme='dark'] .listing-sort-panel {
    border-color: rgb(51 65 85);
    background: rgb(15 23 42);
    box-shadow: 0 8px 24px rgb(0 0 0 / 0.25);
}

.listing-sort-panel__fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.listing-sort-panel__legend {
    margin-bottom: 0.75rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: rgb(15 23 42);
}

[data-theme='dark'] .listing-sort-panel__legend {
    color: rgb(248 250 252);
}

.listing-sort-panel__options {
    display: grid;
    gap: 0.35rem;
    grid-template-columns: repeat(auto-fill, minmax(13.5rem, 1fr));
}

.listing-sort-panel__option {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border-radius: 0.75rem;
    padding: 0.45rem 0.55rem;
    font-size: 0.8125rem;
    color: rgb(51 65 85);
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.listing-sort-panel__option:hover {
    background: rgb(248 250 252);
}

[data-theme='dark'] .listing-sort-panel__option {
    color: rgb(203 213 225);
}

[data-theme='dark'] .listing-sort-panel__option:hover {
    background: rgb(30 41 59);
}

.listing-sort-panel__option input {
    flex-shrink: 0;
}

.listing-sort-panel__circle-input {
    appearance: none;
    -webkit-appearance: none;
    width: 1rem;
    height: 1rem;
    margin: 0;
    border: 1px solid rgb(148 163 184);
    border-radius: 50%;
    background: rgb(255 255 255);
    cursor: pointer;
    display: grid;
    place-content: center;
    transition:
        border-color 0.15s ease,
        background-color 0.15s ease;
}

.listing-sort-panel__circle-input::before {
    content: '';
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    transform: scale(0);
    transition: transform 0.15s ease;
    background: rgb(30 58 95);
}

.listing-sort-panel__circle-input:checked {
    border-color: rgb(30 58 95);
}

.listing-sort-panel__circle-input:checked::before {
    transform: scale(1);
}

.listing-sort-panel__circle-input:focus-visible {
    outline: 2px solid rgb(30 58 95);
    outline-offset: 2px;
}

[data-theme='dark'] .listing-sort-panel__circle-input {
    border-color: rgb(100 116 139);
    background: rgb(15 23 42);
}

[data-theme='dark'] .listing-sort-panel__circle-input::before {
    background: rgb(91 124 250);
}

[data-theme='dark'] .listing-sort-panel__circle-input:checked {
    border-color: rgb(91 124 250);
}

.listing-sort-panel__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 1rem;
}

.listing-header__top {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.listing-page-header {
    border-radius: 1rem;
    padding: 1.25rem;
    border: 1px solid rgb(251 207 232 / 0.95);
    background: #fff;
    box-shadow: 0 8px 24px rgb(201 89 122 / 0.08);
}

.listing-page-header .listing-header__title {
    font-size: clamp(1.25rem, 2.5vw, 1.625rem);
}

.listing-page-header .listing-header__title.listing-banner-heading {
    font-size: clamp(1.2rem, 2.2vw, 1.5rem);
}

.listing-banner-heading {
    margin: 0;
    font-family: 'Playfair Display', Georgia, serif;
    font-style: normal;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.03em;
    color: #9333ea;
}

.listing-banner-heading--rose {
    color: #c9597a;
}

.listing-banner-heading--dark {
    color: rgb(15 23 42);
}

.listing-banner-heading--white {
    color: #fff;
}

.listing-banner-heading--sm {
    font-size: 1.0625rem;
}

.listing-banner-heading--section {
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.listing-banner-heading--md {
    font-size: 1.25rem;
}

.listing-banner-heading--lg {
    font-size: clamp(1.375rem, 2.4vw, 1.625rem);
}

.listing-breadcrumb__back.listing-banner-heading--sm {
    font-size: 1rem;
}

[data-theme='dark'] .listing-banner-heading {
    color: #c4b5fd;
}

[data-theme='dark'] .listing-banner-heading--rose {
    color: rgb(251 182 206);
}

[data-theme='dark'] .listing-banner-heading--dark {
    color: rgb(248 250 252);
}

[data-theme='dark'] .listing-banner-heading--white {
    color: #fff;
}

.listing-breadcrumb__label--closed.listing-banner-heading {
    opacity: 0.65;
    text-decoration: line-through;
}

.listing-page-header .listing-header__title:not(.listing-banner-heading) {
    color: rgb(62 45 52);
}

.listing-page-header .listing-page-header__meta {
    color: rgb(100 116 139);
}

.listing-page-header .listing-page-header__meta-strong {
    font-weight: 600;
    color: rgb(62 45 52);
}

[data-theme='dark'] .listing-page-header {
    border-color: rgb(51 65 85);
    background: rgb(15 23 42);
    box-shadow: 0 8px 24px rgb(0 0 0 / 0.2);
}

[data-theme='dark'] .listing-page-header .listing-header__title,
[data-theme='dark'] .listing-page-header .listing-page-header__meta-strong {
    color: rgb(248 250 252);
}

[data-theme='dark'] .listing-page-header .listing-page-header__meta {
    color: rgb(148 163 184);
}

.listing-article > .listing-header--rose {
    margin: -1rem -1.125rem 0;
    padding: 1rem 1.125rem 1.125rem;
    border-radius: calc(1rem - 1px) calc(1rem - 1px) 0 0;
    border: 1px solid rgb(232 160 180 / 0.55);
    border-top: 0;
    border-right: 0;
    border-left: 0;
    border-bottom: 1px solid rgb(255 255 255 / 0.22);
    background: linear-gradient(165deg, #c9597a 0%, #b85a78 48%, #e8a0b4 100%);
    box-shadow: none;
    color: #fff;
}

.listing-article > .listing-header--rose .listing-header__title {
    color: #fff;
}

.listing-article > .listing-header--rose .listing-header__meta,
.listing-article > .listing-header--rose .listing-header__created {
    color: rgb(255 255 255 / 0.88);
}

.listing-article > .listing-header--rose .listing-header__sep {
    color: rgb(255 255 255 / 0.55);
}

.listing-article > .listing-header--rose .listing-header__distance,
.listing-article > .listing-header--rose .listing-header__status {
    color: #fff;
}

.listing-article > .listing-header--rose .listing-header__avatar {
    background: rgb(255 255 255 / 0.18);
    border: 2px solid rgb(255 255 255 / 0.55);
    color: #fff;
}

.listing-article > .listing-header--rose .listing-header__service-tag {
    border-color: rgb(255 255 255 / 0.45);
    background: rgb(255 255 255 / 0.14);
    color: #fff;
}

.listing-article > .listing-header--rose .listing-header__service-tag--closed {
    border-color: rgb(255 255 255 / 0.3);
    background: rgb(255 255 255 / 0.08);
    color: rgb(255 255 255 / 0.65);
}

.listing-article > .listing-header--rose .listing-owner-menu.user-account-menu .user-account-menu__toggle {
    border-color: rgb(255 255 255 / 0.5);
    background: rgb(255 255 255 / 0.12);
    color: #fff;
}

.listing-article > .listing-header--rose .listing-owner-menu.user-account-menu .user-account-menu__toggle:hover,
.listing-article > .listing-header--rose .listing-owner-menu.user-account-menu .user-account-menu__toggle[aria-expanded='true'] {
    border-color: #fff;
    background: rgb(255 255 255 / 0.22);
    color: #fff;
}

.listing-owner-menu {
    position: relative;
    z-index: 3;
    flex-shrink: 0;
    align-self: flex-start;
    pointer-events: auto;
}

.listing-owner-menu.user-account-menu .user-account-menu__toggle {
    display: inline-flex;
    width: 2.25rem;
    height: 2.25rem;
    max-width: none;
    align-items: center;
    justify-content: center;
    gap: 0;
    padding: 0;
    border: 1px solid rgb(226 232 240);
    border-radius: 9999px;
    background: #fff;
    color: rgb(71 85 105);
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.listing-owner-menu__dots {
    display: block;
    margin-top: -0.35rem;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
}

.listing-owner-menu.user-account-menu .user-account-menu__toggle:hover,
.listing-owner-menu.user-account-menu .user-account-menu__toggle[aria-expanded="true"] {
    border-color: rgb(203 213 225);
    background: rgb(248 250 252);
    color: rgb(30 41 59);
}

.listing-owner-menu.user-account-menu .user-account-menu__dropdown {
    top: calc(100% + 0.4rem);
    right: 0;
    left: auto;
    min-width: 10.5rem;
    padding: 0.25rem 0;
    border-radius: 0.75rem;
}

.listing-owner-menu__form {
    margin: 0;
}

.listing-owner-menu__delete,
.listing-owner-menu__action {
    width: 100%;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
    font: inherit;
}

.listing-owner-menu__pending {
    margin: 0;
    color: rgb(100 116 139);
    cursor: default;
    font-size: 0.875rem;
}

.listing-owner-menu .user-account-menu__item--muted {
    color: rgb(100 116 139);
    font-size: 0.8125rem;
}

[data-theme="dark"] .listing-owner-menu__pending {
    color: rgb(148 163 184);
}

.listing-card .listing-owner-menu,
.listing-article .listing-owner-menu {
    position: relative;
    z-index: 3;
    pointer-events: auto;
}

[data-theme="dark"] .listing-owner-menu.user-account-menu .user-account-menu__toggle {
    border-color: rgb(51 65 85);
    background: rgb(15 23 42);
    color: rgb(148 163 184);
}

[data-theme="dark"] .listing-owner-menu.user-account-menu .user-account-menu__toggle:hover,
[data-theme="dark"] .listing-owner-menu.user-account-menu .user-account-menu__toggle[aria-expanded="true"] {
    border-color: rgb(71 85 105);
    background: rgb(30 41 59);
    color: rgb(226 232 240);
}

.listing-header__avatar {
    display: flex;
    width: 2.5rem;
    height: 2.5rem;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    background: rgb(30 58 95);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.listing-header__content {
    min-width: 0;
    flex: 1;
}

.listing-header__columns {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 0.75rem 1.25rem;
    width: 100%;
}

.listing-header__main {
    min-width: 0;
}

.listing-header__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.375rem;
    flex-shrink: 0;
    width: max-content;
    max-width: 100%;
    text-align: right;
}

.listing-header__services {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    gap: 0.35rem;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
}

.listing-header__services::-webkit-scrollbar {
    display: none;
}

.listing-header__service-tag {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    border-radius: 9999px;
    border: 1px solid rgb(30 58 95 / 0.18);
    background: rgb(238 243 250);
    padding: 0.15rem 0.55rem;
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.35;
    color: rgb(30 58 95);
    white-space: nowrap;
}

.listing-header__service-tag--closed {
    border-color: rgb(226 232 240);
    background: rgb(248 250 252);
    color: rgb(100 116 139);
    text-decoration: line-through;
}

.listing-header__created {
    flex-shrink: 0;
    margin-top: 0.1rem;
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1.3;
    white-space: nowrap;
}

[data-theme='dark'] .listing-header__service-tag {
    border-color: rgb(91 124 250 / 0.35);
    background: rgb(30 58 95 / 0.35);
    color: rgb(191 219 254);
}

[data-theme='dark'] .listing-header__service-tag--closed {
    border-color: rgb(51 65 85);
    background: rgb(15 23 42 / 0.85);
    color: rgb(148 163 184);
}

@media (max-width: 639px) {
    .listing-header__columns {
        grid-template-columns: 1fr;
    }

    .listing-header__aside {
        max-width: none;
        align-items: flex-start;
        text-align: left;
    }

    .listing-header__services {
        justify-content: flex-start;
        flex-wrap: nowrap;
    }
}

.listing-header__title {
    margin: 0;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1.3;
}

.listing-header__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem;
    margin: 0.25rem 0 0;
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.35;
}

.listing-article {
    padding: 1rem 1.125rem;
    overflow: visible;
}

.listing-card {
    position: relative;
    cursor: pointer;
}

.listing-card.listing-item--read,
.listing-article.listing-item--read,
.listing-card.listing-item--read:hover,
.listing-article.listing-item--read:hover {
    border-color: rgb(30 58 95) !important;
    box-shadow:
        inset 0 0 0 2px rgb(30 58 95),
        0 4px 14px rgb(30 58 95 / 0.18) !important;
}

.listing-card--closed.listing-item--read,
.listing-card--closed.listing-item--read:hover {
    border-color: rgb(30 58 95) !important;
    background: rgb(248 250 252);
}

[data-theme="dark"] .listing-card.listing-item--read,
[data-theme="dark"] .listing-article.listing-item--read,
[data-theme="dark"] .listing-card.listing-item--read:hover,
[data-theme="dark"] .listing-article.listing-item--read:hover {
    border-color: rgb(91 124 250) !important;
    box-shadow:
        inset 0 0 0 2px rgb(91 124 250),
        0 4px 14px rgb(30 58 95 / 0.35) !important;
}

[data-theme="dark"] .listing-card--closed.listing-item--read,
[data-theme="dark"] .listing-card--closed.listing-item--read:hover {
    border-color: rgb(91 124 250) !important;
}

.listing-card__link {
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
}

.listing-card__link:focus-visible {
    outline: 2px solid rgb(30 58 95);
    outline-offset: 2px;
}

.listing-card__actions,
.listing-card__actions-right,
.listing-card .btn-primary,
.listing-card .listing-stats,
.listing-card .listing-read-btn,
.listing-card .listing-favorite-btn,
.listing-card .listing-engagement-bar,
.listing-card .listing-card__toolbar-actions {
    position: relative;
    z-index: 2;
    cursor: default;
    pointer-events: auto;
}

.listing-card .listing-card__business-actions,
.listing-article .listing-card__business-actions,
.listing-card .listing-card__owner-actions,
.listing-article .listing-card__owner-actions {
    position: relative;
    z-index: 2;
    pointer-events: auto;
}

.listing-card__business-actions .listing-action-btn__hover-text {
    bottom: calc(100% + 0.4rem);
}

.listing-business-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0 0.75rem;
    font-size: 0.75rem;
    font-weight: 600;
    line-height: 1;
    border-radius: 0.75rem;
    box-sizing: border-box;
    white-space: nowrap;
}

.listing-card__business-actions .btn-secondary.listing-business-btn {
    border-width: 1px;
}

.listing-card__business-actions .btn-primary.listing-business-btn,
.listing-card__owner-actions .btn-primary.listing-business-btn {
    border: 1px solid transparent;
}

.listing-owner-actions__form {
    margin: 0;
}

.listing-owner-btn.listing-owner-btn--danger,
.listing-owner-btn.listing-owner-btn--danger:hover,
.listing-owner-btn.listing-owner-btn--danger:focus-visible {
    border-color: rgb(254 205 211);
    background: rgb(255 241 242);
    color: rgb(225 29 72);
}

[data-theme="dark"] .listing-owner-btn.listing-owner-btn--danger,
[data-theme="dark"] .listing-owner-btn.listing-owner-btn--danger:hover,
[data-theme="dark"] .listing-owner-btn.listing-owner-btn--danger:focus-visible {
    border-color: rgb(190 18 60 / 0.45);
    background: rgb(76 5 25 / 0.35);
    color: rgb(251 113 133);
}

.listing-article .listing-favorite-btn,
.listing-article .listing-read-btn,
.listing-article .listing-card__toolbar-actions {
    position: relative;
    z-index: 2;
    pointer-events: auto;
}

.listing-card__toolbar-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-shrink: 0;
}

.listing-action-btn,
.listing-engagement-stat {
    position: relative;
}

.listing-action-btn__hover-text,
.listing-engagement-stat .listing-action-btn__hover-text {
    position: absolute;
    bottom: calc(100% + 0.4rem);
    left: 50%;
    z-index: 5;
    max-width: 11rem;
    padding: 0.3rem 0.55rem;
    border-radius: 0.5rem;
    background: rgb(15 23 42);
    color: rgb(248 250 252);
    font-size: 0.6875rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(3px);
    transition:
        opacity 0.15s ease,
        transform 0.15s ease,
        visibility 0.15s ease;
}

.listing-action-btn__hover-text::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -4px;
    border: 4px solid transparent;
    border-top-color: rgb(15 23 42);
}

.listing-action-btn:hover .listing-action-btn__hover-text,
.listing-action-btn:focus-visible .listing-action-btn__hover-text,
.listing-engagement-stat:hover .listing-action-btn__hover-text,
.listing-engagement-stat:focus-visible .listing-action-btn__hover-text {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

[data-theme="dark"] .listing-action-btn__hover-text {
    background: rgb(241 245 249);
    color: rgb(15 23 42);
}

[data-theme="dark"] .listing-action-btn__hover-text::after {
    border-top-color: rgb(241 245 249);
}

.listing-read-btn.btn-secondary,
.listing-read-btn.btn-secondary[aria-pressed="false"],
.listing-read-btn.btn-secondary[aria-pressed="true"],
.listing-read-btn.btn-secondary:hover,
.listing-read-btn.btn-secondary:focus-visible,
.listing-business-btn.btn-secondary,
.listing-business-btn.btn-secondary:hover,
.listing-business-btn.btn-secondary:focus-visible {
    border-color: rgb(226 232 240);
    background: rgb(241 245 249);
    color: rgb(71 85 105);
}

[data-theme="dark"] .listing-read-btn.btn-secondary,
[data-theme="dark"] .listing-read-btn.btn-secondary[aria-pressed="false"],
[data-theme="dark"] .listing-read-btn.btn-secondary[aria-pressed="true"],
[data-theme="dark"] .listing-read-btn.btn-secondary:hover,
[data-theme="dark"] .listing-read-btn.btn-secondary:focus-visible,
[data-theme="dark"] .listing-business-btn.btn-secondary,
[data-theme="dark"] .listing-business-btn.btn-secondary:hover,
[data-theme="dark"] .listing-business-btn.btn-secondary:focus-visible {
    border-color: rgb(51 65 85);
    background: rgb(30 41 59);
    color: rgb(203 213 225);
}

.listing-favorite-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    border: 1px solid transparent;
    border-radius: 9999px;
    background: transparent;
    cursor: pointer;
    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        transform 0.15s ease;
}

.listing-favorite-btn:hover,
.listing-favorite-btn:focus-visible {
    background: rgb(241 245 249);
    border-color: rgb(226 232 240);
    transform: translateY(-1px);
}

.listing-favorite-btn--active:hover,
.listing-favorite-btn--active:focus-visible {
    background: rgb(254 249 195);
    border-color: rgb(250 204 21);
}

.listing-favorite-btn__star {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
}

.listing-favorite-btn__star .star-rating__svg {
    display: block;
    width: 100%;
    height: 100%;
    fill: #d1d5db;
    transition: fill 0.15s ease, filter 0.15s ease;
}

.listing-favorite-btn--active .listing-favorite-btn__star .star-rating__svg {
    fill: #facc15;
    filter: drop-shadow(0 1px 0 rgb(234 179 8 / 0.35));
}

[data-theme="dark"] .listing-favorite-btn:hover,
[data-theme="dark"] .listing-favorite-btn:focus-visible {
    background: rgb(30 41 59);
    border-color: rgb(51 65 85);
}

[data-theme="dark"] .listing-favorite-btn--active:hover,
[data-theme="dark"] .listing-favorite-btn--active:focus-visible {
    background: rgb(66 56 14);
    border-color: rgb(202 138 4);
}

[data-theme="dark"] .listing-favorite-btn__star .star-rating__svg {
    fill: #475569;
}

[data-theme="dark"] .listing-favorite-btn--active .listing-favorite-btn__star .star-rating__svg {
    fill: #fde047;
}

.listing-engagement-bar--card {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.listing-engagement-bar--card .listing-stats {
    width: auto;
    flex: 1 1 auto;
}

.listing-stats {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.75rem;
    overflow: visible;
}

.listing-stats__item {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    min-height: 2rem;
    padding: 0 0.45rem;
    border: 0;
    border-radius: 9999px;
    background: transparent;
    color: rgb(100 116 139);
    font-size: 0.8125rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.listing-stats__item:hover,
.listing-stats__item:focus-visible {
    background: rgb(241 245 249);
    color: rgb(30 58 95);
    transform: translateY(-1px);
}

.listing-stats__item--like.listing-stats__item--active,
.listing-stats__item--like.listing-stats__item--active:hover,
.listing-stats__item--like.listing-stats__item--active:focus-visible {
    color: rgb(225 29 72);
}

.listing-stats__item--like.listing-stats__item--active .listing-stats__icon {
    color: rgb(225 29 72);
}

.listing-stats__item--like {
    color: rgb(100 116 139);
}

.listing-stats__item--like:hover,
.listing-stats__item--like:focus-visible {
    color: rgb(100 116 139);
}

.listing-stats__icon {
    font-size: 0.95rem;
    line-height: 1;
    color: rgb(225 29 72);
}

[data-theme="dark"] .listing-stats__item {
    color: rgb(148 163 184);
}

[data-theme="dark"] .listing-stats__item:hover,
[data-theme="dark"] .listing-stats__item:focus-visible {
    background: rgb(30 41 59);
    color: rgb(148 163 184);
}

[data-theme="dark"] .listing-stats__item--like:hover,
[data-theme="dark"] .listing-stats__item--like:focus-visible {
    color: rgb(148 163 184);
}

.listing-card:hover {
    border-color: rgb(203 213 225);
    box-shadow: 0 4px 14px -8px rgb(15 23 42 / 0.25);
}

[data-theme="dark"] .listing-card:hover {
    border-color: rgb(71 85 105);
}

.listing-card--closed {
    opacity: 0.5;
    border-color: rgb(203 213 225);
    background: rgb(248 250 252);
}

.listing-header__status {
    font-weight: 600;
    color: rgb(100 116 139);
}

[data-theme="dark"] .listing-card--closed {
    border-color: rgb(71 85 105);
    background: rgb(30 41 59);
}

[data-theme="dark"] .listing-header__status {
    color: rgb(148 163 184);
}

.listing-page-header__meta {
    line-height: 1.4;
}

/* Logged-in browse: keep list column readable on collage background */
.has-listing-browse-layout .listing-layout {
    width: 100%;
}

.has-listing-browse-layout .listing-main {
    position: relative;
    z-index: 2;
    flex: 1 1 0%;
    min-width: 0;
}

@media (min-width: 640px) {
    .event-summary-widget--ad-browse {
        top: 6.75rem;
    }
}

.has-listing-browse-layout .listing-page-header,
.has-listing-browse-layout #listing-lists,
.has-listing-browse-layout #listing-search-empty {
    position: relative;
    z-index: 1;
}

.listing-pagination {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.75rem 1rem;
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgb(226 232 240);
}

.listing-pagination__control {
    font-size: 0.875rem;
    font-weight: 600;
    color: rgb(37 99 235);
}

.listing-pagination__control:hover {
    text-decoration: underline;
}

.listing-pagination__control--disabled {
    color: rgb(148 163 184);
    cursor: default;
}

.listing-pagination__pages {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.listing-pagination__page {
    display: inline-flex;
    min-width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    color: rgb(51 65 85);
}

.listing-pagination__page:hover {
    background: rgb(241 245 249);
    color: rgb(15 23 42);
}

.listing-pagination__page--current {
    background: rgb(37 99 235);
    color: #fff;
}

[data-theme="dark"] .listing-pagination {
    border-top-color: rgb(51 65 85);
}

[data-theme="dark"] .listing-pagination__control {
    color: rgb(96 165 250);
}

[data-theme="dark"] .listing-pagination__control--disabled {
    color: rgb(100 116 139);
}

[data-theme="dark"] .listing-pagination__page {
    color: rgb(203 213 225);
}

[data-theme="dark"] .listing-pagination__page:hover {
    background: rgb(51 65 85);
    color: rgb(248 250 252);
}

[data-theme="dark"] .listing-pagination__page--current {
    background: rgb(37 99 235);
    color: #fff;
}

.listing-article__body {
    margin-top: 1rem;
    padding-top: 1rem;
}

.listing-card .listing-article__body {
    margin-top: 0;
}

.listing-header__name {
    font-weight: 600;
}

.listing-header__sep {
    color: rgb(148 163 184);
}

.listing-header__distance {
    font-weight: 600;
}

.my-reaction-summary-card {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    border-radius: 0.75rem;
    border: 1px solid rgb(226 232 240);
    background: rgb(248 250 252 / 0.8);
    padding: 0.625rem 0.75rem;
}

[data-theme="dark"] .my-reaction-summary-card {
    border-color: rgb(51 65 85);
    background: rgb(30 41 59 / 0.5);
}

.my-reaction-summary-card__half {
    width: 50%;
    min-width: 0;
}

.my-reaction-summary-card__half--reaction {
    border-right: 1px solid rgb(226 232 240);
    padding-right: 0.5rem;
}

[data-theme="dark"] .my-reaction-summary-card__half--reaction {
    border-right-color: rgb(51 65 85);
}

.my-reaction-summary-card__half--ad {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding-left: 0.5rem;
}

.my-reaction-summary-card__arrow {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border-radius: 0.5rem;
    font-size: 1.125rem;
    font-weight: 600;
    color: #c9597a;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.my-reaction-summary-card__arrow:hover {
    background: rgb(30 58 95 / 0.1);
}

[data-theme="dark"] .my-reaction-summary-card__arrow {
    color: #93b4ff;
}

[data-theme="dark"] .my-reaction-summary-card__arrow:hover {
    background: rgb(147 180 255 / 0.12);
}
