.tbe-local-pages {
    --tbe-lpr-bg: #f6f8fb;
    --tbe-lpr-card: #ffffff;
    --tbe-lpr-text: #13243d;
    --tbe-lpr-muted: #40516a;
    --tbe-lpr-border: #d8e0ec;
    --tbe-lpr-accent: #d6a21e;
    --tbe-lpr-accent-soft: #fff6d8;
    --tbe-lpr-shadow: 0 10px 28px rgba(19, 36, 61, 0.09);
    box-sizing: border-box;
    max-width: 760px;
    margin: 0 auto;
    padding: clamp(1rem, 3vw, 1.5rem);
    border-radius: 18px;
    background: var(--tbe-lpr-bg);
    color: var(--tbe-lpr-text);
}

.tbe-local-pages--dark {
    --tbe-lpr-bg: #0c1728;
    --tbe-lpr-card: #12233a;
    --tbe-lpr-text: #f6f8fc;
    --tbe-lpr-muted: #b5c0d0;
    --tbe-lpr-border: #314864;
    --tbe-lpr-accent: #f3bd3e;
    --tbe-lpr-accent-soft: #25324a;
    --tbe-lpr-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

.tbe-local-pages *,
.tbe-local-pages *::before,
.tbe-local-pages *::after { box-sizing: border-box; }
.tbe-local-pages__header { margin-bottom: 1rem; }
.tbe-local-pages__eyebrow { color: var(--tbe-lpr-accent); font-size: .76rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.tbe-local-pages__title { margin: .2rem 0 .35rem; color: var(--tbe-lpr-text); font-size: clamp(1.45rem, 5vw, 2rem); line-height: 1.1; }
.tbe-local-pages__intro { margin: 0; color: var(--tbe-lpr-muted); font-size: .96rem; line-height: 1.5; }
.tbe-local-pages__list { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.tbe-local-pages__link { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 78px; padding: .9rem 1rem; border: 1px solid var(--tbe-lpr-border); border-radius: 14px; background: var(--tbe-lpr-card); box-shadow: var(--tbe-lpr-shadow); color: var(--tbe-lpr-text); text-decoration: none; transition: transform .15s ease, border-color .15s ease; }
.tbe-local-pages__item.is-closest .tbe-local-pages__link { border-color: color-mix(in srgb, var(--tbe-lpr-accent) 58%, var(--tbe-lpr-border)); }
.tbe-local-pages__link:hover,
.tbe-local-pages__link:focus-visible { border-color: var(--tbe-lpr-accent); color: var(--tbe-lpr-text); text-decoration: none; transform: translateY(-1px); }
.tbe-local-pages__content,
.tbe-local-pages__prefix,
.tbe-local-pages__label { display: block; }
.tbe-local-pages__prefix { color: var(--tbe-lpr-muted); font-size: .76rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.tbe-local-pages__nearest { display: inline-flex; margin-bottom: .35rem; padding: .2rem .48rem; border-radius: 999px; background: var(--tbe-lpr-accent-soft); color: var(--tbe-lpr-text); font-size: .7rem; font-weight: 800; letter-spacing: .035em; line-height: 1.2; text-transform: uppercase; }
.tbe-local-pages__label { margin-top: .15rem; font-size: 1.16rem; font-weight: 800; line-height: 1.2; }
.tbe-local-pages__arrow { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--tbe-lpr-accent-soft); color: var(--tbe-lpr-text); font-size: 1.1rem; }
.tbe-local-output-slot { margin: 1rem 0; color: var(--tbe-lpr-text); }

@media (max-width: 480px) {
    .tbe-local-pages { border-radius: 12px; }
    .tbe-local-pages__link { min-height: 70px; padding: .8rem .9rem; }
}

/* TBE-owned Local Destination presentation. Light and dark share this markup. */
.tbe-local-destination {
    --tbe-local-bg: #f4f7fb;
    --tbe-local-surface: #ffffff;
    --tbe-local-surface-strong: #eef3fa;
    --tbe-local-text: #12223a;
    --tbe-local-muted: #3f5068;
    --tbe-local-border: #d8e0eb;
    --tbe-local-accent: #d6a21e;
    --tbe-local-accent-strong: #b57d00;
    --tbe-local-accent-soft: #fff4cf;
    --tbe-local-action: #111b31;
    --tbe-local-action-text: #ffffff;
    --tbe-local-specials: #1f7a45;
    --tbe-local-events: #245ea8;
    --tbe-local-premium-action-text: #ffffff;
    --tbe-local-shadow: 0 12px 34px rgba(20, 39, 68, .10);
    --tbe-local-hero-overlay: linear-gradient(135deg, rgba(15, 33, 57, .96), rgba(31, 55, 87, .88));
    box-sizing: border-box;
    width: min(1120px, 100%);
    margin: 0 auto;
    padding: clamp(.85rem, 2.5vw, 1.6rem);
    border-radius: 20px;
    background: var(--tbe-local-bg);
    color: var(--tbe-local-text);
    font-family: inherit;
}

.tbe-local-destination--dark {
    --tbe-local-bg: #091321;
    --tbe-local-surface: #111f33;
    --tbe-local-surface-strong: #172a43;
    --tbe-local-text: #f5f7fb;
    --tbe-local-muted: #b8c4d4;
    --tbe-local-border: #304762;
    --tbe-local-accent: #f3bd3e;
    --tbe-local-accent-strong: #ffd46d;
    --tbe-local-accent-soft: #2b3141;
    --tbe-local-action: #f3bd3e;
    --tbe-local-action-text: #0b1626;
    --tbe-local-specials: #2f9a60;
    --tbe-local-events: #397fd0;
    --tbe-local-premium-action-text: #ffffff;
    --tbe-local-shadow: 0 14px 38px rgba(0, 0, 0, .34);
    --tbe-local-hero-overlay: linear-gradient(135deg, rgba(4, 13, 26, .98), rgba(15, 35, 58, .93));
}

/* The managed Specials/Event destinations consume the same card renderer but
 * retain their own page shell. Give those cards the same scoped light-theme
 * tokens without turning the two outputs into separate renderers. */
.tbe-specials-destination {
    --tbe-local-surface: #ffffff;
    --tbe-local-surface-strong: #eef3fa;
    --tbe-local-text: #12223a;
    --tbe-local-muted: #3f5068;
    --tbe-local-border: #d8e0eb;
    --tbe-local-accent: #d6a21e;
    --tbe-local-accent-strong: #b57d00;
    --tbe-local-accent-soft: #fff4cf;
    --tbe-local-action: #111b31;
    --tbe-local-action-text: #ffffff;
    --tbe-local-specials: #1f7a45;
    --tbe-local-events: #245ea8;
    --tbe-local-premium-action-text: #ffffff;
    --tbe-local-shadow: 0 12px 34px rgba(20, 39, 68, .10);
}

.tbe-specials-destination--dark {
    --tbe-local-surface: #111f33;
    --tbe-local-surface-strong: #172a43;
    --tbe-local-text: #f5f7fb;
    --tbe-local-muted: #b8c4d4;
    --tbe-local-border: #304762;
    --tbe-local-accent: #f3bd3e;
    --tbe-local-accent-strong: #ffd46d;
    --tbe-local-accent-soft: #2b3141;
    --tbe-local-action: #f3bd3e;
    --tbe-local-action-text: #0b1626;
}

.tbe-local-destination *,
.tbe-local-destination *::before,
.tbe-local-destination *::after { box-sizing: border-box; }

.tbe-local-destination :where(h1, h2, h3, p) { color: inherit; }

.tbe-local-destination__hero {
    position: relative;
    overflow: hidden;
    padding: clamp(1.35rem, 5vw, 3rem);
    border-radius: 18px;
    background: var(--tbe-local-hero-overlay), radial-gradient(circle at 85% 20%, rgba(214, 162, 30, .32), transparent 42%);
    color: #fff;
    box-shadow: var(--tbe-local-shadow);
}

.tbe-local-destination__eyebrow,
.tbe-local-section__kicker {
    display: block;
    color: var(--tbe-local-accent);
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.tbe-local-destination__title {
    max-width: 780px;
    margin: .35rem 0 .55rem;
    color: #fff !important;
    font-size: clamp(2rem, 7vw, 4rem);
    font-weight: 900;
    letter-spacing: -.035em;
    line-height: .98;
}

.tbe-local-destination__intro {
    max-width: 660px;
    margin: 0;
    color: rgba(255, 255, 255, .88) !important;
    font-size: clamp(.96rem, 2.2vw, 1.12rem);
    line-height: 1.55;
}

.tbe-local-destination__radius {
    display: inline-flex;
    margin-top: 1rem;
    padding: .4rem .7rem;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 999px;
    background: rgba(0, 0, 0, .17);
    color: rgba(255, 255, 255, .88);
    font-size: .76rem;
    font-weight: 700;
}

.tbe-local-section { margin-top: clamp(1.2rem, 4vw, 2.2rem); }

.tbe-local-section__heading-row {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .75rem;
}

.tbe-local-section__heading-row h2,
.tbe-local-nearby h2 {
    margin: .15rem 0 0;
    color: var(--tbe-local-text) !important;
    font-size: clamp(1.3rem, 4vw, 1.8rem);
    font-weight: 900;
    line-height: 1.12;
}

.tbe-local-section__count,
.tbe-local-section__swipe-hint {
    flex: 0 0 auto;
    color: var(--tbe-local-muted);
    font-size: .78rem;
    font-weight: 750;
}

.tbe-local-section__swipe-hint::after { content: " →"; }

.tbe-local-featured-nav { display: none; gap: .45rem; }
.tbe-local-featured-nav[hidden] { display: none !important; }

.tbe-local-featured-nav__button {
    display: grid;
    width: 40px;
    height: 40px;
    padding: 0;
    place-items: center;
    border: 1px solid var(--tbe-local-border);
    border-radius: 50%;
    background: var(--tbe-local-surface);
    color: var(--tbe-local-text);
    box-shadow: 0 5px 16px rgba(20, 39, 68, .10);
    cursor: pointer;
    font: inherit;
    font-size: 1.05rem;
}

.tbe-local-featured-nav__button:hover,
.tbe-local-featured-nav__button:focus-visible {
    border-color: var(--tbe-local-accent);
    color: var(--tbe-local-accent-strong);
}

.tbe-local-featured-nav__button:disabled {
    opacity: .38;
    cursor: default;
}

.tbe-local-spotlight-track { display: block; }

.tbe-local-featured-track {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    gap: .9rem;
    overflow-x: auto;
    padding: 2px 2px .7rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: var(--tbe-local-accent) transparent;
    overscroll-behavior-inline: contain;
}

.tbe-local-featured-track { grid-auto-columns: min(82vw, 330px); }

.tbe-local-card {
    --tbe-card-active-text: var(--tbe-card-config-text, var(--tbe-local-text, #12223a));
    --tbe-card-active-secondary: var(--tbe-card-config-secondary, var(--tbe-local-muted, #34455d));
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--tbe-local-border);
    border-radius: 15px;
    background: var(--tbe-local-surface);
    color: var(--tbe-card-active-text);
    font-size: var(--tbe-card-body-size, 15px);
    box-shadow: var(--tbe-local-shadow);
}

.tbe-local-destination--dark .tbe-local-card,
.tbe-specials-destination--dark .tbe-local-card {
    --tbe-card-active-text: var(--tbe-local-text);
    --tbe-card-active-secondary: var(--tbe-local-muted);
}

.tbe-local-card--spotlight,
.tbe-local-card--featured { scroll-snap-align: start; }

.tbe-local-card--spotlight {
    border: 2px solid var(--tbe-local-accent);
    box-shadow: 0 16px 36px rgba(10, 22, 40, .18), 0 0 0 1px rgba(225, 166, 35, .12);
}

.tbe-local-card--normal,
.tbe-local-card--featured {
    display: block;
    overflow: visible;
}

.tbe-local-card--featured {
    border-color: color-mix(in srgb, var(--tbe-local-accent) 68%, var(--tbe-local-border));
    background: color-mix(in srgb, var(--tbe-local-surface) 88%, var(--tbe-local-accent-soft));
    box-shadow: 0 12px 28px rgba(93, 64, 0, .14);
}

.tbe-local-card__media-column { min-width: 0; }

.tbe-local-card--normal .tbe-local-card__media-column,
.tbe-local-card--featured .tbe-local-card__media-column {
    float: left;
    width: calc(var(--tbe-card-image-size, 112px) + 1.1rem);
}

.tbe-local-card__media {
    position: relative;
    display: block;
    overflow: hidden;
    min-height: 100%;
    margin: .55rem;
    border-radius: 12px;
    background: var(--tbe-local-surface-strong);
    color: var(--tbe-local-text);
    text-decoration: none;
}

.tbe-local-card--spotlight .tbe-local-card__media { aspect-ratio: 16 / 8.4; }
.tbe-local-card--normal .tbe-local-card__media,
.tbe-local-card--featured .tbe-local-card__media {
    width: var(--tbe-card-image-size, 112px);
    max-width: calc(100% - 1.1rem);
    min-height: 0;
    aspect-ratio: 1 / 1;
    align-self: start;
}

.tbe-local-card__owner-tool {
    display: inline-grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid #7f2d24;
    border-radius: 50%;
    background: #9f3b2f;
    color: #ffffff !important;
    font-size: 1rem;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 3px 8px rgba(91, 27, 22, .2);
}

.tbe-local-card__owner-tool:hover,
.tbe-local-card__owner-tool:focus-visible {
    border-color: #68231d;
    background: #7f2d24;
    color: #ffffff !important;
}

.tbe-local-card__owner-tool svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: currentColor;
}

.tbe-local-card__save-control { position: relative; min-width: 0; }

.tbe-local-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    transition: transform .22s ease;
}

.tbe-local-card:hover .tbe-local-card__media img { transform: scale(1.025); }

.tbe-local-card__placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    min-height: 120px;
    place-items: center;
    background: linear-gradient(145deg, var(--tbe-local-surface-strong), var(--tbe-local-accent-soft));
    color: var(--tbe-local-accent-strong);
    font-size: 1.2rem;
    font-weight: 950;
    letter-spacing: .1em;
}

.tbe-local-card__promotion {
    position: absolute;
    top: .65rem;
    left: .65rem;
    padding: .32rem .58rem;
    border-radius: 999px;
    background: linear-gradient(135deg, #ffd873, #e7aa21);
    color: #0b1728;
    font-size: .66rem;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .22);
}

.tbe-local-card__body { min-width: 0; padding: .82rem; }
.tbe-local-card--spotlight .tbe-local-card__body { padding: 1rem; }

.tbe-local-card__title-row {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: .6rem;
}

.tbe-local-card__title-row h3 {
    min-width: 0;
    margin: 0;
    color: var(--tbe-card-active-text) !important;
    font-size: 1.06rem;
    font-weight: 900;
    line-height: 1.17;
}

.tbe-local-card--spotlight .tbe-local-card__title-row h3 { font-size: clamp(1.25rem, 4vw, 1.65rem); }

.tbe-local-card__title-row a {
    color: inherit;
    text-decoration: none;
}

.tbe-local-card__title-row a:hover,
.tbe-local-card__title-row a:focus-visible { color: var(--tbe-local-accent-strong); }

.tbe-local-card__distance {
    flex: 0 0 auto;
    color: var(--tbe-card-active-secondary);
    font-size: var(--tbe-card-secondary-size, 13px);
    font-weight: 850;
    white-space: nowrap;
}

.tbe-local-card__rating {
    display: flex;
    align-items: center;
    gap: .28rem;
    margin-top: .42rem;
    color: var(--tbe-local-accent-strong);
    font-size: max(.82rem, var(--tbe-card-secondary-size, 13px));
    line-height: 1;
}

.tbe-local-card__rating strong { color: var(--tbe-card-active-text); }
.tbe-local-card__rating small { color: var(--tbe-card-active-secondary); font-size: var(--tbe-card-secondary-size, 13px); }

.tbe-local-card__verdict-icon {
    display: inline-block;
    flex: 0 0 19px;
    width: 19px;
    height: 19px;
    margin-right: .08rem;
    background: url("/wp-content/uploads/2026/04/scales-icon.png") center / contain no-repeat;
    filter: drop-shadow(0 0 1px rgba(255, 255, 255, .9));
}

.tbe-local-card__tagline {
    margin: .45rem 0 0;
    color: var(--tbe-local-accent-strong) !important;
    font-size: .86rem;
    font-weight: 750;
    line-height: 1.35;
}

.tbe-local-card__location,
.tbe-local-card__description {
    margin: .4rem 0 0;
    color: var(--tbe-card-active-secondary) !important;
    font-size: var(--tbe-card-body-size, 15px);
    line-height: 1.42;
}

.tbe-local-card__description {
    color: var(--tbe-card-active-text) !important;
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.tbe-local-card__intent-lines {
    display: grid;
    gap: .3rem;
    margin-top: .62rem;
    padding-top: .55rem;
    border-top: 1px solid var(--tbe-local-border);
    color: var(--tbe-card-active-text);
    font-size: var(--tbe-card-body-size, 15px);
    line-height: 1.4;
}

.tbe-local-card--normal .tbe-local-card__intent-lines,
.tbe-local-card--featured .tbe-local-card__intent-lines {
    display: block;
}

.tbe-local-card--normal .tbe-local-card__intent-lines p + p,
.tbe-local-card--featured .tbe-local-card__intent-lines p + p {
    margin-top: .3rem;
}

.tbe-local-card__intent-lines p { margin: 0; }
.tbe-local-card__intent-lines strong { color: var(--tbe-card-active-text); }
.tbe-local-card__intent-lines span { color: var(--tbe-card-active-text); }
.tbe-local-card__intent-more {
    color: var(--tbe-local-accent-strong) !important;
    font-size: .7rem;
    font-weight: 850;
}

.tbe-local-card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: .3rem;
    margin-top: .48rem;
}

.tbe-local-card__tags span {
    max-width: 100%;
    overflow: hidden;
    padding: .25rem .48rem;
    border-radius: 999px;
    background: var(--tbe-local-surface-strong);
    color: var(--tbe-card-active-text);
    font-size: var(--tbe-card-secondary-size, 13px);
    line-height: 1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.tbe-local-card__tags .tbe-local-card__primary-type {
    background: var(--tbe-local-accent-soft);
    font-weight: 800;
}

.tbe-local-card__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .4rem;
    margin-top: .65rem;
}

.tbe-local-card__actions--compact {
    clear: both;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: .48rem;
    margin: .1rem .72rem .72rem;
    padding-top: .65rem;
    border-top: 1px solid var(--tbe-local-border);
}

.tbe-local-card__actions-top,
.tbe-local-card__actions-bottom {
    display: grid;
    gap: .42rem;
    min-width: 0;
}

.tbe-local-card__actions-top { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tbe-local-card__actions--compact.no-save .tbe-local-card__actions-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tbe-local-card__actions-bottom.has-owner-tool { grid-template-columns: 38px minmax(0, 1fr); }
.tbe-local-card__actions-bottom.no-owner-tool { grid-template-columns: minmax(0, 1fr); }

.tbe-local-card__actions a {
    display: inline-flex;
    min-width: 0;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    gap: .3rem;
    padding: .4rem .5rem;
    border: 1px solid var(--tbe-local-border);
    border-radius: 999px;
    color: var(--tbe-card-active-text);
    font-size: max(.75rem, var(--tbe-card-secondary-size, 13px));
    font-weight: 820;
    line-height: 1;
    text-align: center;
    text-decoration: none;
}

.tbe-local-card__actions-top .tbe-local-card__save-control > a,
.tbe-local-card__native-save button,
.tbe-local-card .tbe-local-card__actions-top div.yoyo-wrapper.tbe-local-card__native-save[id^="mylists-"] button.jrButton {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 34px !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .3rem !important;
    margin: 0 !important;
    padding: .4rem .45rem !important;
    border: 1px solid #d9aa36 !important;
    border-radius: 999px !important;
    background: #fff8e5 !important;
    background-color: #fff8e5 !important;
    color: #17243a !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: max(.72rem, var(--tbe-card-secondary-size, 13px)) !important;
    font-weight: 820 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-decoration: none !important;
    opacity: 1 !important;
    filter: none !important;
}

.tbe-local-card__actions-top .tbe-local-card__save-control > a:hover,
.tbe-local-card__actions-top .tbe-local-card__save-control > a:focus-visible,
.tbe-local-card__native-save button:hover,
.tbe-local-card__native-save button:focus-visible,
.tbe-local-card .tbe-local-card__actions-top div.yoyo-wrapper.tbe-local-card__native-save[id^="mylists-"] button.jrButton:hover,
.tbe-local-card .tbe-local-card__actions-top div.yoyo-wrapper.tbe-local-card__native-save[id^="mylists-"] button.jrButton:focus-visible {
    border-color: var(--tbe-local-accent-strong, #b57d00) !important;
    background: #fff1c8 !important;
    background-color: #fff1c8 !important;
    color: #111b31 !important;
}

.tbe-local-card .tbe-local-card__actions-top div.yoyo-wrapper.tbe-local-card__native-save[id^="mylists-"] button.jrButton * {
    background: transparent !important;
    color: #17243a !important;
    fill: currentColor !important;
    opacity: 1 !important;
    filter: none !important;
}

.tbe-local-card__native-save,
.tbe-local-card__native-save > .fwd-relative { width: 100%; }

.tbe-local-card__save-menu {
    position: absolute;
    z-index: 40;
    top: calc(100% + .35rem);
    left: 0;
    width: max(210px, 100%);
    padding: .45rem;
    border: 1px solid var(--tbe-local-border);
    border-radius: 12px;
    background: var(--tbe-local-surface);
    color: var(--tbe-card-active-text);
    box-shadow: 0 14px 32px rgba(15, 28, 48, .22);
}

.tbe-local-card__save-loading {
    display: block;
    padding: .65rem;
    font-size: var(--tbe-card-secondary-size, 13px);
    text-align: center;
}

.tbe-local-card__actions a:hover,
.tbe-local-card__actions a:focus-visible { border-color: var(--tbe-local-accent); color: var(--tbe-local-text); }

.tbe-local-card__actions .tbe-local-card__quick--specials {
    border-color: var(--tbe-local-specials, #1f7a45);
    background: var(--tbe-local-specials, #1f7a45);
    color: var(--tbe-local-premium-action-text, #ffffff);
}

.tbe-local-card__actions .tbe-local-card__quick--events {
    border-color: var(--tbe-local-events, #245ea8);
    background: var(--tbe-local-events, #245ea8);
    color: var(--tbe-local-premium-action-text, #ffffff);
}

.tbe-local-card__actions .tbe-local-card__quick--specials:hover,
.tbe-local-card__actions .tbe-local-card__quick--specials:focus-visible,
.tbe-local-card__actions .tbe-local-card__quick--events:hover,
.tbe-local-card__actions .tbe-local-card__quick--events:focus-visible {
    color: var(--tbe-local-premium-action-text, #ffffff);
    filter: brightness(1.08);
}

.tbe-local-card__actions .tbe-local-card__details {
    grid-column: 1 / -1;
    border-color: var(--tbe-local-action, #111b31);
    background: var(--tbe-local-action, #111b31);
    color: var(--tbe-local-action-text, #ffffff);
}

.tbe-local-card__actions-bottom .tbe-local-card__details {
    grid-column: auto;
    min-height: 40px;
}

.tbe-local-card__actions-bottom .tbe-local-card__owner-tool {
    width: 38px;
    height: 38px;
    padding: 0;
}

.tbe-local-card__actions .tbe-local-card__details:hover,
.tbe-local-card__actions .tbe-local-card__details:focus-visible { color: var(--tbe-local-action-text, #ffffff); filter: brightness(1.06); }

.tbe-local-listings { display: grid; gap: .72rem; }

.tbe-local-pagination {
    margin-top: 1rem;
    color: var(--tbe-local-text);
}

.tbe-local-pagination__full,
.tbe-local-pagination__compact {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .38rem;
}

.tbe-local-pagination__compact { display: none; }

.tbe-local-pagination a,
.tbe-local-pagination__compact > span,
.tbe-local-pagination__number,
.tbe-local-pagination__direction {
    display: inline-flex;
    min-width: 38px;
    min-height: 38px;
    align-items: center;
    justify-content: center;
    padding: .45rem .7rem;
    border: 1px solid var(--tbe-local-border);
    border-radius: 999px;
    background: var(--tbe-local-surface);
    color: var(--tbe-local-text);
    font-size: .78rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
}

.tbe-local-pagination__direction { min-width: 86px; }
.tbe-local-pagination a:hover,
.tbe-local-pagination a:focus-visible { border-color: var(--tbe-local-accent); color: var(--tbe-local-text); }
.tbe-local-pagination .is-current {
    border-color: var(--tbe-local-accent);
    background: var(--tbe-local-accent);
    color: var(--tbe-local-action-text);
}
.tbe-local-pagination [aria-disabled="true"] { opacity: .48; }
.tbe-local-pagination__ellipsis { padding: 0 .15rem; color: var(--tbe-local-muted); }

.tbe-local-empty {
    padding: 1.2rem;
    border: 1px dashed var(--tbe-local-border);
    border-radius: 14px;
    background: var(--tbe-local-surface);
    text-align: center;
}

.tbe-local-empty h3 { margin: 0; font-size: 1.05rem; }
.tbe-local-empty p { margin: .4rem 0 0; color: var(--tbe-local-muted) !important; font-size: .86rem; }

.tbe-local-nearby {
    display: grid;
    gap: .8rem;
    margin-top: clamp(1.3rem, 4vw, 2.4rem);
    padding: 1rem;
    border: 1px solid var(--tbe-local-border);
    border-radius: 16px;
    background: var(--tbe-local-surface);
}

.tbe-local-nearby__links { display: flex; flex-wrap: wrap; gap: .45rem; }

.tbe-local-nearby__links a {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: .45rem;
    padding: .48rem .7rem;
    border: 1px solid var(--tbe-local-border);
    border-radius: 999px;
    background: var(--tbe-local-surface-strong);
    color: var(--tbe-local-text);
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
}

.tbe-local-nearby__links a:hover,
.tbe-local-nearby__links a:focus-visible { border-color: var(--tbe-local-accent); color: var(--tbe-local-text); }

.tbe-local-destination a:focus-visible {
    outline: 3px solid var(--tbe-local-accent);
    outline-offset: 2px;
}

@media (min-width: 620px) {
    .tbe-local-card__actions:not(.tbe-local-card__actions--compact) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .tbe-local-card__actions:not(.tbe-local-card__actions--compact) .tbe-local-card__details { grid-column: auto; }
    .tbe-local-nearby { grid-template-columns: minmax(160px, .55fr) 1fr; align-items: center; }
}

@media (min-width: 783px) {
    .tbe-local-section--featured .tbe-local-section__swipe-hint,
    .tbe-local-section--featured .tbe-local-section__hint { display: none; }
    .tbe-local-featured-nav:not([hidden]) { display: flex; }
}

@media (min-width: 880px) {
    .tbe-local-listings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .tbe-local-card--spotlight { display: grid; grid-template-columns: minmax(300px, 1.1fr) minmax(300px, .9fr); }
    .tbe-local-card--spotlight .tbe-local-card__media { aspect-ratio: auto; min-height: 310px; }
    .tbe-local-card--spotlight .tbe-local-card__body { display: flex; flex-direction: column; justify-content: center; padding: 1.4rem; }
}

@media (max-width: 520px) {
    .tbe-local-destination { padding: .65rem; border-radius: 13px; }
    .tbe-local-destination__hero { border-radius: 13px; }
    .tbe-local-card__body { padding: .72rem; }
    .tbe-local-card__actions a { font-size: max(.72rem, var(--tbe-card-secondary-size, 13px)); }
    .tbe-local-pagination__full { display: none; }
    .tbe-local-pagination__compact { display: flex; justify-content: space-between; }
    .tbe-local-pagination__compact a,
    .tbe-local-pagination__compact span {
        min-width: 72px;
        padding: .45rem .55rem;
    }
    .tbe-local-pagination__compact strong { font-size: .74rem; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
    .tbe-local-card__media img { transition: none; }
}
