/* KayResidence — professional marketplace skin (peer quality to KayStay, distinct palette). */

[data-site="kayresidence"] {
    --brand-50: #f9faf8;
    --brand-100: #f0f3ee;
    --brand-200: #e1e7de;
    --brand-800: #5e6360;
    --brand-900: #343836;
    --brand-accent: #8a9168;
    --brand-accent-hover: #747a56;
    --kr-accent-soft: rgba(138, 145, 104, 0.1);
    --kr-accent-ring: rgba(138, 145, 104, 0.24);
    --kr-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
    --kr-shadow-md: 0 8px 28px -12px rgba(15, 23, 42, 0.16);
    --kr-shadow-lg: 0 18px 40px -16px rgba(15, 23, 42, 0.18);
}

[data-site="kayresidence"].hub-page,
[data-site="kayresidence"] body.hub-page {
    background: var(--brand-50);
}

/* — Nav — */

[data-site="kayresidence"] .site-nav {
    background: rgba(255, 255, 255, 0.92);
    border-bottom-color: var(--brand-200);
}

[data-site="kayresidence"] .kr-brand .site-nav__wordmark {
    display: none;
}

[data-site="kayresidence"] .site-nav__brand.kr-brand {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    flex-shrink: 0;
}

[data-site="kayresidence"] .site-nav__logo--kayresidence {
    height: 1.75rem;
    width: auto;
    max-width: 11.5rem;
    object-fit: contain;
    display: block;
}

@media (min-width: 768px) {
    [data-site="kayresidence"] .site-nav__logo--kayresidence {
        height: 2rem;
        max-width: 13rem;
    }
}

[data-site="kayresidence"] .site-nav__wordmark {
    font-size: 1.0625rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: var(--brand-900);
}

[data-site="kayresidence"] .site-nav__wordmark-accent {
    color: var(--brand-accent);
}

[data-site="kayresidence"] .site-nav__link {
    letter-spacing: 0.08em;
}

[data-site="kayresidence"] .site-nav__link.is-active {
    color: var(--brand-accent);
}

[data-site="kayresidence"].hub-page {
    --header-search-extra: 0px;
}

@media (max-width: 767px) {
    [data-site="kayresidence"].hub-page {
        --header-search-extra: 3.35rem;
    }
}

[data-site="kayresidence"].hub-page .site-nav-offset {
    padding-top: calc(var(--header-height) + var(--header-search-extra));
}

[data-site="kayresidence"] .site-nav--with-search .site-nav__inner {
    width: 100%;
}

[data-site="kayresidence"] .site-nav--with-search .site-nav__bar {
    flex-wrap: wrap;
    align-items: center;
    height: auto;
    min-height: var(--header-height);
    max-height: none;
    padding: 0.45rem 0;
    gap: 0.5rem 0.75rem;
}

[data-site="kayresidence"] .site-nav--with-search .site-nav__search {
    flex: 1 1 100%;
    order: 3;
    min-width: 0;
    margin: 0;
}

@media (min-width: 768px) {
    [data-site="kayresidence"] .site-nav--with-search .site-nav__bar {
        flex-wrap: nowrap;
        height: var(--header-height);
        min-height: var(--header-height);
        max-height: var(--header-height);
        padding: 0;
    }

    [data-site="kayresidence"] .site-nav--with-search .site-nav__search {
        flex: 1 1 auto;
        order: 0;
        max-width: 36rem;
        margin: 0 0.75rem;
    }

    [data-site="kayresidence"] .site-nav--with-search .site-nav__desktop {
        flex: 0 0 auto;
    }
}

[data-site="kayresidence"] .site-nav--with-search .extended-search-wrap {
    margin: 0;
}

[data-site="kayresidence"] .site-nav--with-search .extended-search {
    box-shadow: var(--kr-shadow-sm);
}

[data-site="kayresidence"] .site-nav--with-search .extended-search__field {
    padding: 0.45rem 0.85rem;
}

[data-site="kayresidence"] .site-nav--with-search .extended-search__label {
    font-size: 9px;
    margin-bottom: 0.1rem;
}

[data-site="kayresidence"] .site-nav--with-search .extended-search__input,
[data-site="kayresidence"] .site-nav--with-search .extended-search__select {
    font-size: 0.8125rem;
    min-height: 1.25rem;
    padding: 0;
}

