:root {
    --ink: #292832;
    --muted: #6f6c78;
    --green: #494550;
    --green-deep: #302d36;
    --lime: #d9c8d6;
    --paper: #f7f6f8;
    --line: #e6e3e9;
    --orange: #a47c97
}

body {
    background: var(--paper)
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline-color: #b99bb0
}

.accent-dot {
    color: #9e7591
}

.site-header {
    border-bottom-color: #eae7ed
}

.desktop-nav a:hover,
.mobile-nav a:hover,
.location-link,
.text-link,
.clear-button,
.claim-button,
.profile-sidebar a {
    color: #83617c
}

.hero {
    background: var(--green-deep)
}

.hero-image {
    background: linear-gradient(90deg, rgba(32, 30, 38, .96) 0%, rgba(43, 39, 49, .86) 45%, rgba(45, 40, 48, .34) 100%), url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?w=2000&q=85') center 48%/cover
}

.hero h1 i,
.owner-layout i {
    color: #e6d5e2
}

.eyebrow {
    color: #8e6e86
}

.eyebrow.light {
    color: #e2cedd
}

.eyebrow-line {
    background: #e2cedd
}

.hero-foot button,
.hero-sparkle {
    color: #e2cedd
}

.field:focus-within,
.results-search label:focus-within {
    border-color: #ac8ca5
}

.search-panel,
.feature-card,
.filter-sidebar,
.result-card,
.form-card {
    border-color: #e9e5eb
}

.category-section,
.locations-section {
    background: #fff
}

.category-tile {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 180px;
    padding: 16px;
    border: 0;
    border-radius: 6px;
    background: #494550;
    justify-content: flex-end;
    box-shadow: 0 4px 15px #302d3617
}

.category-tile:hover {
    background: #494550;
    transform: translateY(-4px);
    box-shadow: 0 12px 24px #302d3628
}

.category-tile::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, #24212b40 0%, transparent 35%, #24212bd9 100%)
}

.category-photo {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .35s ease
}

.category-tile:hover .category-photo {
    transform: scale(1.07)
}

.category-name {
    position: relative;
    z-index: 1;
    color: #fff;
    font-size: 14px;
    line-height: 1.35;
    max-width: 100%;
    padding-right: 25px
}

.category-tile .arrow {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 26px;
    height: 26px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #fff;
    color: #292832;
    font-size: 14px
}

.featured-section {
    background: #f7f6f8
}

.feature-type {
    color: #8e6e86
}

.stars {
    color: #9b728c
}

.location-tags button {
    border-color: #e7e0e8;
    color: #795f75
}

.location-tags button:hover {
    background: #f3eef4
}

.location-sticker {
    background: #d9c8d6;
    color: #292832
}

.about-section {
    background: #efecf1
}

.about-layout h2 i {
    color: #8d6e87
}

.about-layout p {
    color: #66616c
}

.contact-section {
    background: #fff;
    padding: 38px 0;
    border-top: 1px solid var(--line)
}

.contact-layout {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px
}

.contact-layout h2 {
    font-size: 22px;
    margin: 7px 0 0
}

.contact-layout p {
    max-width: 440px;
    color: var(--muted);
    line-height: 1.6;
    margin: 0;
    font-size: 13px
}

.owner-section {
    background: #494550
}

.owner-layout p {
    color: #e9e3eb
}

.owner-button {
    color: #292832
}

.owner-button:hover {
    background: #eadce7
}

.site-footer {
    background: #f0eef2
}

.footer-bottom {
    border-top-color: #e1dde5
}

.view-switch {
    background: #ebe8ee
}

.pill {
    background: #f1eaf2;
    color: #775c73
}

.empty-state .empty-icon {
    color: #9a7b93
}

.map-panel {
    background: #e9e7eb
}

.map-business-list {
    position: absolute;
    right: 12px;
    top: 12px;
    width: min(215px, 45%);
    max-height: 220px;
    overflow: auto;
    background: #fff;
    border: 1px solid var(--line);
    box-shadow: 0 3px 14px #302d362a;
    border-radius: 4px;
    padding: 5px
}

.map-business-list button {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    border-bottom: 1px solid var(--line);
    background: #fff;
    color: var(--ink);
    font-size: 11px;
    font-weight: 800;
    padding: 9px
}

.map-business-list button:last-child {
    border-bottom: 0
}

.map-business-list button:hover,
.map-business-list button:focus-visible {
    background: #f3eef4
}

.map-business-list span {
    display: block;
    font-weight: 400;
    color: var(--muted);
    margin-top: 2px
}

.notice {
    background: #f2eef4;
    border-left-color: #a78ca3;
    color: #625367
}

.form-success {
    background: #f0eaf1
}

.toast {
    background: #494550
}

.primary-action:hover,
.header-cta:hover,
.search-button:hover,
.apply-filters:hover {
    background: #756577
}

.secondary-action:hover {
    background: #f3eef4
}

@media(max-width:650px) {
    .hero-image {
        background: linear-gradient(90deg, rgba(32, 30, 38, .95), rgba(43, 39, 49, .76)), url('https://images.unsplash.com/photo-1517248135467-4c7edcad34c4?w=900&q=80') center/cover
    }

    .contact-layout {
        display: block
    }

    .contact-layout p {
        margin-top: 14px
    }
}