[data-site="kayresidence"] .site-nav--with-search .extended-search__field--beds,
[data-site="kayresidence"] .site-nav--with-search .extended-search__field--baths {
    min-width: 6.25rem;
}

[data-site="kayresidence"] .site-nav--with-search .extended-search__submit {
    align-self: center;
    margin: 0.3rem;
    min-height: 2.25rem;
    padding: 0.45rem 1rem;
    font-size: 0.8125rem;
}

@media (max-width: 767px) {
    [data-site="kayresidence"] .site-nav--with-search .extended-search-wrap.is-expanded {
        z-index: 120;
    }

    [data-site="kayresidence"] .site-nav--with-search .extended-search__compact {
        padding: 0.65rem 0.85rem;
    }

    [data-site="kayresidence"] .site-nav--with-search .extended-search__compact-main {
        font-size: 0.875rem;
    }

    [data-site="kayresidence"] .site-nav--with-search .extended-search__compact-sub {
        font-size: 0.75rem;
    }
}

[data-site="kayresidence"] .site-nav__link--cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--header-cta-min-height, 36px);
    padding: var(--header-cta-pad-y, 9px) var(--header-cta-pad-x, 16px);
    border-radius: 9999px;
    font-size: var(--header-cta-size, 11px);
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: none;
    color: var(--white) !important;
    background: var(--brand-accent);
    border: 1px solid var(--brand-accent);
    box-shadow: var(--kr-shadow-sm), 0 0 0 2px var(--kr-accent-ring);
    transition: background 0.2s ease, box-shadow 0.2s ease;
}

[data-site="kayresidence"] .site-nav__link--cta:hover {
    background: var(--brand-accent-hover);
    border-color: var(--brand-accent-hover);
    color: var(--white) !important;
}

@media (max-width: 767px) {
    [data-site="kayresidence"] .site-nav__mobile-cta .site-nav__link--cta-mobile {
        flex-shrink: 1;
        min-width: 0;
        font-size: 11px;
        min-height: 36px;
        padding: 8px 12px;
        max-width: 10rem;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* — Hub header — */

[data-site="kayresidence"] .hub-page__section {
    background: linear-gradient(180deg, var(--brand-100) 0%, var(--white) 14rem);
    border-bottom-color: var(--brand-200);
}

[data-site="kayresidence"] .hub-page__header {
    display: block;
    max-width: 42rem;
    margin-bottom: 1.75rem;
}

[data-site="kayresidence"] .hub-page__headline {
    display: block;
    margin-top: 0.75rem;
}

[data-site="kayresidence"] .hub-page__title {
    display: block;
    font-size: clamp(1.625rem, 4vw, 2.375rem);
    line-height: 1.12;
    letter-spacing: -0.03em;
}

[data-site="kayresidence"] .hub-page__subtitle::before {
    content: none;
    display: none;
}

[data-site="kayresidence"] .hub-page__subtitle {
    display: block;
    margin: 0.75rem 0 0;
    font-size: 1rem;
    line-height: 1.55;
    opacity: 1;
    color: var(--brand-800);
    max-width: 36rem;
}

[data-site="kayresidence"] .kr-eyebrow {
    display: inline-block;
    margin: 0;
    padding: 0.3125rem 0.75rem;
    border-radius: 9999px;
    border: 1px solid var(--kr-accent-ring);
    background: var(--kr-accent-soft);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--brand-accent);
}

@media (min-width: 768px) {
    [data-site="kayresidence"] .hub-page__header {
        margin-bottom: 2.25rem;
    }

    [data-site="kayresidence"] .hub-page__subtitle {
        font-size: 1.0625rem;
    }
}

/* — Search — */

[data-site="kayresidence"] .extended-hub__grid-wrap {
    margin-top: 0.75rem;
}

[data-site="kayresidence"] .extended-search {
    border-color: var(--brand-200);
    box-shadow: var(--kr-shadow-md);
}

[data-site="kayresidence"] .extended-search__submit {
    background: var(--brand-accent);
    box-shadow: var(--kr-shadow-sm);
}

[data-site="kayresidence"] .extended-search__submit:hover {
    background: var(--brand-accent-hover);
}

[data-site="kayresidence"] .extended-search__input:focus,
[data-site="kayresidence"] .extended-search__select:focus {
    outline: none;
}

/* — Listing cards — */

[data-site="kayresidence"] .marketplace-card {
    border-color: var(--brand-200);
    box-shadow: var(--kr-shadow-sm);
}

[data-site="kayresidence"] .marketplace-card:hover {
    border-color: rgba(138, 145, 104, 0.35);
    box-shadow: var(--kr-shadow-lg);
}

[data-site="kayresidence"] .marketplace-card__verified,
[data-site="kayresidence"] .marketplace-card__verified-check {
    color: var(--brand-accent);
}

[data-site="kayresidence"] .marketplace-card__photo--skeleton,
[data-site="kayresidence"] .marketplace-skeleton__line {
    background: linear-gradient(
        90deg,
        var(--brand-100) 0%,
        #e8eef5 45%,
        var(--brand-100) 90%
    );
}

[data-site="kayresidence"] .extended-detail__back a:hover {
    color: var(--brand-accent);
}

[data-site="kayresidence"] .extended-trust__item.is-verified .extended-trust__icon {
    color: var(--brand-accent);
}

/* — Host profile — */

[data-site="kayresidence"] .host-profile-page {
    background: var(--brand-50);
}

[data-site="kayresidence"] .host-card,
[data-site="kayresidence"] .host-listing-card {
    border-color: var(--brand-200);
}

[data-site="kayresidence"] .host-stat__value,
[data-site="kayresidence"] .host-badge {
    color: var(--brand-accent);
}

/* — Footer — */

[data-site="kayresidence"] .site-footer {
    background: var(--white);
    border-top: 1px solid var(--brand-200);
}

[data-site="kayresidence"] .site-footer__logo--kayresidence {
    height: 1.625rem;
    width: auto;
    max-width: 11rem;
    object-fit: contain;
}

[data-site="kayresidence"] .site-footer__tagline {
    margin: 0.5rem 0 0;
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--brand-800);
    max-width: 22rem;
}

[data-site="kayresidence"] .site-footer__heading {
    color: var(--brand-900);
}

[data-site="kayresidence"] .site-footer__links a:hover,
[data-site="kayresidence"] .site-footer__legal a:hover {
    color: var(--brand-accent);
}

[data-site="kayresidence"] .site-footer__copy {
    color: var(--brand-800);
}

/* — Host portal (kayresidence.com/host) — */

[data-site="kayresidence"].host-portal .op-card,
[data-site="kayresidence"] .host-portal .op-card {
    border-color: var(--brand-200);
    box-shadow: var(--kr-shadow-sm);
}

[data-site="kayresidence"].host-portal .btn.primary,
[data-site="kayresidence"] .host-portal .btn.primary {
    background: var(--brand-accent);
    border-color: var(--brand-accent);
}

[data-site="kayresidence"].host-portal .btn.primary:hover,
[data-site="kayresidence"] .host-portal .btn.primary:hover {
    background: var(--brand-accent-hover);
    border-color: var(--brand-accent-hover);
}

/* — SEO intro + city nav — */

[data-site="kayresidence"] .kr-seo-intro {
    margin-bottom: 1.5rem;
}

[data-site="kayresidence"] .kr-seo-intro--compact {
    margin-bottom: 1.25rem;
}

[data-site="kayresidence"] .kr-seo-intro__p {
    margin: 0.75rem 0 0;
    max-width: 42rem;
    color: var(--brand-800);
    font-size: 0.9375rem;
    line-height: 1.6;
}

[data-site="kayresidence"] .kr-seo-intro__list {
    margin: 0.75rem 0 0;
    padding-left: 1.125rem;
    color: var(--brand-800);
    font-size: 0.875rem;
    line-height: 1.55;
}

[data-site="kayresidence"] .kr-city-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 0.75rem;
    margin-top: 1rem;
}

[data-site="kayresidence"] .kr-city-nav__link {
    display: inline-flex;
    align-items: center;
    padding: 0.375rem 0.75rem;
    border-radius: 999px;
    border: 1px solid var(--brand-200);
    background: #fff;
    color: var(--brand-900);
    font-size: 0.8125rem;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.15s, color 0.15s, background 0.15s;
}

[data-site="kayresidence"] .kr-city-nav__link:hover,
[data-site="kayresidence"] .kr-city-nav__link.is-active {
    border-color: var(--brand-accent);
    color: var(--brand-accent);
    background: var(--kr-accent-soft);
}
