* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    color: inherit;
    font-size: inherit;
    font-family: inherit;
}

[hidden] {
    display: none !important;
}

.icon-mask {
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-image: var(--icon-url);
    mask-image: var(--icon-url);
}

.underline {
    text-decoration: underline;
}

@supports not selector(::-webkit-scrollbar) {
    * {
        scrollbar-width: thin;
        scrollbar-color: var(--n300) transparent;
    }
}

::-webkit-scrollbar {
    width: 14px;
    height: 14px;
}

::-webkit-scrollbar-track {
    margin: 12px 0;
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: var(--n300);
    background-clip: padding-box;
    border: 4px solid transparent;
    border-radius: 999px;
}

html {
    scrollbar-width: none;
    -ms-overflow-style: none;
    scrollbar-gutter: stable;
}

@font-face {
    font-family: 'Inter';
    src: url("../fonts/inter/Inter-VariableFont_opsz,wght-g67Lfz9.ttf") format('truetype');
    font-weight: 100 900;
    font-style: normal;
}

@font-face {
    font-family: 'Gelica';
    src: url("../fonts/Gelica-400-ewSYCNL.woff2") format('woff2');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Gelica';
    src: url("../fonts/Gelica-500-yH6bdV6.woff2") format('woff2');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Gelica';
    src: url("../fonts/Gelica-600-5l0yt7W.woff2") format('woff2');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Gelica';
    src: url("../fonts/Gelica-700-rCxwJ7l.woff2") format('woff2');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Moderat';
    src: url("../fonts/Moderat-Regular-z_ubL6M.otf") format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Moderat';
    src: url("../fonts/Moderat-Regular-z_ubL6M.otf") format('opentype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Moderat';
    src: url("../fonts/Moderat-Bold-QfrlwU7.otf") format('opentype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Moderat';
    src: url("../fonts/Moderat-Bold-QfrlwU7.otf") format('opentype');
    font-weight: 700;
    font-style: normal;
}

:root {
    --pino: #1E3A2F;
    --tirreno: #1B4A6B;
    --scirocco: #839ED2;
    --calce: #F4EFE6;
    --miele: #F8D784;
    --terracotta: #E17F60;
    --legno: #422424;

    --n0: #FFFFFF;
    --n50: #FAF9F6;
    --n100: #F2F0EB;
    --n200: #E6E3DC;
    --n300: #CFCAC0;
    --n400: #A8A296;
    --n500: #7A7568;
    --n600: #57534A;
    --n700: #3D3A33;
    --n900: #1F1D19;

    --success-bg: #E3EFE8;
    --success-text: #1E5A3F;
    --warning-bg: #FBF0D2;
    --warning-text: #8A6D1F;
    --error-bg: #FBE8E1;
    --error-text: #B04A2C;
    --info-bg: #E4ECF2;
    --info-text: #1B4A6B;
}

a {
    text-decoration: unset;
    color: inherit;
    cursor: pointer;
}

button {
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--n50);
    font-family: 'Moderat' , sans-serif;
    font-weight: 400;
    color: var(--n700);
    /* Moderat turns "1/2" into "½", which garbles dates like 05/11/2026. */
    font-variant-ligatures: none;
    font-feature-settings: 'liga' 0, 'calt' 0, 'frac' 0;
}

.container {
    width: 80%;
    max-width: 1200px;
    margin: auto;
}

.container--narrow {
    width: 90%;
    max-width: 720px;
    margin: auto;
}

.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px;
    flex: 0 0 72px;
    background: var(--n0);
    border-bottom: 1px solid var(--n200);
    padding: 0 32px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
}

/* @Header */

.header__logo {
    height: 29px;
    width: auto;
    display: block;
}

.header__nav {
    display: flex;
    align-items: center;
}

.header__link {
    text-decoration: unset;
    cursor: pointer;
    color: var(--n500);
    padding: 10px 14px;
    border-radius: 999px;
    background-color: transparent;
    white-space: nowrap;
}

.header__link--selected {
    color: var(--pino);
    background-color: var(--calce);
    font-weight: 700;
}

.header__link-icon {
    display: none;
    width: 24px;
    height: 24px;
    background-color: currentColor;
}

.header__link-icon--confirmation_number {
    -webkit-mask-image: url("../images/icons/confirmation_number-Z2Zexad.svg");
    mask-image: url("../images/icons/confirmation_number-Z2Zexad.svg");
}

.header__link-icon--home_work {
    -webkit-mask-image: url("../images/icons/home_work-5Y47ql9.svg");
    mask-image: url("../images/icons/home_work-5Y47ql9.svg");
}

.header__link-icon--calendar_month {
    -webkit-mask-image: url("../images/icons/calendar_month-Y79Uhqp.svg");
    mask-image: url("../images/icons/calendar_month-Y79Uhqp.svg");
}

.header__link-icon--payments {
    -webkit-mask-image: url("../images/icons/payments-mVWv8tE.svg");
    mask-image: url("../images/icons/payments-mVWv8tE.svg");
}

.header__link-icon--forum {
    -webkit-mask-image: url("../images/icons/forum-rpdTZQ2.svg");
    mask-image: url("../images/icons/forum-rpdTZQ2.svg");
}

.header__link-icon--search {
    -webkit-mask-image: url("../images/icons/search--6QKGJO.svg");
    mask-image: url("../images/icons/search--6QKGJO.svg");
}

.header__link-icon--favorite {
    -webkit-mask-image: url("../images/icons/favorite-YDwkdh_.svg");
    mask-image: url("../images/icons/favorite-YDwkdh_.svg");
}

.header__link {
    position: relative;
}

.header__link-dot {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--terracotta);
}

.header__auth {
    display: flex;
    align-items: center;
    gap: 12px;
}

.header__host-cta {
    text-decoration: unset;
    cursor: pointer;
    height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid var(--n300);
    color: var(--pino);
    font-weight: 600;
    white-space: nowrap;
}

.header__avatar {
    text-decoration: unset;
    cursor: pointer;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: var(--calce);
    border: 1px solid var(--n200);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--pino);
    overflow: hidden;
}

.header__avatar-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main {
    flex: 1;
    padding: 102px 0;
}

/* @Hero */

.hero__media {
    position: relative;
    height: 340px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
}

.hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(30, 58, 47, .28), rgba(30, 58, 47, .55));
}

.hero__content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 32px 56px;
}

.hero__title {
    font-family: 'Gelica', Georgia, serif;
    color: var(--n0);
    font-size: 2.9rem;
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 1.1;
    max-width: 760px;
}

.hero__subtitle {
    margin-top: 16px;
    max-width: 580px;
    color: rgba(255, 255, 255, .94);
    font-size: 1rem;
    line-height: 1.5;
}

.searchbar {
    position: relative;
    z-index: 16;
    max-width: 1200px;
    margin: -40px auto 0;
    padding: 0 32px;
}

.searchbar__bar {
    position: relative;
    display: flex;
    align-items: center;
    background: var(--n0);
    border: 1px solid var(--n200);
    border-radius: 999px;
    padding: 8px;
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
}

.searchbar__segment {
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 8px 20px;
    border-radius: 999px;
    text-align: left;
    background: transparent;
}

.searchbar__date-anchor {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    pointer-events: none;
}

.searchbar__segment:focus,
.searchbar__segment:focus-within,
.searchbar__segment--open {
    background: var(--n100);
    outline: none;
}

.searchbar__cta,
.accommodation-card__heart {
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
}

.searchbar__cta:hover,
.searchbar__cta:focus,
.accommodation-card__heart:hover,
.accommodation-card__heart:focus {
    outline: none;
}

.searchbar__label {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--n900);
}

.searchbar__value {
    font-size: 0.9rem;
    color: var(--n500);
}

.searchbar__guests {
    position: relative;
    flex: 1;
    margin-right: 4px;
    display: flex;
}

.searchbar__divider {
    width: 1px;
    height: 32px;
    margin: 0 4px;
    background: var(--n200);
}

.searchbar__cta {
    flex: 0 0 auto;
    height: 52px;
    padding: 0 28px;
    border-radius: 999px;
    background: var(--pino);
    color: var(--calce);
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: filter 120ms ease;
}

.searchbar__cta:hover {
    filter: brightness(1.1);
}

.searchbar__cta-icon {
    display: block;
    width: 18px;
    height: 18px;
}

.trust-list {
    display: flex;
    gap: 28px;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 28px;
    padding: 0 32px;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--n600);
}

.trust-item__icon {
    display: block;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    background-color: var(--n900);
}

.trust-item__icon--sell { -webkit-mask-image: url("../images/icons/sell-v6PbGgE.svg"); mask-image: url("../images/icons/sell-v6PbGgE.svg"); }
.trust-item__icon--encrypted { -webkit-mask-image: url("../images/icons/encrypted-oGn_jT0.svg"); mask-image: url("../images/icons/encrypted-oGn_jT0.svg"); }
.trust-item__icon--verified_user { -webkit-mask-image: url("../images/icons/verified_user-XvFgl2d.svg"); mask-image: url("../images/icons/verified_user-XvFgl2d.svg"); }

.city-section {
    margin-top: 48px;
}

.city-section__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 18px;
}

.city-section__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.6rem;
    font-weight: 400;
    color: var(--n900);
    letter-spacing: -0.01em;
}

.city-section__subtitle {
    font-family: 'Moderat', sans-serif;
    font-size: 0.9rem;
    font-weight: 500;
    color: var(--n500);
}

.city-section__link {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--pino);
}

.accommodation-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.accommodation-card {
    position: relative;
    display: block;
    background: var(--n0);
    border: 1px solid var(--n200);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
    transition: box-shadow 120ms ease, transform 120ms ease;
}

.accommodation-card:hover {
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
    transform: translateY(-2px);
}

.accommodation-card__link {
    display: contents;
    color: inherit;
    text-decoration: unset;
}

.accommodation-card__heart {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    width: 36px;
    height: 36px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .92);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
}

.accommodation-card__heart-icon {
    display: block;
    width: 22px;
    height: 22px;
    background-color: var(--n900);
    -webkit-mask-image: url("../images/icons/favorite-YDwkdh_.svg");
    mask-image: url("../images/icons/favorite-YDwkdh_.svg");
}

.accommodation-card__heart-icon--active {
    background-color: var(--terracotta);
    -webkit-mask-image: url("../images/icons/favorite_filled-tlbi3WU.svg");
    mask-image: url("../images/icons/favorite_filled-tlbi3WU.svg");
}

.accommodation-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 6 / 5;
    object-fit: cover;
}

.accommodation-card__body {
    padding: 12px 14px 14px;
}

.accommodation-card__row {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.accommodation-card__title {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--n900);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.accommodation-card__rating {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--n700);
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 3px;
}

.accommodation-card__rating-icon {
    display: block;
    width: 16px;
    height: 16px;
}

.accommodation-card__city {
    font-size: 0.9rem;
    color: var(--n500);
    margin-top: 2px;
}

.accommodation-card__price {
    font-size: 0.9rem;
    color: var(--n700);
    margin-top: 8px;
}

.accommodation-card__price-value {
    font-weight: 700;
    color: var(--pino);
}

/* @Footer */

.footer {
    background-image: url("../images/footer-bg-q4egaG0.webp");
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    color: var(--calce);
}

.footer__top {
    padding: 56px 0 32px;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr 1.4fr;
    gap: 32px;
}

.footer__logo {
    height: 24px;
    width: auto;
    display: block;
}

.footer__tagline {
    font-size: 0.9rem;
    color: rgba(244, 239, 230, .7);
    line-height: 1.5;
    margin-top: 12px;
    max-width: 220px;
}

.footer__column-title {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--calce);
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 12px;
}

.footer__link {
    display: block;
    text-decoration: unset;
    cursor: pointer;
    font-size: 0.9rem;
    color: rgba(244, 239, 230, .75);
}

.footer__bottom {
    padding-bottom: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding-top: 20px;
    border-top: 1px solid rgba(244, 239, 230, .18);
    font-size: 0.8rem;
    color: rgba(244, 239, 230, .6);
}

.footer__bottom-left {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.footer__lang-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: unset;
    cursor: pointer;
    padding: 8px 14px;
    border-radius: 999px;
    border: 1px solid rgba(244, 239, 230, .3);
    color: var(--calce);
    font-size: 0.8rem;
    font-weight: 700;
}

.footer__lang-toggle-icon {
    display: block;
    width: 16px;
    height: 16px;
}

.footer__lang-toggle-chevron {
    display: block;
    width: 14px;
    height: 14px;
    transition: transform 150ms ease;
}

/* @Language picker modal */

html:has(#lang-picker:target) {
    overflow: hidden;
}

html:has(#lang-picker:target) .footer__lang-toggle-chevron {
    transform: rotate(180deg);
}

.lang-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 60;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}

.lang-modal:target {
    display: flex;
}

.lang-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(31, 41, 51, .5);
}

.lang-modal__panel {
    position: relative;
    width: 100%;
    max-width: 360px;
    background: var(--n0);
    border-radius: 8px;
    overflow: hidden;
}

.lang-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 24px;
    border-bottom: 1px solid var(--n100);
}

.lang-modal__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--n900);
}

.lang-modal__close {
    text-decoration: unset;
    cursor: pointer;
    color: var(--n500);
    font-size: 1.4rem;
    line-height: 1;
}

.lang-modal__list {
    padding: 8px;
    display: flex;
    flex-direction: column;
}

.lang-modal__option {
    text-decoration: unset;
    cursor: pointer;
    padding: 14px 16px;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: 400;
    color: var(--n700);
}

.lang-modal__option--active {
    background: var(--n100);
    color: var(--n900);
    font-weight: 700;
}

.footer__legal {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    color: rgba(244, 239, 230, .75);
}

.footer__legal-link {
    cursor: pointer;
}

/* @FAQ */

.faq__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 400;
    color: var(--n900);
    letter-spacing: -0.01em;
    margin-bottom: 6px;
}

.faq__subtitle {
    color: var(--n500);
    font-size: 0.9rem;
    margin-bottom: 20px;
}

.faq-tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.faq-tab {
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: 999px;
    background: var(--n0);
    border: 1px solid var(--n300);
    color: var(--n600);
    font-size: 0.9rem;
}

.faq-tab--active {
    background: var(--pino);
    border-color: var(--pino);
    color: var(--calce);
    font-weight: 600;
}

.faq-panel {
    display: none;
    flex-direction: column;
    gap: 12px;
}

.faq-panel--active {
    display: flex;
}

.faq-item {
    background: var(--n0);
    border: 1px solid var(--n300);
    border-radius: 12px;
    overflow: hidden;
}

.faq-item__question {
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    padding: 20px;
}

.faq-item__question:hover,
.faq-item__question:focus {
    outline: none;
}

.faq-item__question-text {
    font-size: 1rem;
    font-weight: 700;
    color: var(--n900);
}

.faq-item__icon {
    display: block;
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
    margin-top: 2px;
    transition: transform 260ms ease;
}

.faq-item--open .faq-item__icon {
    transform: rotate(180deg);
}

.faq-item__answer {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 260ms ease;
}

.faq-item--open .faq-item__answer {
    grid-template-rows: 1fr;
}

.faq-item__answer-text {
    overflow: hidden;
    font-size: 0.9rem;
    color: var(--n600);
    line-height: 1.6;
    padding: 0 20px;
}

.faq-item--open .faq-item__answer-text {
    padding-bottom: 20px;
}

.faq-contact {
    margin-top: 28px;
    padding: 20px;
    background: var(--n100);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.faq-contact__text {
    font-size: 0.9rem;
    color: var(--n600);
}

.faq-contact__cta {
    text-decoration: unset;
    cursor: pointer;
    height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 20px;
    border-radius: 8px;
    background: var(--pino);
    color: var(--n0);
    font-weight: 700;
    font-size: 0.9rem;
}

/* @Host guide */

.host-guide__hero {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
    padding-bottom: 48px;
}

.host-guide__badge {
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--n100);
    color: var(--n600);
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 16px;
}

.host-guide__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 2.6rem;
    font-weight: 400;
    color: var(--n900);
    letter-spacing: -0.02em;
    line-height: 1.1;
}

.host-guide__cta {
    margin-top: 24px;
}

.host-guide__hero-image {
    width: 100%;
    aspect-ratio: 6 / 5;
    border-radius: 12px;
    background-image: url("../images/hero--RAh12T.webp");
    background-size: cover;
    background-position: center;
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
}

.host-guide__stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    padding-bottom: 48px;
}

.host-guide__stat {
    background: var(--n0);
    border: 1px solid var(--n300);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
    font-size: 0.9rem;
}

.host-guide__stat-value {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 400;
    color: var(--n900);
}

.host-guide__stat-title {
    font-weight: 600;
    color: var(--n900);
    margin-top: 8px;
}

.host-guide__stat-text {
    color: var(--n500);
    margin-top: 4px;
    line-height: 1.5;
}

.host-guide__steps {
    border-top: 1px solid var(--n300);
    padding: 48px 0;
}

.host-guide__steps-title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--n900);
    text-align: center;
    margin-bottom: 28px;
}

.host-guide__steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.host-guide__step {
    text-align: center;
}

.host-guide__step-number {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: var(--pino);
    color: var(--n0);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 12px;
}

.host-guide__step-title {
    font-weight: 600;
    color: var(--n900);
}

.host-guide__step-text {
    font-size: 0.9rem;
    color: var(--n500);
    margin-top: 4px;
    line-height: 1.5;
}

.host-guide__final {
    background: var(--n100);
    border-radius: 12px;
    padding: 40px;
    text-align: center;
}

.host-guide__final-title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--n900);
}

.host-guide__final-text {
    font-size: 0.9rem;
    color: var(--n500);
    margin: 8px 0 20px;
}

/* @Auth pages (login / registration) */

.auth {
    padding: 64px 0;
}

.auth__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.9rem;
    font-weight: 400;
    color: var(--n900);
    letter-spacing: -0.01em;
    margin-bottom: 12px;
}

.auth__subtitle {
    margin-bottom: 24px;
    color: var(--n500);
    font-size: 0.9rem;
}

.auth__loader {
    width: 40px;
    height: 40px;
    border: 3px solid var(--n200);
    border-top-color: var(--pino);
    border-radius: 50%;
    animation: auth-loader-spin 1s linear infinite;
}

@keyframes auth-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

.form-alert {
    margin-bottom: 16px;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 0.9rem;
}

.form-alert--error {
    background: var(--error-bg);
    color: var(--error-text);
}

.form-alert--success {
    background: var(--success-bg);
    color: var(--success-text);
}

.auth-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: var(--n0);
    border: 1px solid var(--n200);
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
}

.form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-field__label {
    font-size: 0.9rem;
    color: var(--n600);
}

.form-field__input {
    all: unset;
    box-sizing: border-box;
    width: 100%;
    height: 52px;
    border-radius: 12px;
    border: 1px solid var(--n300);
    padding: 0 12px;
    font-size: 1rem;
}

.form-field__input:focus {
    border-color: var(--pino);
    outline: none;
}

.form-field--error .form-field__input {
    border-color: var(--error-text);
}

.form-field--error .form-field__input:focus {
    border-color: var(--error-text);
}

.form-field__error {
    font-size: 0.8rem;
    color: var(--error-text);
}

.form-field__input--textarea {
    height: auto;
    min-height: 110px;
    padding: 12px;
    resize: vertical;
}

.auth-card__forgot {
    cursor: pointer;
    font-size: 0.9rem;
    color: var(--n600);
}

.auth-card__submit {
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--pino);
    color: var(--calce);
    font-weight: 700;
    font-size: 1rem;
    margin-top: 4px;
}

.auth-card__submit:hover,
.auth-card__submit:focus {
    outline: none;
}

.auth-card__switch {
    text-align: center;
    font-size: 0.9rem;
    color: var(--n500);
    margin-top: 8px;
}

.auth-card__switch-link {
    cursor: pointer;
    color: var(--n900);
    font-weight: 600;
}

.auth-card__resend {
    text-align: center;
    font-size: 0.9rem;
    color: var(--n500);
    margin-top: 4px;
}

.auth-card__resend-link {
    text-decoration: underline;
    cursor: pointer;
    color: var(--n900);
    font-weight: 600;
}

/* @SweetAlert2 popup */

.app-popup {
    width: 380px !important;
    border-radius: 16px !important;
    padding: 24px 24px !important;
    font-family: 'Moderat', sans-serif !important;
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .07);
}

.app-popup__icon-img {
    width: 40px;
    height: 40px;
    display: block;
}

.app-popup__icon {
    width: 56px !important;
    height: 56px !important;
    margin: 0 auto 8px !important;
    border: none !important;
    background: var(--success-bg) !important;
}

.app-popup__icon--calce {
    background: var(--calce) !important;
}

.app-popup__icon--n100 {
    background: var(--n100) !important;
}

.app-popup__icon--warning {
    background: var(--warning-bg) !important;
}

.app-popup__icon--error {
    background: var(--error-bg) !important;
}

.app-popup__icon-hourglass {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: var(--warning-text);
    -webkit-mask-image: url("../images/icons/hourglass_top-FW3WjU3.svg");
    mask-image: url("../images/icons/hourglass_top-FW3WjU3.svg");
}

.app-popup__icon-check {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: var(--success-text);
    -webkit-mask-image: url("../images/icons/check-BBzrl3w.svg");
    mask-image: url("../images/icons/check-BBzrl3w.svg");
}

.app-popup__icon-save {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: var(--pino);
    -webkit-mask-image: url("../images/icons/save-3nWQzUQ.svg");
    mask-image: url("../images/icons/save-3nWQzUQ.svg");
}

.app-popup__icon-real-estate {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: var(--pino);
    -webkit-mask-image: url("../images/icons/real_estate_agent-1JX0EXX.svg");
    mask-image: url("../images/icons/real_estate_agent-1JX0EXX.svg");
}

.app-popup__icon-delete {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: var(--error-text);
    -webkit-mask-image: url("../images/icons/delete-XJwWZ1H.svg");
    mask-image: url("../images/icons/delete-XJwWZ1H.svg");
}

.contact-popup {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    border: none;
    background: transparent;
    padding: 0;
}

.contact-popup__panel {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 480px;
    max-height: calc(100% - 64px);
    overflow-y: auto;
    border-radius: 16px;
    padding: 28px;
    background: var(--n0);
    color: var(--n900);
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contact-popup::backdrop {
    background: rgba(31, 29, 25, .5);
}

.contact-popup__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.contact-popup__title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--n900);
}

.contact-popup__close {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
}

.contact-popup__close:hover {
    background: var(--n100);
}

.contact-popup__close-icon {
    width: 20px;
    height: 20px;
    background-color: var(--n600);
    -webkit-mask-image: url("../images/icons/close-3WDyJzj.svg");
    mask-image: url("../images/icons/close-3WDyJzj.svg");
}

.contact-popup__summary {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: var(--n100);
    border-radius: 12px;
}

.contact-popup__summary-thumb {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background-color: var(--n200);
    background-size: cover;
    background-position: center;
}

.contact-popup__summary-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--n900);
}

.contact-popup__summary-meta {
    font-size: 0.8rem;
    color: var(--n500);
    margin-top: 2px;
}

.contact-popup__notice {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    background: var(--warning-bg);
    color: var(--warning-text);
    border-radius: 10px;
    font-size: 0.9rem;
    line-height: 1.5;
}

.contact-popup__notice-icon {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    background-color: var(--warning-text);
    -webkit-mask-image: url("../images/icons/info-JviOvgW.svg");
    mask-image: url("../images/icons/info-JviOvgW.svg");
}

.contact-popup__form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.contact-popup__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* @Messages */

.messages__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 400;
    color: var(--n900);
    letter-spacing: -0.01em;
    margin-bottom: 20px;
}

.messages__empty {
    max-width: 420px;
    margin: 64px auto 0;
    text-align: center;
}

.messages__empty-icon {
    display: block;
    width: 34px;
    height: 34px;
    margin: 0 auto 20px;
    background-color: var(--n400);
    -webkit-mask-image: url("../images/icons/forum-rpdTZQ2.svg");
    mask-image: url("../images/icons/forum-rpdTZQ2.svg");
}

.messages__empty-title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--n900);
    margin-bottom: 8px;
}

.messages__empty-text {
    font-size: 0.9rem;
    color: var(--n500);
    line-height: 1.6;
}

.messages__notice {
    align-self: center;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border: 1px solid var(--miele);
    border-radius: 999px;
    background: var(--warning-bg);
    font-size: 0.8rem;
    color: var(--warning-text);
}

.messages__notice-icon {
    flex: none;
    width: 14px;
    height: 14px;
    background-color: currentColor;
    -webkit-mask-image: url("../images/icons/shield-mrFmNP0.svg");
    mask-image: url("../images/icons/shield-mrFmNP0.svg");
}

.messages__banner {
    align-self: stretch;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border: 1px solid transparent;
    border-radius: 12px;
}

.messages__banner--warning {
    border-color: var(--miele);
    background: var(--warning-bg);
    color: var(--warning-text);
}

.messages__banner--success {
    border-color: var(--pino);
    background: var(--success-bg);
    color: var(--success-text);
}

.messages__banner--info {
    border-color: var(--scirocco);
    background: var(--info-bg);
    color: var(--info-text);
}

.messages__banner--error {
    border-color: var(--terracotta);
    background: var(--error-bg);
    color: var(--error-text);
}

.messages__banner-icon-wrap {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: var(--n0);
}

.messages__banner-icon {
    width: 18px;
    height: 18px;
    background-color: currentColor;
}

.messages__banner-icon--requested {
    -webkit-mask-image: url("../images/icons/hourglass_top-FW3WjU3.svg");
    mask-image: url("../images/icons/hourglass_top-FW3WjU3.svg");
}

.messages__banner-icon--approved {
    -webkit-mask-image: url("../images/icons/check_circle-GKklU7K.svg");
    mask-image: url("../images/icons/check_circle-GKklU7K.svg");
}

.messages__banner-icon--checkin,
.messages__banner-icon--checkout {
    -webkit-mask-image: url("../images/icons/event_available-S-wk2IU.svg");
    mask-image: url("../images/icons/event_available-S-wk2IU.svg");
}

.messages__banner-icon--rejected {
    -webkit-mask-image: url("../images/icons/block-FWPaGmG.svg");
    mask-image: url("../images/icons/block-FWPaGmG.svg");
}

.messages__banner-icon--cancelled {
    -webkit-mask-image: url("../images/icons/event_busy-j97v8d5.svg");
    mask-image: url("../images/icons/event_busy-j97v8d5.svg");
}

.messages__banner-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--n900);
}

.messages__banner-text {
    margin-top: 2px;
    font-size: 0.8rem;
    line-height: 1.4;
    color: var(--n600);
}

.messages__banner-cta {
    margin-top: 12px;
}

.messages__thread-back {
    display: none;
}

.messages__thread-back-icon {
    width: 22px;
    height: 22px;
    background-color: var(--n900);
    -webkit-mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
    mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
}

/* @Favorites */

.favorites__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 400;
    color: var(--n900);
    letter-spacing: -0.01em;
    margin-bottom: 6px;
}

.favorites__subtitle {
    color: var(--n500);
    font-size: 0.9rem;
    margin-bottom: 20px;
}

.favorites__empty {
    max-width: 420px;
    margin: 64px auto 0;
    text-align: center;
}

.favorites__empty-icon {
    display: block;
    width: 34px;
    height: 34px;
    margin: 0 auto 20px;
    background-color: var(--n400);
    -webkit-mask-image: url("../images/icons/favorite-YDwkdh_.svg");
    mask-image: url("../images/icons/favorite-YDwkdh_.svg");
}

.favorites__empty-title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--n900);
    margin-bottom: 8px;
}

.favorites__empty-text {
    font-size: 0.9rem;
    color: var(--n500);
    line-height: 1.6;
}

/* @Destinations */

.destinations__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 400;
    color: var(--n900);
    letter-spacing: -0.01em;
    margin-bottom: 24px;
}

.destinations-list {
    border: 1px solid var(--n200);
    border-radius: 16px;
    background: var(--n0);
    overflow: hidden;
}

.destinations-list__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px;
    text-decoration: unset;
    color: var(--n900);
    font-size: 1rem;
    font-weight: 600;
    border-bottom: 1px solid var(--n200);
}

.destinations-list__item:last-child {
    border-bottom: none;
}

.destinations-list__item:hover {
    background: var(--n100);
}

.destinations-list__chevron {
    width: 18px;
    height: 18px;
    background-color: var(--n500);
    transform: rotate(180deg);
    -webkit-mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
    mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
}

.destination__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 400;
    color: var(--n900);
    letter-spacing: -0.01em;
    margin-bottom: 24px;
}

.destination__empty {
    max-width: 420px;
    margin: 64px auto 0;
    text-align: center;
}

.destination__empty-icon {
    display: block;
    width: 34px;
    height: 34px;
    margin: 0 auto 20px;
    background-color: var(--n400);
    -webkit-mask-image: url("../images/icons/location_on-7GrC1BL.svg");
    mask-image: url("../images/icons/location_on-7GrC1BL.svg");
}

.destination__empty-title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--n900);
    margin-bottom: 8px;
}

.destination__empty-text {
    font-size: 0.9rem;
    color: var(--n500);
    line-height: 1.6;
}

.messages__layout {
    display: flex;
    border: 1px solid var(--n300);
    border-radius: 16px;
    overflow: hidden;
    background: var(--n0);
    height: calc(100vh - 300px);
    min-height: 420px;
}

.messages__list {
    flex: 0 0 340px;
    border-right: 1px solid var(--n200);
    overflow-y: auto;
}

.messages__item {
    display: flex;
    gap: 12px;
    padding: 14px 16px;
    text-decoration: unset;
    border-bottom: 1px solid var(--n100);
}

.messages__item--active {
    background: var(--calce);
}

.messages__item-thumb {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background-color: var(--n200);
    background-size: cover;
    background-position: center;
}

.messages__item-body {
    flex: 1;
    min-width: 0;
}

.messages__item-row {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.messages__item-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--n900);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.messages__item-time {
    flex: 0 0 auto;
    font-size: 0.8rem;
    color: var(--n400);
}

.messages__item-user,
.messages__thread-user {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    padding: 3px 10px;
    border-radius: 999px;
    background: var(--calce);
    font-size: 0.8rem;
    color: var(--n900);
}

.messages__thread-user {
    background: var(--n100);
    text-decoration: unset;
}

.messages__thread-user:hover {
    background: var(--n200);
}

.messages__item-user-icon,
.messages__thread-user-icon {
    width: 14px;
    height: 14px;
    background-color: var(--n900);
    -webkit-mask-image: url("../images/icons/person-kMNqO5y.svg");
    mask-image: url("../images/icons/person-kMNqO5y.svg");
}

.messages__item-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-top: 4px;
}

.messages__item-last {
    min-width: 0;
    font-size: 0.9rem;
    color: var(--n600);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.messages__item--unread .messages__item-last {
    font-weight: 700;
    color: var(--n900);
}

.messages__item-badge {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border-radius: 999px;
    background: var(--pino);
    color: var(--n0);
    font-size: 0.8rem;
    font-weight: 700;
}

.messages__thread {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
}

.messages__thread-header {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 16px 24px;
    border-bottom: 1px solid var(--n200);
}

.messages__thread-thumb {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background-color: var(--n200);
    background-size: cover;
    background-position: center;
}

.messages__thread-title {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    color: var(--n900);
    text-decoration: unset;
}

.messages__thread-body {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 20px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.messages__bubble {
    align-self: flex-start;
    max-width: 68%;
    background: var(--n100);
    color: var(--n900);
    padding: 10px 15px;
    border-radius: 20px 20px 20px 6px;
    font-size: 0.9rem;
    line-height: 1.4;
}

.messages__bubble--me {
    align-self: flex-end;
    background: var(--pino);
    color: var(--calce);
    border-radius: 20px 20px 6px 20px;
}

.messages__bubble-time {
    font-size: 0.6rem;
    opacity: 0.5;
    margin-top: 3px;
    text-align: left;
}

.messages__bubble-time--me {
    text-align: right;
}

.messages__bubble-translation {
    margin-top: 8px;
    padding: 8px 12px;
    border-radius: 12px;
    background: var(--n0);
    color: var(--n700);
}

.messages__bubble-translate {
    display: flex;
    align-items: center;
    gap: 4px;
    width: fit-content;
    margin-top: 6px;
    padding: 2px 8px;
    border: 1px solid var(--n300);
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--n700);
    cursor: pointer;
}

.messages__bubble-translate:hover {
    background: var(--n0);
    color: var(--pino);
}

.messages__bubble-translate-icon {
    width: 12px;
    height: 12px;
    background-color: currentColor;
    -webkit-mask-image: url("../images/icons/translate-Fj0q6Wx.svg");
    mask-image: url("../images/icons/translate-Fj0q6Wx.svg");
}

.messages__bubble-translate:disabled {
    opacity: 0.6;
    cursor: default;
}

.messages__reply {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 24px;
    border-top: 1px solid var(--n200);
}

.messages__reply-field {
    flex: 1;
}

.messages__reply-input {
    height: 48px;
    padding: 0 20px;
    border-radius: 999px;
}

.messages__reply-input::placeholder {
    font-size: 0.9rem;
    color: var(--n300);
    opacity: 1;
}

.messages__reply-send {
    all: unset;
    box-sizing: border-box;
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin-top: 1px;
    border-radius: 999px;
    background: var(--pino);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.messages__reply-send-icon {
    width: 22px;
    height: 22px;
    background-color: var(--calce);
    -webkit-mask-image: url("../images/icons/send-pXvnMm0.svg");
    mask-image: url("../images/icons/send-pXvnMm0.svg");
}

.app-popup__title {
    font-family: 'Moderat', sans-serif !important;
    font-weight: 700;
    color: var(--n900);
    font-size: 1.1rem;
    text-align: center;
}

.app-popup__text {
    font-family: 'Moderat', sans-serif !important;
    color: var(--n600);
    font-size: 0.9rem;
    text-align: center;
}

.app-popup__actions {
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.app-popup__confirm,
.app-popup__cancel {
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
    height: 46px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 8px;
    font-family: 'Moderat', sans-serif;
    font-weight: 700;
    font-size: 0.9rem;
    padding: 0 24px;
}

.app-popup__confirm {
    background: var(--pino);
    color: var(--calce);
}

.app-popup__cancel {
    background: transparent;
    border: 1px solid var(--n300);
    color: var(--pino);
    font-weight: 600;
}

/* @Host accommodation wizard */

.wizard-page {
    padding-bottom: 88px;
}

.wizard-progress__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.wizard-progress__label {
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--n400);
}

.wizard-progress__title {
    font-family: 'Moderat', sans-serif;
    font-weight: 700;
    font-size: 1.4rem;
    color: var(--n900);
    margin-top: 4px;
}

.wizard-progress__save {
    all: unset;
    cursor: pointer;
    height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 20px;
    border-radius: 8px;
    border: 1px solid var(--n300);
    color: var(--n900);
    font-weight: 600;
    flex: none;
}

.wizard-progress__track {
    height: 6px;
    border-radius: 999px;
    background: var(--n100);
    margin-top: 12px;
    overflow: hidden;
}

.wizard-progress__fill {
    height: 100%;
    background: var(--pino);
    border-radius: 999px;
}

.wizard-progress__fill--step-1 { width: 7%; }
.wizard-progress__fill--step-2 { width: 13%; }
.wizard-progress__fill--step-3 { width: 20%; }
.wizard-progress__fill--step-4 { width: 27%; }
.wizard-progress__fill--step-5 { width: 33%; }
.wizard-progress__fill--step-6 { width: 40%; }
.wizard-progress__fill--step-7 { width: 47%; }
.wizard-progress__fill--step-8 { width: 53%; }
.wizard-progress__fill--step-9 { width: 60%; }
.wizard-progress__fill--step-10 { width: 67%; }
.wizard-progress__fill--step-11 { width: 73%; }
.wizard-progress__fill--step-12 { width: 80%; }
.wizard-progress__fill--step-13 { width: 87%; }
.wizard-progress__fill--step-14 { width: 93%; }
.wizard-progress__fill--step-15 { width: 100%; }

.wizard-card {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    background: var(--n0);
    border: 1px solid var(--n200);
    border-radius: 16px;
    padding: 28px;
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
}

.wizard-footer {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: 88px;
    background: var(--n0);
    border-top: 1px solid var(--n200);
}

.wizard-footer__inner {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.wizard-footer__left {
    display: flex;
    align-items: center;
    gap: 20px;
}

.wizard-footer__back {
    text-decoration: unset;
    cursor: pointer;
    height: 48px;
    display: inline-flex;
    align-items: center;
    padding: 0 20px;
    border-radius: 8px;
    border: 1px solid var(--pino);
    color: var(--n900);
    font-weight: 600;
}

.wizard-footer__delete {
    all: unset;
    cursor: pointer;
    color: var(--error-text);
    font-size: 0.9rem;
}

.wizard-footer__next {
    all: unset;
    cursor: pointer;
    height: 48px;
    display: inline-flex;
    align-items: center;
    padding: 0 24px;
    border-radius: 8px;
    background: var(--pino);
    color: var(--calce);
    font-weight: 700;
}

.wizard-type-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.wizard-type-card {
    position: relative;
    cursor: pointer;
    border: 1px solid var(--n200);
    border-radius: 10px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.wizard-type-card__label {
    font-weight: 600;
    color: var(--n900);
}

.wizard-space-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.wizard-space-card {
    position: relative;
    cursor: pointer;
    border: 1px solid var(--n200);
    border-radius: 10px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.wizard-type-card:has(.wizard-type-card__input:checked),
.wizard-space-card:has(.wizard-space-card__input:checked) {
    border-width: 2px;
    border-color: var(--pino);
    background: var(--n50);
}

.wizard-type-card__input,
.wizard-space-card__input {
    position: absolute;
    opacity: 0;
}

.wizard-type-card__icon,
.wizard-space-card__icon {
    width: 24px;
    height: 24px;
    display: block;
    flex: none;
    background-color: var(--n900);
}

.wizard-type-card__check,
.wizard-space-card__check {
    display: none;
    position: absolute;
    top: 12px;
    right: 12px;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: var(--pino);
}

.wizard-type-card__check::after,
.wizard-space-card__check::after {
    content: '';
    position: absolute;
    inset: 5px;
    background-color: var(--n100);
    -webkit-mask-image: url("../images/icons/check-BBzrl3w.svg");
    mask-image: url("../images/icons/check-BBzrl3w.svg");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.wizard-type-card:has(.wizard-type-card__input:checked) .wizard-type-card__check,
.wizard-space-card:has(.wizard-space-card__input:checked) .wizard-space-card__check {
    display: block;
}

.wizard-space-card__body {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.wizard-space-card__title {
    font-weight: 600;
    color: var(--n900);
}

.wizard-space-card__description {
    font-size: 0.9rem;
    color: var(--n500);
}

.wizard-field-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.wizard-company {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.wizard-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.wizard-field__label {
    font-size: 0.8rem;
    color: var(--n600);
}

.wizard-field__input {
    height: 46px;
    border-radius: 6px;
    border: 1px solid var(--n300);
    padding: 0 12px;
    font-size: 0.9rem;
    outline: none;
}

.wizard-field__input:disabled {
    background: var(--n100) !important;
    color: var(--n400) !important;
    cursor: not-allowed;
}

.wizard-field:has(.wizard-field__input:disabled) .wizard-field__label {
    color: var(--n400);
}

.wizard-field__textarea:disabled {
    background: var(--n100) !important;
    color: var(--n400) !important;
    cursor: not-allowed;
}

.wizard-field:has(.wizard-field__textarea:disabled) .wizard-field__label {
    color: var(--n400);
}

.wizard-field__help {
    font-size: 0.8rem;
    color: var(--n400);
}

.wizard-field-error {
    font-size: 0.8rem;
    color: var(--error-text);
}

.wizard-counter {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--n100);
}

.wizard-counter:last-child {
    border-bottom: none;
}

.wizard-counter__label {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.9rem;
    color: var(--n900);
}

.wizard-counter__label-icon {
    width: 22px;
    height: 22px;
    flex: none;
    background-color: var(--n600);
}

.wizard-counter__label-icon--square_foot { -webkit-mask-image: url("../images/icons/square_foot-CD70-yR.svg"); mask-image: url("../images/icons/square_foot-CD70-yR.svg"); }

.host-accommodations__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.host-accommodations__title {
    font-family: 'Gelica', serif;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--n900);
}

.host-stripe-banner {
    background: #FFFBF0;
    border-bottom: 1px solid var(--miele);
    margin-top: -30px;
    margin-bottom: 32px;
}

.host-stripe-banner__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
    padding: 14px 0;
}

.host-stripe-banner__title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--warning-text);
}

.host-stripe-banner__text {
    font-size: 0.9rem;
    color: var(--warning-text);
    margin-top: 2px;
}

.host-accommodation-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.host-accommodation-card {
    display: block;
    background: var(--n0);
    border: 1px solid var(--n200);
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
    transition: box-shadow 120ms ease, transform 120ms ease;
}

.host-accommodation-card:hover {
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
    transform: translateY(-2px);
}

.host-accommodation-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 8 / 5;
    background: var(--n200);
    object-fit: cover;
}

.host-accommodation-card__image--draft {
    background: var(--n100);
}

.host-accommodation-card__body {
    padding: 16px;
}

.host-accommodation-card__badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 0.8rem;
    font-weight: 700;
}

.host-accommodation-card__badge--published {
    background: var(--success-bg);
    color: var(--success-text);
}

.host-accommodation-card__badge--draft {
    background: var(--n100);
    color: var(--n600);
}

.host-accommodation-card__badge--in_review {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.host-accommodation-card__badge--suspended,
.host-accommodation-card__badge--hidden {
    background: var(--error-bg);
    color: var(--error-text);
}

.host-accommodation-card__title {
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--n900);
    margin-top: 10px;
    line-height: 1.3;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.host-accommodation-card__meta {
    font-size: 0.9rem;
    color: var(--n500);
    margin-top: 6px;
}

.host-accommodation-card__price {
    font-weight: 700;
    color: var(--n900);
}

.host-accommodations-empty {
    padding: 56px 24px;
    text-align: center;
}

.host-accommodations-empty__icon {
    width: 64px;
    height: 64px;
    border-radius: 999px;
    background: var(--n100);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}

.host-accommodations-empty__icon-glyph {
    width: 30px;
    height: 30px;
    background-color: var(--n400);
    -webkit-mask-image: url("../images/icons/home_work-5Y47ql9.svg");
    mask-image: url("../images/icons/home_work-5Y47ql9.svg");
}

.host-accommodations-empty__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--n900);
}

.host-accommodations-empty__text {
    font-size: 0.9rem;
    color: var(--n500);
    line-height: 1.5;
    margin: 6px auto 20px;
    max-width: 380px;
}

.wizard-counter__stepper {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: none;
}

.wizard-counter__input {
    width: 44px;
    border: none;
    padding: 0;
    font-size: 0.9rem;
    font-weight: 600;
    text-align: center;
    outline: none;
    background: transparent;
    -moz-appearance: textfield;
    appearance: textfield;
}

.wizard-counter__input::-webkit-outer-spin-button,
.wizard-counter__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.wizard-counter__button {
    width: 36px;
    height: 36px;
    flex: none;
    border-radius: 999px;
    border: none;
    background: var(--n100);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.wizard-counter__button-icon {
    width: 20px;
    height: 20px;
}

.wizard-counter__button-icon--remove {
    background-color: var(--n600);
    -webkit-mask-image: url("../images/icons/remove-TnJfne8.svg");
    mask-image: url("../images/icons/remove-TnJfne8.svg");
}

.wizard-counter__button-icon--add {
    background-color: var(--n900);
    -webkit-mask-image: url("../images/icons/add-vV3qf6d.svg");
    mask-image: url("../images/icons/add-vV3qf6d.svg");
}

.wizard-surface-input {
    position: relative;
    width: 140px;
    flex: none;
}

.wizard-surface-input__field {
    width: 100%;
    box-sizing: border-box;
    height: 44px;
    border-radius: 8px;
    border: 1px solid var(--n300);
    padding: 0 44px 0 14px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--n900);
    text-align: right;
    outline: none;
}

.wizard-surface-input__unit {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.9rem;
    color: var(--n500);
    pointer-events: none;
}

.wizard-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--n100);
}

.wizard-toggle:last-child {
    border-bottom: none;
}

.wizard-toggle__options {
    display: flex;
    gap: 8px;
    flex: none;
}

.wizard-toggle__input {
    position: absolute;
    opacity: 0;
}

.wizard-toggle__pill {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid var(--n300);
    color: var(--n600);
    font-size: 0.9rem;
    cursor: pointer;
}

.wizard-toggle__option:has(.wizard-toggle__input:checked) .wizard-toggle__pill {
    background: var(--n100);
    color: var(--n900);
    font-weight: 600;
}

.wizard-field__textarea {
    min-height: 110px;
    border-radius: 6px;
    border: 1px solid var(--n300);
    padding: 12px;
    font-size: 0.9rem;
    outline: none;
    resize: vertical;
}

.wizard-field-row--three {
    grid-template-columns: repeat(3, 1fr);
}

.wizard-amenity-category {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wizard-amenity-category__title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--n900);
}

.wizard-amenity-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.wizard-amenity-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 14px;
    border-radius: 10px;
    cursor: pointer;
    border: 1px solid var(--n300);
    background: var(--n0);
    color: var(--n600);
    transition: border-color 100ms ease, box-shadow 100ms ease;
}

.wizard-amenity-card:hover {
    border-color: var(--n900);
    box-shadow: 0 2px 8px rgba(31, 41, 51, .08);
}

.wizard-amenity-card:has(.wizard-amenity-card__input:checked) {
    border: 2px solid var(--pino);
    background: var(--n100);
    color: var(--n900);
}

.wizard-amenity-card:has(.wizard-amenity-card__input:checked):hover {
    box-shadow: none;
}

.wizard-amenity-card__input {
    position: absolute;
    opacity: 0;
}

.wizard-amenity-card__check {
    display: none;
    position: absolute;
    top: 8px;
    right: 8px;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: var(--pino);
    align-items: center;
    justify-content: center;
}

.wizard-amenity-card:has(.wizard-amenity-card__input:checked) .wizard-amenity-card__check {
    display: flex;
}

.wizard-amenity-card__check-icon {
    width: 13px;
    height: 13px;
    background-color: var(--n0);
    -webkit-mask-image: url("../images/icons/check-BBzrl3w.svg");
    mask-image: url("../images/icons/check-BBzrl3w.svg");
}

.wizard-amenity-card__icon {
    width: 22px;
    height: 22px;
    background-color: currentColor;
}

.wizard-amenity-card__label {
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.3;
}

.wizard-amenity-card:has(.wizard-amenity-card__input:checked) .wizard-amenity-card__label {
    font-weight: 700;
}

.wizard-photo-dropzone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 40px 20px;
    border: 2px dashed var(--n300);
    border-radius: 12px;
    text-align: center;
    cursor: pointer;
    transition: border-color 100ms ease, background-color 100ms ease;
}

.wizard-photo-dropzone--dragover {
    border-color: var(--pino);
    background: var(--n50);
}

.wizard-photo-dropzone--uploading {
    opacity: .6;
    pointer-events: none;
}

.wizard-photo-dropzone__icon {
    width: 32px;
    height: 32px;
    margin-bottom: 8px;
    background-color: var(--n500);
    -webkit-mask-image: url("../images/icons/add_photo_alternate-ywY6NYs.svg");
    mask-image: url("../images/icons/add_photo_alternate-ywY6NYs.svg");
}

.wizard-photo-dropzone__text {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--n700);
}

.wizard-photo-dropzone__hint {
    margin-top: 2px;
    font-size: 0.8rem;
    color: var(--n400);
}

.wizard-photo-dropzone__input {
    display: none;
}

.wizard-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-top: 20px;
}

.wizard-photo-grid__item {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: 12px;
    overflow: hidden;
    background: var(--n100);
}

.wizard-photo-grid__item--dragging {
    opacity: .4;
}

.wizard-photo-grid__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wizard-photo-grid__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 4px 10px;
    border-radius: 999px;
    background: var(--pino);
    color: var(--n0);
    font-size: 0.8rem;
    font-weight: 600;
}

.wizard-photo-grid__delete {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    border: none;
    border-radius: 999px;
    background: rgba(31, 29, 25, .55);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.wizard-photo-grid__delete-icon {
    width: 16px;
    height: 16px;
    background-color: var(--n0);
    -webkit-mask-image: url("../images/icons/delete-XJwWZ1H.svg");
    mask-image: url("../images/icons/delete-XJwWZ1H.svg");
}

.wizard-photo-grid__caption {
    margin-top: 12px;
    font-size: 0.8rem;
    color: var(--n400);
}

.wizard-net-earnings {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: var(--n100);
    border-radius: 10px;
    padding: 16px 18px;
}

.wizard-net-earnings__label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--n600);
}

.wizard-net-earnings__icon {
    width: 20px;
    height: 20px;
    background-color: var(--n900);
    -webkit-mask-image: url("../images/icons/payments-mVWv8tE.svg");
    mask-image: url("../images/icons/payments-mVWv8tE.svg");
}

.wizard-net-earnings__value {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--n900);
}

.wizard-tip {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    background: #FFFBF0;
    border: 1px solid var(--miele);
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 0.8rem;
    color: var(--warning-text);
    line-height: 1.5;
}

.wizard-tip__icon {
    width: 18px;
    height: 18px;
    flex: none;
    margin-top: 1px;
    background-color: var(--warning-text);
    -webkit-mask-image: url("../images/icons/lightbulb-taDop7F.svg");
    mask-image: url("../images/icons/lightbulb-taDop7F.svg");
}

.wizard-pill-group {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 8px;
}

.wizard-pill-group__input {
    position: absolute;
    opacity: 0;
}

.wizard-pill-group__pill {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid var(--n300);
    color: var(--n600);
    font-size: 0.9rem;
    cursor: pointer;
}

.wizard-pill-group__option:has(.wizard-pill-group__input:checked) .wizard-pill-group__pill {
    background: var(--n100);
    color: var(--n900);
    font-weight: 600;
}

.wizard-checkin-type__mode {
    display: none;
    margin-top: 16px;
}

.wizard-checkin-type:has(.wizard-pill-group__input--self_checkin:checked) .wizard-checkin-type__mode--self_checkin {
    display: block;
}

.wizard-checkin-type:has(.wizard-pill-group__input--other:checked) .wizard-checkin-type__mode--other {
    display: block;
}

.wizard-booking-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

.wizard-policy-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wizard-policy-card {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    border-radius: 12px;
    border: 2px solid transparent;
    cursor: pointer;
}

.wizard-policy-card--success { background: var(--success-bg); }
.wizard-policy-card--info { background: var(--info-bg); }
.wizard-policy-card--warning { background: var(--warning-bg); }
.wizard-policy-card--error { background: var(--error-bg); }

.wizard-policy-card:has(.wizard-policy-card__input:checked) {
    border-color: var(--pino);
}

.wizard-policy-card__input {
    position: absolute;
    opacity: 0;
}

.wizard-policy-card__icon {
    width: 38px;
    height: 38px;
    flex: none;
    border-radius: 999px;
    background-color: var(--n0);
    display: flex;
    align-items: center;
    justify-content: center;
}

.wizard-policy-card__icon-glyph {
    width: 20px;
    height: 20px;
}

.wizard-policy-card--success .wizard-policy-card__icon-glyph { background-color: var(--success-text); }
.wizard-policy-card--info .wizard-policy-card__icon-glyph { background-color: var(--info-text); }
.wizard-policy-card--warning .wizard-policy-card__icon-glyph { background-color: var(--warning-text); }
.wizard-policy-card--error .wizard-policy-card__icon-glyph { background-color: var(--error-text); }

.wizard-policy-card__body {
    flex: 1;
    min-width: 0;
}

.wizard-policy-card__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.wizard-policy-card__label {
    font-size: 1rem;
    font-weight: 700;
    color: var(--n900);
}

.wizard-policy-card__check {
    display: none;
    flex: none;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: var(--pino);
}

.wizard-policy-card__check::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--n0);
    -webkit-mask-image: url("../images/icons/check-BBzrl3w.svg");
    mask-image: url("../images/icons/check-BBzrl3w.svg");
    -webkit-mask-size: 13px;
    mask-size: 13px;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.wizard-policy-card:has(.wizard-policy-card__input:checked) .wizard-policy-card__check {
    display: block;
}

.wizard-policy-card__description {
    display: block;
    font-size: 0.9rem;
    color: var(--n600);
    margin-top: 6px;
    line-height: 1.5;
}

.wizard-checkbox {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
}

.wizard-checkbox__input {
    position: absolute;
    opacity: 0;
}

.wizard-checkbox__box {
    width: 22px;
    height: 22px;
    flex: none;
    border-radius: 6px;
    border: 1px solid var(--n300);
    background: var(--n0);
    display: flex;
    align-items: center;
    justify-content: center;
}

.wizard-checkbox__check {
    display: none;
    width: 14px;
    height: 14px;
    background-color: var(--n0);
    -webkit-mask-image: url("../images/icons/check-BBzrl3w.svg");
    mask-image: url("../images/icons/check-BBzrl3w.svg");
}

.wizard-checkbox:has(.wizard-checkbox__input:checked) .wizard-checkbox__box {
    border-color: var(--pino);
    background: var(--pino);
}

.wizard-checkbox:has(.wizard-checkbox__input:checked) .wizard-checkbox__check {
    display: block;
}

.wizard-checkbox__label {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--n900);
}

.host-detail__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

.host-detail__heading {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}

.host-detail__back {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--n900);
}

.host-detail__back-icon {
    width: 22px;
    height: 22px;
    background-color: var(--n900);
    -webkit-mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
    mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
}

.host-detail__title {
    font-family: 'Gelica', serif;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--n900);
}

.host-detail__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.host-detail__action-outline {
    text-decoration: unset;
    cursor: pointer;
    height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 18px;
    border-radius: 8px;
    border: 1px solid var(--n300);
    color: var(--n900);
    font-weight: 600;
    font-size: 0.9rem;
}

.host-detail__status {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 10px;
    background: var(--n50);
    border: 1px solid var(--n100);
    margin-bottom: 24px;
}

.host-detail__status-desc {
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--n500);
}

.host-detail__tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.host-detail__tab {
    all: unset;
    cursor: pointer;
    padding: 8px 16px;
    border-radius: 999px;
    border: 1px solid var(--n300);
    color: var(--n600);
    font-size: 0.9rem;
    white-space: nowrap;
}

.host-detail__tab--active {
    background: var(--pino);
    border-color: var(--pino);
    color: var(--n0);
    font-weight: 600;
}

.host-detail__card {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.host-detail__card [data-tab-panel] {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.host-detail__card--readonly {
    pointer-events: none;
    user-select: none;
}

.host-detail__save-row {
    display: flex;
    justify-content: flex-end;
    padding-top: 8px;
    border-top: 1px solid var(--n100);
}

.wizard-field-row--capacity {
    grid-template-columns: repeat(4, 1fr);
}

.app-popup__icon-warning-triangle {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: var(--warning-text);
    -webkit-mask-image: url("../images/icons/warning-E_E3gjK.svg");
    mask-image: url("../images/icons/warning-E_E3gjK.svg");
}

/* @Address autocomplete */

.address-autocomplete {
    position: relative;
}

.address-autocomplete__list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 10;
    margin: 4px 0 0;
    padding: 4px 0;
    list-style: none;
    background: #fff;
    border: 1px solid var(--n300);
    border-radius: 6px;
}

.address-autocomplete__list--open {
    display: block;
}

.address-autocomplete__item {
    padding: 10px 12px;
    font-size: 0.9rem;
    cursor: pointer;
}

.address-autocomplete__item:hover {
    background: var(--n100);
}

.address-map {
    height: 320px;
    margin-top: 16px;
    border: 1px solid var(--n300);
    border-radius: 6px;
}

.address-map__hint {
    margin-top: 8px;
    font-size: 0.8rem;
    color: var(--n400);
}

/* @Date picker */

body .flatpickr-calendar {
    box-sizing: content-box;
    padding: 12px;
    border: 1px solid var(--n200);
    border-radius: 16px;
    background: var(--n0);
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
    font-family: 'Moderat', sans-serif;
}

body .flatpickr-calendar::before,
body .flatpickr-calendar::after {
    display: none;
}

.flatpickr-calendar .flatpickr-months .flatpickr-month,
.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-calendar .flatpickr-current-month input.cur-year,
.flatpickr-calendar span.flatpickr-weekday {
    color: var(--n900);
    fill: var(--n900);
}

.flatpickr-calendar .flatpickr-current-month {
    font-size: 1rem;
    font-weight: 700;
}

.flatpickr-calendar span.flatpickr-weekday {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--n400);
}

.flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg {
    fill: var(--pino);
}

.flatpickr-calendar .flatpickr-day {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 48px;
    line-height: 1.2;
    border-radius: 10px;
    color: var(--n900);
    font-size: 0.9rem;
}

.flatpickr-calendar .flatpickr-day:hover,
.flatpickr-calendar .flatpickr-day.prevMonthDay:hover,
.flatpickr-calendar .flatpickr-day.nextMonthDay:hover {
    border-color: var(--n100);
    background: var(--n100);
}

.flatpickr-calendar .flatpickr-day.today {
    border-color: var(--n900);
}

.flatpickr-calendar .flatpickr-day.inRange,
.flatpickr-calendar .flatpickr-day.inRange:hover {
    border-color: var(--calce);
    background: var(--calce);
    box-shadow: -5px 0 0 var(--calce), 5px 0 0 var(--calce);
}

.flatpickr-calendar .flatpickr-day.selected,
.flatpickr-calendar .flatpickr-day.startRange,
.flatpickr-calendar .flatpickr-day.endRange,
.flatpickr-calendar .flatpickr-day.selected:hover,
.flatpickr-calendar .flatpickr-day.startRange:hover,
.flatpickr-calendar .flatpickr-day.endRange:hover {
    border-color: var(--pino) !important;
    border-radius: 10px !important;
    background: var(--pino) !important;
    box-shadow: none !important;
    color: var(--calce) !important;
}

.flatpickr-calendar .flatpickr-day.flatpickr-disabled,
.flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover {
    border-color: transparent;
    background: transparent;
    color: var(--n300);
}

.flatpickr-calendar.date-picker--compact {
    margin-top: 6px;
}

.flatpickr-calendar.date-picker--compact .flatpickr-day {
    height: 40px;
}

.date-picker__day--unavailable {
    text-decoration: line-through;
}

.date-picker__price {
    font-size: 0.6rem;
    color: var(--n500);
}

.flatpickr-calendar .flatpickr-day.selected .date-picker__price,
.flatpickr-calendar .flatpickr-day.startRange .date-picker__price,
.flatpickr-calendar .flatpickr-day.endRange .date-picker__price {
    color: var(--calce);
}

/* @Search results */

.searchbar--inline {
    flex: 1;
    max-width: none;
    margin: 0;
    padding: 0;
}

.searchbar__segment--field {
    position: relative;
    cursor: text;
}

.searchbar__segment--invalid {
    background: var(--error-bg);
}

.searchbar__input {
    all: unset;
    box-sizing: border-box;
    width: 100%;
    font-size: 0.9rem;
    color: var(--n900);
}

.searchbar__input::placeholder {
    color: var(--n500);
}

.searchbar__popover {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 30;
    flex-direction: column;
    gap: 20px;
    width: 380px;
    margin-top: 8px;
    padding: 24px;
    background: var(--n0);
    border: 1px solid var(--n300);
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
}

.searchbar__popover--open {
    display: flex;
}

.searchbar__suggestions {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 30;
    width: 360px;
    margin: 8px 0 0;
    padding: 8px;
    list-style: none;
    background: var(--n0);
    border: 1px solid var(--n200);
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
}

.searchbar__suggestions--open {
    display: block;
}

.searchbar__panel {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 30;
    width: 420px;
    max-height: 420px;
    margin-top: 8px;
    padding: 16px 12px;
    overflow-y: auto;
    background: var(--n0);
    border: 1px solid var(--n300);
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
}

.searchbar__panel--open {
    display: block;
}

.searchbar__panel-title {
    padding: 0 12px 8px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--n400);
}

.searchbar__place {
    all: unset;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 8px 12px;
    border-radius: 12px;
    cursor: pointer;
}

.searchbar__place:hover {
    background: var(--n100);
}

.searchbar__place-tile {
    flex: 0 0 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: var(--n100);
}

.searchbar__place:hover .searchbar__place-tile {
    background: var(--n0);
}

.searchbar__place-icon {
    width: 22px;
    height: 22px;
    background-color: var(--n600);
    -webkit-mask-image: url("../images/icons/location_on-7GrC1BL.svg");
    mask-image: url("../images/icons/location_on-7GrC1BL.svg");
}

.searchbar__place-name {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    color: var(--n900);
}

.searchbar__place-text {
    display: block;
    font-size: 0.9rem;
    color: var(--n500);
}

.searchbar__suggestion {
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 0.9rem;
    color: var(--n900);
    cursor: pointer;
}

.searchbar__suggestion:hover {
    background: var(--n100);
}

.search-results__toolbar {
    display: flex;
    align-items: center;
    gap: 16px;
}

.search-results__actions {
    display: flex;
    gap: 12px;
}

.search-results__action-icon {
    width: 20px;
    height: 20px;
    background-color: currentColor;
}

.search-results__action-icon--filters {
    -webkit-mask-image: url("../images/icons/tune-X_X1K-J.svg");
    mask-image: url("../images/icons/tune-X_X1K-J.svg");
}

.search-results__action-icon--sort {
    -webkit-mask-image: url("../images/icons/swap_vert-tGQoO4x.svg");
    mask-image: url("../images/icons/swap_vert-tGQoO4x.svg");
}

.search-results__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 32px 0 24px;
}

.search-results__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--n900);
}

.search-sort {
    position: relative;
}

.search-sort__menu {
    display: none;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 30;
    min-width: 220px;
    margin-top: 8px;
    padding: 8px;
    background: var(--n0);
    border: 1px solid var(--n200);
    border-radius: 16px;
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
}

.search-sort__menu--open {
    display: block;
}

.search-sort__option {
    display: block;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 0.9rem;
    color: var(--n700);
}

.search-sort__option:hover {
    background: var(--n100);
}

.search-sort__option--active {
    background: var(--calce);
    font-weight: 700;
    color: var(--n900);
}

/* @Search filters */

.filters-popup,
.cancel-popup,
.review-popup {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    padding: 0;
    border: none;
    background: transparent;
}

.cancel-popup::backdrop,
.filters-popup::backdrop,
.review-popup::backdrop {
    background: rgba(31, 29, 25, .5);
}

.cancel-popup__panel,
.filters-popup__panel,
.review-popup__panel {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    width: 90%;
    max-width: 820px;
    max-height: calc(100% - 64px);
    border-radius: 20px;
    background: var(--n0);
    overflow: hidden;
}

.cancel-popup__header,
.filters-popup__header,
.review-popup__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 28px;
    border-bottom: 1px solid var(--n200);
}

.cancel-popup__title,
.filters-popup__title,
.review-popup__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--n900);
}

.cancel-popup__close,
.filters-popup__close,
.review-popup__close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 999px;
}

.cancel-popup__close:hover,
.filters-popup__close:hover,
.review-popup__close:hover {
    background: var(--n100);
}

.cancel-popup__close-icon,
.filters-popup__close-icon,
.review-popup__close-icon {
    width: 20px;
    height: 20px;
    background-color: var(--n900);
    -webkit-mask-image: url("../images/icons/close-3WDyJzj.svg");
    mask-image: url("../images/icons/close-3WDyJzj.svg");
}

.filters-popup__body {
    flex: 1;
    min-height: 0;
    padding: 8px 28px 24px;
    overflow-y: auto;
}

.filters-popup__section {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 24px 0 0;
}

.filters-popup__section-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--n900);
}

.filters-popup__hint {
    margin-top: -8px;
    font-size: 0.9rem;
    color: var(--n500);
}

.filters-popup__group-title {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--n400);
}

.filters-popup__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.filters-popup__prices {
    display: flex;
    align-items: flex-end;
    gap: 16px;
}

.filters-popup__field {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 6px;
}

.filters-popup__label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--n500);
}

.filters-popup__input {
    box-sizing: border-box;
    height: 52px;
    padding: 0 16px;
    border: 1px solid var(--n300);
    border-radius: 12px;
    font-size: 1rem;
    font-weight: 700;
}

.filters-popup__dash {
    padding-bottom: 14px;
    color: var(--n400);
}

.filters-popup__stepper-row + .filters-popup__stepper-row {
    padding-top: 14px;
}

.cancel-popup__footer,
.filters-popup__footer,
.review-popup__footer {
    display: flex;
    justify-content: flex-end;
    padding: 16px 28px;
    border-top: 1px solid var(--n200);
}

.filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 42px;
    padding: 0 18px;
    border: 1px solid var(--n300);
    border-radius: 999px;
    font-size: 0.9rem;
    color: var(--n700);
}

.filter-chip:hover {
    border-color: var(--n900);
}

.filter-chip--active {
    border-color: var(--pino);
    background: var(--pino);
    color: var(--calce);
}

.filter-chip__icon {
    width: 18px;
    height: 18px;
    background-color: currentColor;
}

.price-range {
    position: relative;
    height: 104px;
}

.price-range__bars {
    display: flex;
    align-items: flex-end;
    gap: 4px;
    height: 72px;
}

.price-range__bar {
    flex: 1;
    border-radius: 3px 3px 0 0;
    background: var(--n300);
}

.price-range__bar--active {
    background: var(--pino);
}

.price-range__track {
    position: absolute;
    right: 0;
    bottom: 18px;
    left: 0;
    height: 4px;
    border-radius: 2px;
    background: var(--n200);
}

.price-range__fill {
    position: absolute;
    top: 0;
    height: 100%;
    background: var(--pino);
}

.price-range__input {
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    width: 100%;
    height: 20px;
    margin: 0;
    background: transparent;
    pointer-events: none;
    -webkit-appearance: none;
    appearance: none;
}

.price-range__input::-webkit-slider-runnable-track {
    background: transparent;
}

.price-range__input::-webkit-slider-thumb {
    width: 24px;
    height: 24px;
    border: 2px solid var(--pino);
    border-radius: 50%;
    background: var(--n0);
    cursor: grab;
    pointer-events: auto;
    -webkit-appearance: none;
    appearance: none;
}

.price-range__input::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border: 2px solid var(--pino);
    border-radius: 50%;
    background: var(--n0);
    cursor: grab;
    pointer-events: auto;
}

/* @Search map */

.view-toggle {
    display: inline-flex;
    padding: 4px;
    border-radius: 999px;
    background: var(--pino);
}

.view-toggle__option {
    padding: 8px 22px;
    border-radius: 999px;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--calce);
}

.view-toggle__option--active {
    background: var(--n0);
    color: var(--n900);
}

.search-map {
    display: grid;
    grid-template-columns: 420px 1fr;
    gap: 24px;
    height: calc(100vh - 300px);
    min-height: 480px;
}

.search-map__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 4px 8px 4px 4px;
    overflow-y: auto;
}

.accommodation-card--row {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 16px;
    padding: 12px;
}

.accommodation-card--row:hover {
    transform: none;
}

.accommodation-card--row .accommodation-card__image {
    flex: 0 0 120px;
    width: 120px;
    height: 88px;
    border-radius: 10px;
}

.accommodation-card--row .accommodation-card__body {
    flex: 1;
    min-width: 0;
    padding: 0 48px 0 0;
}

.accommodation-card--row .accommodation-card__heart {
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    padding: 7px;
    border: 1px solid var(--n200);
    background: var(--n0);
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
}

.accommodation-card--selected {
    border-color: var(--pino);
    box-shadow: 0 0 0 1px var(--pino);
}

.search-map__map {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--n200);
    border-radius: 16px;
    background: var(--n100);
}

.search-map__map--expanded {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    border: 0;
    border-radius: 0;
}

.search-map__canvas {
    width: 100%;
    height: 100%;
}

.search-map__controls {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.search-map__control {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border: 1px solid var(--n200);
    border-radius: 999px;
    background: var(--n0);
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
}

.search-map__zoom {
    overflow: hidden;
    border: 1px solid var(--n200);
    border-radius: 26px;
    background: var(--n0);
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
}

.search-map__control--zoom {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.search-map__control--zoom + .search-map__control--zoom {
    border-top: 1px solid var(--n200);
}

.search-map__control-icon {
    width: 22px;
    height: 22px;
    background-color: var(--n900);
}

.search-map__control-icon--expand {
    -webkit-mask-image: url("../images/icons/open_in_full-MMq6U3E.svg");
    mask-image: url("../images/icons/open_in_full-MMq6U3E.svg");
}

.search-map__control-icon--plus {
    -webkit-mask-image: url("../images/icons/add-vV3qf6d.svg");
    mask-image: url("../images/icons/add-vV3qf6d.svg");
}

.search-map__control-icon--minus {
    -webkit-mask-image: url("../images/icons/remove-TnJfne8.svg");
    mask-image: url("../images/icons/remove-TnJfne8.svg");
}

.search-pin {
    padding: 6px 12px;
    border-radius: 999px;
    background: var(--pino);
    box-shadow: 0 2px 6px rgba(31, 29, 25, .3);
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--calce);
    cursor: pointer;
}

.search-pin--hover,
.search-pin--active {
    background: var(--n900);
    transform: scale(1.1);
}

.search-map__popup {
    display: none;
    position: absolute;
    bottom: 16px;
    left: 50%;
    z-index: 3;
    transform: translateX(-50%);
    width: 380px;
    max-width: calc(100% - 32px);
    padding: 12px;
    gap: 16px;
    border-radius: 16px;
    background: var(--n0);
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
}

.search-map__popup--open {
    display: flex;
}

.search-map__popup-image {
    flex: 0 0 96px;
    width: 96px;
    height: 96px;
    border-radius: 12px;
    object-fit: cover;
}

.search-map__popup-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    padding-right: 20px;
}

.search-map__popup-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--n900);
}

.search-map__popup-meta {
    font-size: 0.9rem;
    color: var(--n500);
}

.search-map__popup-price {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--n900);
}

.search-map__popup-link {
    font-size: 0.8rem;
    text-decoration: underline;
    color: var(--n700);
}

.search-map__popup-close {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}

.search-map__popup-close-icon {
    width: 18px;
    height: 18px;
    background-color: var(--n500);
    -webkit-mask-image: url("../images/icons/close-3WDyJzj.svg");
    mask-image: url("../images/icons/close-3WDyJzj.svg");
}

/* @Review popup */

.review-popup__panel {
    max-width: 560px;
}

.review-popup__body {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 24px 28px;
    overflow-y: auto;
}

.review-popup__stay {
    font-size: 0.9rem;
    color: var(--n600);
}

.review-popup__field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.review-popup__label {
    font-size: 0.9rem;
    color: var(--n600);
}

.review-popup__stars {
    display: flex;
    gap: 4px;
}

.review-popup__star {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 8px;
}

.review-popup__star-icon {
    width: 36px;
    height: 36px;
    background-color: var(--n300);
    -webkit-mask-image: url("../images/icons/star_filled-eneNmZV.svg");
    mask-image: url("../images/icons/star_filled-eneNmZV.svg");
}

.review-popup__star--filled .review-popup__star-icon {
    background-color: var(--miele);
}

.review-popup__textarea {
    box-sizing: border-box;
    width: 100%;
    min-height: 140px;
    padding: 14px;
    border: 1px solid var(--n300);
    border-radius: 8px;
    font-family: inherit;
    font-size: 0.95rem;
    color: var(--n900);
    resize: vertical;
}

.review-popup__textarea:focus {
    border-color: var(--pino);
    outline: none;
}

.review-popup__error {
    font-size: 0.8rem;
    color: var(--error-text);
}

.account-reviews {
    padding-bottom: 64px;
}

.account-reviews__subtitle {
    margin: -8px 0 20px 42px;
    font-size: 1rem;
    color: var(--n500);
}

.account-reviews__panel {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px;
    border: 1px solid var(--n200);
    border-radius: 24px;
    background: var(--n0);
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
}

.account-reviews__empty {
    padding: 32px 0;
    text-align: center;
    color: var(--n500);
}

.account-review {
    display: flex;
    gap: 20px;
    padding: 24px;
    border: 1px solid var(--n200);
    border-radius: 20px;
}

.account-review__avatar {
    display: flex;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    overflow: hidden;
    border: 1px solid var(--n200);
    border-radius: 999px;
    background: var(--calce);
    font-weight: 700;
    color: var(--n900);
}

.account-review__avatar-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.account-review__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}

.account-review__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.account-review__name {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--n900);
}

.account-review__date {
    font-size: 0.9rem;
    color: var(--n400);
}

.account-review__stars {
    display: flex;
    gap: 2px;
    margin-top: 4px;
}

.account-review__star {
    width: 20px;
    height: 20px;
    background-color: var(--miele);
    -webkit-mask-image: url("../images/icons/star-7hpzggj.svg");
    mask-image: url("../images/icons/star-7hpzggj.svg");
}

.account-review__star--filled {
    -webkit-mask-image: url("../images/icons/star_filled-eneNmZV.svg");
    mask-image: url("../images/icons/star_filled-eneNmZV.svg");
}

.account-review__property {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 8px;
    padding: 6px 14px 6px 10px;
    border-radius: 999px;
    background: var(--n100);
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--n700);
}

.account-review__property-icon {
    width: 18px;
    height: 18px;
    background-color: currentColor;
    -webkit-mask-image: url("../images/icons/home-pV9CQKR.svg");
    mask-image: url("../images/icons/home-pV9CQKR.svg");
}

.account-review__pending {
    align-self: flex-start;
    padding: 8px 12px;
    border-radius: 8px;
    background: var(--warning-bg);
    font-size: 0.8rem;
    color: var(--warning-text);
}

.account-review__text {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--n700);
}

.trips__review-done {
    font-size: 0.9rem;
    color: var(--n500);
}

/* @Cancel popup */

.cancel-popup__panel {
    max-width: 680px;
}

.cancel-popup__form {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.cancel-popup__body {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 24px 28px;
    overflow-y: auto;
}

.cancel-popup__intro {
    line-height: 1.6;
    color: var(--n600);
}

.cancel-popup__step {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cancel-popup__step--reason {
    display: none;
}

.cancel-popup__step--reason.cancel-popup__step--active {
    display: flex;
}

.cancel-popup__step-title {
    font-weight: 700;
    color: var(--n900);
}

.cancel-popup__input {
    position: absolute;
    opacity: 0;
}

.cancel-popup__radio {
    flex: none;
    width: 24px;
    height: 24px;
    border: 2px solid var(--n300);
    border-radius: 999px;
}

.cancel-popup__situations {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.cancel-popup__situation {
    position: relative;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px;
    border: 1px solid var(--n200);
    border-radius: 12px;
}

.cancel-popup__situation:has(.cancel-popup__input:checked),
.cancel-popup__reason:has(.cancel-popup__input:checked) {
    border-color: var(--pino);
    background: var(--n50);
    box-shadow: 0 0 0 1px var(--pino);
}

.cancel-popup__situation:has(.cancel-popup__input:checked) .cancel-popup__radio,
.cancel-popup__reason:has(.cancel-popup__input:checked) .cancel-popup__radio {
    border-color: var(--pino);
    background: var(--pino);
    box-shadow: inset 0 0 0 4px var(--n0);
}

.cancel-popup__situation .cancel-popup__radio {
    position: absolute;
    top: 16px;
    right: 16px;
}

.cancel-popup__situation-icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: var(--n100);
}

.cancel-popup__situation:has(.cancel-popup__input:checked) .cancel-popup__situation-icon-wrap {
    background: var(--n0);
}

.cancel-popup__situation-icon {
    width: 24px;
    height: 24px;
    background-color: var(--pino);
}

.cancel-popup__situation-title {
    font-weight: 700;
    color: var(--n900);
}

.cancel-popup__situation-description {
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--n500);
}

.cancel-popup__reasons {
    display: none;
    flex-direction: column;
    gap: 10px;
}

.cancel-popup__reasons--active {
    display: flex;
}

.cancel-popup__reason {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 16px;
    border: 1px solid var(--n200);
    border-radius: 12px;
    color: var(--n900);
}

.cancel-popup__documents {
    display: none;
    flex-direction: column;
    gap: 16px;
    padding-top: 24px;
    border-top: 1px solid var(--n200);
}

.cancel-popup__documents--active {
    display: flex;
}

.cancel-popup__documents-header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cancel-popup__documents-title {
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--n900);
}

.cancel-popup__badge {
    padding: 4px 12px;
    border-radius: 999px;
    background: var(--n100);
    font-size: 0.8rem;
    font-weight: 700;
    color: var(--n700);
}

.cancel-popup__info {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border-radius: 10px;
    background: var(--info-bg);
    color: var(--info-text);
    line-height: 1.5;
}

.cancel-popup__info-icon {
    flex: none;
    width: 22px;
    height: 22px;
    background-color: currentColor;
    -webkit-mask-image: url("../images/icons/shield-mrFmNP0.svg");
    mask-image: url("../images/icons/shield-mrFmNP0.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.cancel-popup__dropzone {
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 32px 20px;
    border: 2px dashed var(--n300);
    border-radius: 12px;
    text-align: center;
}

.cancel-popup__dropzone--dragover {
    border-color: var(--pino);
    background: var(--n50);
}

.cancel-popup__dropzone-icon {
    width: 32px;
    height: 32px;
    margin-bottom: 8px;
    background-color: var(--n500);
    -webkit-mask-image: url("../images/icons/upload-E4neEpD.svg");
    mask-image: url("../images/icons/upload-E4neEpD.svg");
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.cancel-popup__dropzone-text {
    font-weight: 600;
    color: var(--n900);
}

.cancel-popup__dropzone-link {
    text-decoration: underline;
    color: var(--pino);
}

.cancel-popup__dropzone-hint {
    font-size: 0.9rem;
    color: var(--n400);
}

.cancel-popup__files {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cancel-popup__file {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    border: 1px solid var(--n200);
    border-radius: 10px;
    font-size: 0.9rem;
    color: var(--n900);
}

.cancel-popup__file-name {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cancel-popup__file-remove {
    flex: none;
    cursor: pointer;
    font-size: 0.8rem;
    text-decoration: underline;
    color: var(--n600);
}

.cancel-popup__error {
    font-size: 0.9rem;
    color: var(--error-text);
}

.cancel-popup__footer {
    gap: 12px;
}

.cancel-popup__stage {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.cancel-popup__stage--hidden {
    display: none;
}

.cancel-popup--compact .cancel-popup__panel {
    max-width: 520px;
}

.cancel-popup__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cancel-popup__pill {
    padding: 10px 20px;
    border: 1px solid var(--n300);
    border-radius: 999px;
    background: var(--n0);
    color: var(--n700);
}

.cancel-popup__option {
    cursor: pointer;
}

.cancel-popup__option:has(.cancel-popup__input:checked) .cancel-popup__pill,
.cancel-popup__pill--active {
    border-color: var(--pino);
    background: var(--pino);
    color: var(--n0);
    font-weight: 700;
}

.cancel-popup__summary {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
    border-radius: 12px;
    background: var(--n100);
    color: var(--n600);
}

.cancel-popup__summary-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.cancel-popup__summary-row--total {
    font-weight: 700;
    color: var(--n900);
}

/* @Public accommodation detail */

.accommodation-detail__gallery {
    display: flex;
    height: 420px;
    gap: 8px;
    margin-bottom: 24px;
    border-radius: 16px;
    overflow: hidden;
}

.accommodation-detail__gallery-link {
    position: relative;
    display: block;
    cursor: pointer;
}

.accommodation-detail__gallery-link--main {
    flex: 4;
}

.accommodation-detail__gallery-link--hidden {
    display: none;
}

.accommodation-detail__gallery-show-all {
    position: absolute;
    bottom: 14px;
    right: 14px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border-radius: 999px;
    background: var(--n0);
    color: var(--n900);
    font-weight: 700;
    font-size: 0.8rem;
    white-space: nowrap;
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
}

.accommodation-detail__gallery-show-all-icon {
    width: 16px;
    height: 16px;
    background-color: var(--n900);
    -webkit-mask-image: url("../images/icons/grid_view--UeiAFX.svg");
    mask-image: url("../images/icons/grid_view--UeiAFX.svg");
}

.accommodation-detail__gallery-main {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.accommodation-detail__gallery-grid {
    display: flex;
    flex-direction: column;
    flex: 2;
    gap: 8px;
}

.accommodation-detail__gallery-grid .accommodation-detail__gallery-link {
    flex: 1;
    min-height: 0;
}

.accommodation-detail__gallery-thumb {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.accommodation-detail__layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 40px;
    align-items: start;
}

.accommodation-detail__main {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.accommodation-detail__title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.accommodation-detail__title {
    font-family: 'Gelica', serif;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--n900);
}

.accommodation-detail__favorite {
    flex: 0 0 auto;
    gap: 8px;
    color: var(--pino);
}

.accommodation-detail__favorite-icon {
    width: 18px;
    height: 18px;
    background-color: var(--pino);
    -webkit-mask-image: url("../images/icons/favorite-YDwkdh_.svg");
    mask-image: url("../images/icons/favorite-YDwkdh_.svg");
}

.accommodation-detail__favorite-icon--active {
    background-color: var(--terracotta);
    -webkit-mask-image: url("../images/icons/favorite_filled-tlbi3WU.svg");
    mask-image: url("../images/icons/favorite_filled-tlbi3WU.svg");
}

.accommodation-detail__meta {
    color: var(--n600);
    font-size: 0.9rem;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}

.accommodation-detail__rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
    color: var(--n900);
}

.accommodation-detail__rating-icon {
    width: 14px;
    height: 14px;
    background-color: var(--miele);
    -webkit-mask-image: url("../images/icons/star-7hpzggj.svg");
    mask-image: url("../images/icons/star-7hpzggj.svg");
}

.accommodation-detail__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 16px 0;
    border-top: 1px solid var(--n200);
    border-bottom: 1px solid var(--n200);
}

.accommodation-detail__stat {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: var(--n700);
}

.accommodation-detail__stat-icon {
    width: 24px;
    height: 24px;
    flex: none;
    background-color: var(--n600);
}

.accommodation-detail__stat-icon--group { -webkit-mask-image: url("../images/icons/group-BS_YivN.svg"); mask-image: url("../images/icons/group-BS_YivN.svg"); }
.accommodation-detail__stat-icon--group_add { -webkit-mask-image: url("../images/icons/group_add-ZPDU2S_.svg"); mask-image: url("../images/icons/group_add-ZPDU2S_.svg"); }
.accommodation-detail__stat-icon--door_open { -webkit-mask-image: url("../images/icons/door_open-DvFW2-p.svg"); mask-image: url("../images/icons/door_open-DvFW2-p.svg"); }
.accommodation-detail__stat-icon--bed { -webkit-mask-image: url("../images/icons/bed-4df-0MD.svg"); mask-image: url("../images/icons/bed-4df-0MD.svg"); }
.accommodation-detail__stat-icon--bathtub { -webkit-mask-image: url("../images/icons/bathtub-0XeYYtX.svg"); mask-image: url("../images/icons/bathtub-0XeYYtX.svg"); }
.accommodation-detail__stat-icon--weekend { -webkit-mask-image: url("../images/icons/weekend-JS0uvgf.svg"); mask-image: url("../images/icons/weekend-JS0uvgf.svg"); }
.accommodation-detail__stat-icon--square_foot { -webkit-mask-image: url("../images/icons/square_foot-CD70-yR.svg"); mask-image: url("../images/icons/square_foot-CD70-yR.svg"); }

.accommodation-detail__host {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: unset;
    color: inherit;
    cursor: pointer;
}

.accommodation-detail__avatar {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: var(--calce);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--pino);
    flex: none;
    overflow: hidden;
}

.accommodation-detail__avatar-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.accommodation-detail__host-label {
    font-size: 0.8rem;
    color: var(--n400);
}

.accommodation-detail__host-name {
    font-weight: 600;
    color: var(--n900);
}

.accommodation-detail__info-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
}

.accommodation-detail__info-box {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid var(--n200);
    border-radius: 10px;
    padding: 14px;
}

.accommodation-detail__info-icon-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex: none;
    border-radius: 8px;
    background: var(--n100);
}

.accommodation-detail__info-icon {
    display: block;
    width: 22px;
    height: 22px;
    background-color: var(--n700);
}

.accommodation-detail__info-icon--login { -webkit-mask-image: url("../images/icons/login-AoHndsJ.svg"); mask-image: url("../images/icons/login-AoHndsJ.svg"); }
.accommodation-detail__info-icon--logout { -webkit-mask-image: url("../images/icons/logout-02JRdYf.svg"); mask-image: url("../images/icons/logout-02JRdYf.svg"); }

.accommodation-detail__info-label {
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--n400);
    margin-bottom: 2px;
    white-space: nowrap;
}

.accommodation-detail__info-value {
    font-weight: 700;
    color: var(--n900);
}

.accommodation-detail__info-card {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    border: 1px solid var(--n200);
    border-radius: 10px;
    padding: 14px;
}

.accommodation-detail__info-card-icon {
    width: 22px;
    height: 22px;
    flex: none;
    background-color: var(--n700);
}

.accommodation-detail__info-card-icon--key { -webkit-mask-image: url("../images/icons/key-yu9MoS1.svg"); mask-image: url("../images/icons/key-yu9MoS1.svg"); }
.accommodation-detail__info-card-icon--bolt { -webkit-mask-image: url("../images/icons/bolt-GT-3V0Z.svg"); mask-image: url("../images/icons/bolt-GT-3V0Z.svg"); }

.accommodation-detail__info-card-title {
    font-weight: 600;
    color: var(--n900);
}

.accommodation-detail__info-card-description {
    font-size: 0.9rem;
    color: var(--n600);
    margin-top: 2px;
}

.accommodation-detail__cancellation {
    border: 1px solid var(--n200);
    border-radius: 10px;
    padding: 14px;
}

.accommodation-detail__policy {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 6px;
    padding: 12px 14px;
    border-radius: 8px;
}

.accommodation-detail__policy--success { background: var(--success-bg); }
.accommodation-detail__policy--info { background: var(--info-bg); }
.accommodation-detail__policy--warning { background: var(--warning-bg); }
.accommodation-detail__policy--error { background: var(--error-bg); }

.accommodation-detail__policy-icon {
    width: 18px;
    height: 18px;
    flex: none;
}

.accommodation-detail__policy--success .accommodation-detail__policy-icon { background-color: var(--success-text); }
.accommodation-detail__policy--info .accommodation-detail__policy-icon { background-color: var(--info-text); }
.accommodation-detail__policy--warning .accommodation-detail__policy-icon { background-color: var(--warning-text); }
.accommodation-detail__policy--error .accommodation-detail__policy-icon { background-color: var(--error-text); }

.accommodation-detail__policy-text {
    color: var(--n700);
    font-size: 0.9rem;
    line-height: 1.5;
}

.accommodation-detail__section {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 24px;
    border-top: 1px solid var(--n200);
}

.accommodation-detail__section--no-border {
    padding-top: 0;
    border-top: none;
}

.accommodation-detail__section-title {
    font-family: 'Gelica', serif;
    font-size: 1.3rem;
    font-weight: 400;
    color: var(--n900);
}

.accommodation-detail__description {
    color: var(--n700);
    line-height: 1.6;
    white-space: pre-line;
}

.accommodation-detail__amenity-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 40px;
}

.accommodation-detail__amenity {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.9rem;
    color: var(--n700);
}

.accommodation-detail__amenity .wizard-amenity-card__icon {
    width: 24px;
    height: 24px;
}

.accommodation-detail__badges {
    display: flex;
    flex-direction: row;
    gap: 16px;
    flex-wrap: nowrap;
}

.accommodation-detail__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--n700);
    font-size: 0.9rem;
}

.accommodation-detail__badge-icon {
    width: 24px;
    height: 24px;
    background-color: var(--n700);
}

.accommodation-detail__badge-icon--child_care { -webkit-mask-image: url("../images/icons/child_care-7iHOSc7.svg"); mask-image: url("../images/icons/child_care-7iHOSc7.svg"); }
.accommodation-detail__badge-icon--pets { -webkit-mask-image: url("../images/icons/pets-sdTU4KS.svg"); mask-image: url("../images/icons/pets-sdTU4KS.svg"); }

.accommodation-detail__map {
    aspect-ratio: 16 / 7;
    border-radius: 12px;
}

.accommodation-detail__map-placeholder {
    aspect-ratio: 16 / 7;
    border-radius: 12px;
    border: 1px dashed var(--n300);
    background: var(--n50);
    display: flex;
    align-items: center;
    justify-content: center;
}

.accommodation-detail__map-placeholder-icon {
    width: 28px;
    height: 28px;
    background-color: var(--n500);
    -webkit-mask-image: url("../images/icons/location_on-7GrC1BL.svg");
    mask-image: url("../images/icons/location_on-7GrC1BL.svg");
}

.accommodation-detail__disclaimer {
    font-size: 0.9rem;
    color: var(--n400);
}

.review-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 0;
    border-bottom: 1px solid var(--n200);
}

.review-card--boxed {
    padding: 16px;
    border: 1px solid var(--n200);
    border-radius: 8px;
}

.review-card__header {
    display: flex;
    align-items: center;
    gap: 12px;
}

.review-card__avatar {
    width: 36px;
    height: 36px;
    flex: none;
    border-radius: 999px;
    background: var(--calce);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
    color: var(--pino);
    overflow: hidden;
}

.review-card__avatar-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.review-card__author {
    font-weight: 600;
    color: var(--n900);
}

.review-card__date {
    align-self: flex-start;
    margin-left: auto;
    font-size: 0.8rem;
    color: var(--n400);
}

.review-card__stars {
    display: flex;
    gap: 2px;
}

.review-card__star {
    width: 14px;
    height: 14px;
    background-color: var(--n300);
    -webkit-mask-image: url("../images/icons/star-7hpzggj.svg");
    mask-image: url("../images/icons/star-7hpzggj.svg");
}

.review-card__star--filled {
    background-color: var(--miele);
}

.review-card__text {
    color: var(--n700);
    font-size: 0.9rem;
    line-height: 1.5;
}

.translate-toggle__output {
    margin-top: 8px;
    padding: 8px 12px;
    border-radius: 12px;
    background: var(--n0);
    color: var(--n700);
    font-size: 0.9rem;
    line-height: 1.5;
}

.translate-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
    width: fit-content;
    margin-top: 6px;
    padding: 2px 8px;
    border: 1px solid var(--n300);
    border-radius: 999px;
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--n700);
    cursor: pointer;
}

.translate-toggle:hover {
    background: var(--n0);
    color: var(--pino);
}

.translate-toggle:disabled {
    opacity: 0.6;
    cursor: default;
}

.translate-toggle__icon {
    width: 12px;
    height: 12px;
    background-color: currentColor;
    -webkit-mask-image: url("../images/icons/translate-Fj0q6Wx.svg");
    mask-image: url("../images/icons/translate-Fj0q6Wx.svg");
}

.accommodation-detail__sidebar {
    position: sticky;
    top: 96px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    border: 1px solid var(--n200);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
    height: fit-content;
}

.accommodation-detail__price {
    font-size: 1.3rem;
    color: var(--n900);
}

.accommodation-detail__price strong {
    font-size: 1.5rem;
}

.accommodation-detail__book-button,
.accommodation-detail__contact-button {
    width: 100%;
    justify-content: center;
}

.accommodation-detail__book-bar {
    display: none;
}

/* @Buttons */

.button {
    text-decoration: unset;
    cursor: pointer;
    height: 44px;
    display: inline-flex;
    align-items: center;
    padding: 0 20px;
    border-radius: 999px;
    background: var(--pino);
    color: var(--calce);
}

.button:disabled {
    cursor: not-allowed;
    opacity: .5;
}

.button--square {
    border-radius: 8px;
    font-weight: 700;
}

.button--outline {
    border: 1px solid var(--n300);
    background: var(--n0);
    color: var(--n900);
}

.button--with-icon {
    gap: 8px;
}

.button--full {
    width: 100%;
    justify-content: center;
}

.button--large {
    height: 52px;
    font-size: 1rem;
}

.button--danger {
    border: 1px solid var(--error-text);
    background: var(--n0);
    color: var(--error-text);
}

/* @Account */

.account-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    background: var(--n0);
    border: 1px solid var(--n200);
    border-radius: 16px;
    padding: 32px 28px;
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
    margin-bottom: 16px;
}

.account-card__profile-picture-wrap {
    position: relative;
    margin-bottom: 16px;
}

.account-profile-picture {
    width: 96px;
    height: 96px;
    border-radius: 999px;
    background: var(--calce);
    border: 1px solid var(--n200);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.8rem;
    color: var(--pino);
    overflow: hidden;
}

.account-profile-picture__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.account-profile-picture__upload {
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
    position: absolute;
    right: -2px;
    bottom: -2px;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: var(--n0);
    border: 1px solid var(--n200);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(66, 36, 36, .1);
}

.account-profile-picture__upload-icon {
    width: 16px;
    height: 16px;
    background-color: var(--n700);
    -webkit-mask-image: url("../images/icons/add_photo_alternate-ywY6NYs.svg");
    mask-image: url("../images/icons/add_photo_alternate-ywY6NYs.svg");
}

.account-profile-picture__remove {
    all: unset;
    box-sizing: border-box;
    cursor: pointer;
    position: absolute;
    left: -2px;
    bottom: -2px;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: var(--n0);
    border: 1px solid var(--n200);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 2px rgba(66, 36, 36, .1);
}

.account-profile-picture__remove-icon {
    width: 16px;
    height: 16px;
    background-color: var(--error-text);
    -webkit-mask-image: url("../images/icons/delete-XJwWZ1H.svg");
    mask-image: url("../images/icons/delete-XJwWZ1H.svg");
}

.account-card__name {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.3rem;
    font-weight: 400;
    color: var(--n900);
}

.account-card__email {
    color: var(--n500);
    font-size: 0.9rem;
}

.account-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
}

.account-list__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 18px 24px;
    text-decoration: unset;
    color: var(--n900);
    font-size: 1rem;
    font-weight: 600;
    border: 1px solid var(--n200);
    border-radius: 16px;
    background: var(--n0);
    box-shadow: 0 2px 8px rgba(66, 36, 36, .06);
}

.account-list__item--fit {
    align-self: flex-start;
    padding-right: 32px;
}

.account-list__item--compact-only {
    display: none;
}

.account-list__item:hover {
    background: var(--n100);
}

.account-list__icon {
    flex: none;
    width: 20px;
    height: 20px;
    background-color: var(--n600);
}

.account-list__icon--person {
    -webkit-mask-image: url("../images/icons/person-kMNqO5y.svg");
    mask-image: url("../images/icons/person-kMNqO5y.svg");
}

.account-list__icon--star {
    -webkit-mask-image: url("../images/icons/star-7hpzggj.svg");
    mask-image: url("../images/icons/star-7hpzggj.svg");
}

.account-list__icon--lock {
    -webkit-mask-image: url("../images/icons/lock-cYL18_l.svg");
    mask-image: url("../images/icons/lock-cYL18_l.svg");
}

.account-list__icon--logout {
    -webkit-mask-image: url("../images/icons/logout-02JRdYf.svg");
    mask-image: url("../images/icons/logout-02JRdYf.svg");
}

.account-list__icon--home {
    -webkit-mask-image: url("../images/icons/home-pV9CQKR.svg");
    mask-image: url("../images/icons/home-pV9CQKR.svg");
}

.account-list__icon--home_work {
    -webkit-mask-image: url("../images/icons/home_work-5Y47ql9.svg");
    mask-image: url("../images/icons/home_work-5Y47ql9.svg");
}

.account-list__label {
    flex: 1;
}

.account-list__chevron {
    flex: none;
    width: 18px;
    height: 18px;
    background-color: var(--n500);
    transform: rotate(180deg);
    -webkit-mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
    mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
}

.account-form__heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
}

.account-form__back {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: var(--n900);
    text-decoration: unset;
}

.account-form__back-icon {
    width: 22px;
    height: 22px;
    background-color: var(--n900);
    -webkit-mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
    mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
}

.account-form__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--n900);
}

.account-form__section-title {
    font-weight: 600;
    color: var(--n900);
}

.account-form__hint {
    font-size: 0.8rem;
    color: var(--n500);
    margin-top: -8px;
}

.account-form__delete {
    margin-top: 16px;
}

/* @User profile */

.user-profile__layout {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 40px;
    align-items: start;
    margin-bottom: 12px;
}

.user-profile__card {
    background: var(--n0);
    border: 1px solid var(--n300);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
}

.user-profile__card-header {
    display: flex;
    align-items: center;
    gap: 18px;
}

.user-profile__avatar {
    width: 80px;
    height: 80px;
    flex: none;
    border-radius: 999px;
    background: var(--calce);
    border: 1px solid var(--n300);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.6rem;
    color: var(--pino);
    overflow: hidden;
}

.user-profile__avatar-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.user-profile__name {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--n900);
}

.user-profile__stats {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: 20px;
    border-top: 1px solid var(--n200);
    padding-top: 16px;
    text-align: center;
}

.user-profile__stats-group + .user-profile__stats-group {
    border-top: 1px solid var(--n100);
    padding-top: 16px;
}

.user-profile__stats-title {
    margin-bottom: 8px;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--n500);
}

.user-profile__stats-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.user-profile__stat {
    border-right: 1px solid var(--n100);
}

.user-profile__stat:last-child {
    border-right: none;
}

.user-profile__stat-value {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--n900);
}

.user-profile__stat-star {
    color: var(--miele);
}

.user-profile__stat-label {
    font-size: 0.75rem;
    color: var(--n500);
}

.user-profile__details {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.user-profile__detail {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.95rem;
    color: var(--n600);
}

.user-profile__detail--verified {
    color: var(--n900);
    font-weight: 600;
}

.user-profile__detail-icon {
    width: 20px;
    height: 20px;
    flex: none;
    background-color: var(--n500);
}

.user-profile__detail--verified .user-profile__detail-icon {
    background-color: var(--n600);
}

.user-profile__detail-icon--translate {
    -webkit-mask-image: url("../images/icons/translate-Fj0q6Wx.svg");
    mask-image: url("../images/icons/translate-Fj0q6Wx.svg");
}

.user-profile__detail-icon--location {
    -webkit-mask-image: url("../images/icons/location_on-7GrC1BL.svg");
    mask-image: url("../images/icons/location_on-7GrC1BL.svg");
}

.user-profile__detail-icon--school {
    -webkit-mask-image: url("../images/icons/school-uutn5HH.svg");
    mask-image: url("../images/icons/school-uutn5HH.svg");
}

.user-profile__detail-icon--verified {
    -webkit-mask-image: url("../images/icons/verified_user-XvFgl2d.svg");
    mask-image: url("../images/icons/verified_user-XvFgl2d.svg");
}

.user-profile__bio {
    font-size: 0.95rem;
    color: var(--n500);
    line-height: 1.6;
    margin-top: 18px;
}

.user-profile__contact-button {
    margin-top: 20px;
}

.user-profile__contact-icon {
    width: 18px;
    height: 18px;
    background-color: var(--pino);
    -webkit-mask-image: url("../images/icons/forum-rpdTZQ2.svg");
    mask-image: url("../images/icons/forum-rpdTZQ2.svg");
}

.user-profile__section {
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid var(--n200);
}

.user-profile__section-title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.3rem;
    font-weight: 400;
    color: var(--n900);
    margin-bottom: 16px;
}

.user-profile__review-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: start;
}

.user-profile__review-column {
    padding-right: 32px;
}

.user-profile__review-column + .user-profile__review-column {
    padding-right: 0;
    padding-left: 32px;
    border-left: 1px solid var(--n200);
}

.user-profile__reviews {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-height: 600px;
    overflow-y: auto;
}

.user-profile__empty {
    text-align: center;
    padding: 32px 24px;
}

.user-profile__empty-icon-wrap {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    border-radius: 999px;
    background: var(--n100);
    display: flex;
    align-items: center;
    justify-content: center;
}

.user-profile__empty-icon {
    width: 28px;
    height: 28px;
    background-color: var(--n400);
}

.user-profile__empty-icon--home {
    -webkit-mask-image: url("../images/icons/home_work-5Y47ql9.svg");
    mask-image: url("../images/icons/home_work-5Y47ql9.svg");
}

.user-profile__empty-icon--reviews {
    -webkit-mask-image: url("../images/icons/star-7hpzggj.svg");
    mask-image: url("../images/icons/star-7hpzggj.svg");
}

.user-profile__empty-title {
    font-size: 1rem;
    font-weight: 600;
    color: var(--n900);
    margin-bottom: 6px;
}

.user-profile__empty-text {
    font-size: 0.9rem;
    color: var(--n500);
    line-height: 1.6;
    max-width: 420px;
    margin: 0 auto;
}

/* @Booking */

.booking__header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 16px;
}

.booking__header .booking__back {
    margin-bottom: 0;
}

.booking__title {
    font-family: 'Gelica', serif;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--n900);
}

.booking__status-badge {
    margin-bottom: 16px;
}

.booking__host-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.booking__host {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: unset;
    color: inherit;
    cursor: pointer;
}

.booking__host-avatar {
    width: 48px;
    height: 48px;
    border-radius: 999px;
    background: var(--calce);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: var(--pino);
    flex: none;
    overflow: hidden;
}

.booking__host-avatar-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.booking__host-label {
    font-size: 0.8rem;
    color: var(--n400);
}

.booking__host-name {
    font-weight: 600;
    color: var(--n900);
}

.booking__host-rating {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-weight: 600;
}

.booking__host-rating-icon {
    width: 14px;
    height: 14px;
    background-color: var(--miele);
    -webkit-mask-image: url("../images/icons/star-7hpzggj.svg");
    mask-image: url("../images/icons/star-7hpzggj.svg");
}

.booking__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    margin-bottom: 16px;
    color: var(--n900);
}

.booking__back-icon {
    width: 22px;
    height: 22px;
    background-color: var(--n900);
    -webkit-mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
    mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
}

.booking-preview {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.booking-preview__thumb {
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    border-radius: 10px;
    background-color: var(--n200);
    background-size: cover;
    background-position: center;
}

.booking-preview__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.4rem;
    font-weight: 400;
    color: var(--n900);
}

.booking-preview__meta {
    display: flex;
    align-items: center;
    gap: 6px;
    color: var(--n500);
    font-size: 0.9rem;
    margin-top: 4px;
}

.booking-preview__meta-icon {
    width: 15px;
    height: 15px;
    flex: none;
    background-color: var(--n500);
    -webkit-mask-image: url("../images/icons/location_on-7GrC1BL.svg");
    mask-image: url("../images/icons/location_on-7GrC1BL.svg");
}

.booking__stepper {
    display: flex;
    align-items: center;
    gap: 16px;
    height: 52px;
}

.booking__stepper-button {
    width: 36px;
    height: 36px;
    flex: none;
    border-radius: 999px;
    border: 1px solid var(--n300);
    font-size: 1.2rem;
    color: var(--n900);
    display: flex;
    align-items: center;
    justify-content: center;
}

.booking__stepper-value {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--n900);
    min-width: 1.5em;
    text-align: center;
}

.booking__summary-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.booking__info-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.booking__info-box {
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid var(--n200);
    border-radius: 12px;
    padding: 14px 16px;
}

.booking__info-icon-wrap {
    width: 40px;
    height: 40px;
    flex: none;
    border-radius: 8px;
    background: var(--n100);
    display: flex;
    align-items: center;
    justify-content: center;
}

.booking__info-icon {
    width: 20px;
    height: 20px;
    background-color: var(--pino);
}

.booking__info-icon--checkin {
    -webkit-mask-image: url("../images/icons/login-AoHndsJ.svg");
    mask-image: url("../images/icons/login-AoHndsJ.svg");
}

.booking__info-icon--checkout {
    -webkit-mask-image: url("../images/icons/logout-02JRdYf.svg");
    mask-image: url("../images/icons/logout-02JRdYf.svg");
}

.booking__info-icon--guests {
    -webkit-mask-image: url("../images/icons/group-BS_YivN.svg");
    mask-image: url("../images/icons/group-BS_YivN.svg");
}

.booking__info-icon--key {
    -webkit-mask-image: url("../images/icons/key-yu9MoS1.svg");
    mask-image: url("../images/icons/key-yu9MoS1.svg");
}

.booking__info-icon--bolt {
    -webkit-mask-image: url("../images/icons/bolt-GT-3V0Z.svg");
    mask-image: url("../images/icons/bolt-GT-3V0Z.svg");
}

.booking__submit {
    width: 100%;
    justify-content: center;
    margin-top: 20px;
}

.booking__info-label {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--n400);
}

.booking__info-value {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--n900);
    margin-top: 2px;
}

.booking__price-breakdown {
    border: 1px solid var(--n200);
    border-radius: 12px;
    padding: 18px 20px;
}

.booking__price-breakdown-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--n400);
    margin-bottom: 16px;
}

.booking__price-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    font-size: 0.95rem;
    color: var(--n700);
}

.booking__price-row + .booking__price-row {
    margin-top: 12px;
}

.booking__price-row-label {
    color: var(--n900);
}

.booking__price-row-sub {
    font-size: 0.8rem;
    color: var(--n400);
    margin-top: 1px;
}

.booking__price-row-value {
    color: var(--n900);
}

.booking__price-total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--n200);
    font-weight: 700;
    color: var(--n900);
}

.booking__price-total-label {
    font-size: 1.1rem;
}

.booking__price-total-value {
    font-size: 1.3rem;
    text-align: right;
}

.booking__price-total-hint {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--n400);
    margin-top: 2px;
}

.booking__request-notice {
    display: flex;
    align-items: center;
    gap: 12px;
    background: var(--warning-bg);
    border: 1px solid var(--miele);
    border-radius: 6px;
    padding: 12px 16px;
    font-size: 0.9rem;
    color: var(--warning-text);
    margin-bottom: 16px;
}

.booking__payment-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--n0);
    border: 1px solid var(--n300);
    border-radius: 8px;
    padding: 16px 20px;
    margin-bottom: 24px;
    font-size: 0.9rem;
    color: var(--n600);
}

.booking__payment-summary-total {
    font-weight: 700;
    color: var(--n900);
}

.booking__payment-element {
    margin-bottom: 16px;
}

.booking__payment-notice {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: #FFFBF0;
    border: 1px solid var(--miele);
    border-radius: 8px;
    padding: 16px;
    margin: 16px 0 20px;
}

.booking__payment-notice-icon-wrap {
    width: 44px;
    height: 44px;
    flex: none;
    border-radius: 8px;
    background: var(--n0);
    border: 1px solid var(--miele);
    display: flex;
    align-items: center;
    justify-content: center;
}

.booking__payment-notice-icon {
    width: 22px;
    height: 22px;
    background-color: var(--warning-text);
    -webkit-mask-image: url("../images/icons/info-JviOvgW.svg");
    mask-image: url("../images/icons/info-JviOvgW.svg");
}

.booking__payment-notice-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--warning-text);
}

.booking__payment-notice-text {
    font-size: 0.85rem;
    color: var(--warning-text);
    margin-top: 2px;
    line-height: 1.5;
}

.booking-widget {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.booking-widget__dates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border: 1px solid var(--n300);
    border-radius: 8px;
    overflow: hidden;
}

.booking-widget__field {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 10px 14px;
    text-align: left;
    background: var(--n0);
}

.booking-widget__field--right {
    border-left: 1px solid var(--n300);
}

.booking-widget__field--full {
    border: 1px solid var(--n300);
    border-radius: 8px;
}

.booking-widget__field-label {
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--n400);
}

.booking-widget__field-value {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--n900);
    margin-top: 2px;
}

.booking-widget__date-anchor {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    pointer-events: none;
}

.booking-widget__hint {
    font-size: 0.8rem;
    color: var(--n500);
}

.booking-widget__error {
    font-size: 0.85rem;
    color: var(--error-text);
    background: var(--error-bg);
    border-radius: 8px;
    padding: 10px 14px;
}

.booking-widget__breakdown {
    margin-top: 4px;
}

.booking-widget__prompt {
    font-size: 0.85rem;
    color: var(--n500);
    text-align: center;
    padding: 8px 0;
}

.guests-popup {
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    border: none;
    background: transparent;
    padding: 0;
}

.guests-popup__panel {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 420px;
    max-height: calc(100% - 64px);
    overflow-y: auto;
    border-radius: 16px;
    padding: 28px;
    background: var(--n0);
    color: var(--n900);
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.guests-popup::backdrop {
    background: rgba(31, 29, 25, .5);
}

.guests-popup__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.guests-popup__title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--n900);
}

.guests-popup__close {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
}

.guests-popup__close:hover {
    background: var(--n100);
}

.guests-popup__close-icon {
    width: 20px;
    height: 20px;
    background-color: var(--n600);
    -webkit-mask-image: url("../images/icons/close-3WDyJzj.svg");
    mask-image: url("../images/icons/close-3WDyJzj.svg");
}

.guests-popup__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.guests-popup__row + .guests-popup__row {
    padding-top: 20px;
    border-top: 1px solid var(--n200);
}

.guests-popup__row-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--n900);
}

.guests-popup__row-hint {
    font-size: 0.8rem;
    color: var(--n500);
    margin-top: 2px;
}

.guests-popup__actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

.booking__info-card {
    display: flex;
    gap: 14px;
    align-items: center;
    border: 1px solid var(--n200);
    border-radius: 10px;
    padding: 14px;
}

.booking__info-card-title {
    font-weight: 600;
    color: var(--n900);
}

.booking__info-card-description {
    font-size: 0.9rem;
    color: var(--n600);
    margin-top: 2px;
}

.booking__policy-section {
    border: 1px solid var(--n200);
    border-radius: 12px;
    padding: 18px 20px;
}

.booking__policy-section-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--n400);
    margin-bottom: 16px;
}

.policy-card {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 8px;
}

.policy-card--success { background: var(--success-bg); }
.policy-card--info { background: var(--info-bg); }
.policy-card--warning { background: var(--warning-bg); }
.policy-card--error { background: var(--error-bg); }

.policy-card__icon {
    width: 32px;
    height: 32px;
    flex: none;
    border-radius: 999px;
    background-color: var(--n0);
    display: flex;
    align-items: center;
    justify-content: center;
}

.policy-card__icon-glyph {
    width: 18px;
    height: 18px;
}

.policy-card--success .policy-card__icon-glyph { background-color: var(--success-text); }
.policy-card--info .policy-card__icon-glyph { background-color: var(--info-text); }
.policy-card--warning .policy-card__icon-glyph { background-color: var(--warning-text); }
.policy-card--error .policy-card__icon-glyph { background-color: var(--error-text); }

.policy-card__text {
    color: var(--n700);
    font-size: 0.9rem;
    line-height: 1.5;
}

.booking__stay-details {
    border: 1px solid var(--n200);
    border-radius: 12px;
    padding: 18px 20px;
}

.booking__stay-details-title {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--n400);
    margin-bottom: 16px;
}

.booking__stay-details-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    text-align: center;
}

.booking__stay-details-stat-icon {
    display: block;
    width: 22px;
    height: 22px;
    margin: 0 auto 6px;
    background-color: var(--n700);
}

.booking__stay-details-stat-icon--group { -webkit-mask-image: url("../images/icons/group-BS_YivN.svg"); mask-image: url("../images/icons/group-BS_YivN.svg"); }
.booking__stay-details-stat-icon--group_add { -webkit-mask-image: url("../images/icons/group_add-ZPDU2S_.svg"); mask-image: url("../images/icons/group_add-ZPDU2S_.svg"); }
.booking__stay-details-stat-icon--door_open { -webkit-mask-image: url("../images/icons/door_open-DvFW2-p.svg"); mask-image: url("../images/icons/door_open-DvFW2-p.svg"); }
.booking__stay-details-stat-icon--bed { -webkit-mask-image: url("../images/icons/bed-4df-0MD.svg"); mask-image: url("../images/icons/bed-4df-0MD.svg"); }
.booking__stay-details-stat-icon--bathtub { -webkit-mask-image: url("../images/icons/bathtub-0XeYYtX.svg"); mask-image: url("../images/icons/bathtub-0XeYYtX.svg"); }

.booking__stay-details-stat-value {
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--n900);
}

.booking__stay-details-stat-label {
    font-size: 0.8rem;
    color: var(--n500);
    margin-top: 2px;
}

.booking__price-row-main {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.booking__price-row-icon {
    display: block;
    width: 20px;
    height: 20px;
    flex: none;
    margin-top: 2px;
    background-color: var(--n700);
}

.booking__price-row-icon--bed { -webkit-mask-image: url("../images/icons/bed-4df-0MD.svg"); mask-image: url("../images/icons/bed-4df-0MD.svg"); }
.booking__price-row-icon--group_add { -webkit-mask-image: url("../images/icons/group_add-ZPDU2S_.svg"); mask-image: url("../images/icons/group_add-ZPDU2S_.svg"); }
.booking__price-row-icon--cleaning_services { -webkit-mask-image: url("../images/icons/cleaning_services-VydBx1d.svg"); mask-image: url("../images/icons/cleaning_services-VydBx1d.svg"); }
.booking__price-row-icon--pets { -webkit-mask-image: url("../images/icons/pets-sdTU4KS.svg"); mask-image: url("../images/icons/pets-sdTU4KS.svg"); }
.booking__price-row-icon--receipt_long { -webkit-mask-image: url("../images/icons/receipt_long-e0pfqTN.svg"); mask-image: url("../images/icons/receipt_long-e0pfqTN.svg"); }

/* @Trips */

.trips__title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.8rem;
    font-weight: 400;
    color: var(--n900);
    letter-spacing: -0.01em;
    margin-bottom: 20px;
}

.filter-tabs {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-bottom: 24px;
}

.filter-tabs__tab {
    height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 0 18px;
    border-radius: 999px;
    border: 1px solid var(--n300);
    color: var(--n600);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: unset;
}

.filter-tabs__tab--active {
    background: var(--pino);
    border-color: var(--pino);
    color: var(--calce);
}

.trips__empty {
    max-width: 420px;
    margin: 64px auto 0;
    text-align: center;
}

.trips__empty-icon {
    display: block;
    width: 34px;
    height: 34px;
    margin: 0 auto 20px;
    background-color: var(--n400);
    -webkit-mask-image: url("../images/icons/confirmation_number-Z2Zexad.svg");
    mask-image: url("../images/icons/confirmation_number-Z2Zexad.svg");
}

.trips__empty-title {
    font-family: 'Gelica', Georgia, serif;
    font-size: 1.5rem;
    font-weight: 400;
    color: var(--n900);
    margin-bottom: 8px;
}

.trips__empty-text {
    font-size: 0.9rem;
    color: var(--n500);
    line-height: 1.6;
}

.trips__list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
}

.trips__card {
    display: block;
    text-decoration: unset;
    color: inherit;
    border: 1px solid var(--n200);
    border-radius: 16px;
    overflow: hidden;
    background: var(--n0);
    box-shadow: 0 1px 2px rgba(66, 36, 36, .06), 0 2px 8px rgba(66, 36, 36, .05);
    transition: box-shadow 120ms ease, transform 120ms ease;
}

.trips__card:hover {
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
    transform: translateY(-2px);
}

.trips__card-image {
    display: block;
    width: 100%;
    aspect-ratio: 8 / 5;
    background-color: var(--n200);
    object-fit: cover;
}

.trips__card-body {
    padding: 16px;
}

.trips__card-title {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-weight: 600;
    font-size: 1rem;
    color: var(--n900);
    margin-top: 12px;
}

.trips__card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    color: var(--n500);
    margin-top: 6px;
}

.trips__card-footer {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: var(--n700);
    margin-top: 10px;
}

.trips__card-title-icon {
    width: 18px;
    height: 18px;
    flex: none;
    margin-top: 1px;
    background-color: var(--n700);
    -webkit-mask-image: url("../images/icons/home-pV9CQKR.svg");
    mask-image: url("../images/icons/home-pV9CQKR.svg");
}

.trips__card-meta-icon {
    width: 16px;
    height: 16px;
    flex: none;
    background-color: var(--n500);
}

.trips__card-meta-icon--location { -webkit-mask-image: url("../images/icons/location_on-7GrC1BL.svg"); mask-image: url("../images/icons/location_on-7GrC1BL.svg"); }
.trips__card-meta-icon--dates { -webkit-mask-image: url("../images/icons/calendar_month-Y79Uhqp.svg"); mask-image: url("../images/icons/calendar_month-Y79Uhqp.svg"); }
.trips__card-meta-icon--guests { background-color: var(--n700); -webkit-mask-image: url("../images/icons/group-BS_YivN.svg"); mask-image: url("../images/icons/group-BS_YivN.svg"); }

.status-badge {
    display: inline-flex;
    align-items: center;
    height: 26px;
    padding: 0 12px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
}

.status-badge--pending {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.status-badge--confirmed,
.status-badge--in_progress {
    background: var(--success-bg);
    color: var(--success-text);
}

.status-badge--past {
    background: var(--n100);
    color: var(--n700);
}

.status-badge--cancelled {
    background: var(--error-bg);
    color: var(--error-text);
}

.booking__documents {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
}

.booking__documents-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.booking__documents-title {
    font-weight: 700;
    color: var(--n900);
}

.booking__documents-text {
    color: var(--n600);
}

.booking__documents-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.9rem;
    color: var(--n900);
}

.booking__documents-input {
    display: none;
}

.booking__documents-error {
    font-size: 0.9rem;
    color: var(--error-text);
}

.trips__detail-actions {
    display: flex;
    gap: 12px;
    margin-top: 20px;
}

/* @Host calendar */

.calendar__title {
    font-family: 'Gelica', serif;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--n900);
    margin-bottom: 24px;
}

.calendar__layout {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 32px;
    align-items: start;
}

.calendar__month {
    margin-bottom: 40px;
}

.calendar__month--hidden {
    display: none;
}

.calendar__more {
    display: block;
    margin: 0 auto 40px;
}

.calendar__month-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--n900);
    margin-bottom: 16px;
}

.calendar__weekdays,
.calendar__grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 94px));
    gap: 14px;
}

.calendar__weekdays {
    margin-bottom: 8px;
}

.calendar__weekday {
    text-align: center;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--n400);
}

.calendar-day {
    container-type: inline-size;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    aspect-ratio: 1 / 1;
    padding: 8px 10px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-size: 0.8rem;
}

.calendar-day--empty {
    visibility: hidden;
}

.calendar-day--past {
    background: var(--n100);
    color: var(--n400);
    cursor: default;
}

.calendar-day--available {
    background: var(--n0);
    border-color: var(--n900);
    color: var(--n900);
}

.calendar-day--available:hover {
    background: var(--n50);
}

.calendar-day--selected,
.calendar-day--selected:hover {
    background: var(--pino);
    color: var(--calce);
}

.calendar-day--blocked {
    background: var(--warning-bg);
    border-color: var(--miele);
    color: var(--warning-text);
}

.calendar-day--occupied {
    background: var(--info-bg);
    color: var(--info-text);
    cursor: default;
}

.calendar-day__label {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.7rem;
    white-space: nowrap;
}

@container (max-width: 66px) {
    .calendar-day--blocked .calendar-day__label,
    .calendar-day--occupied .calendar-day__label {
        gap: 0;
        font-size: 0;
    }

    .calendar-day--blocked .calendar-day__icon,
    .calendar-day--occupied .calendar-day__icon {
        width: 14px;
        height: 14px;
    }
}

.calendar-day__icon {
    width: 12px;
    height: 12px;
    background-color: currentColor;
}

.calendar-day__icon--lock {
    -webkit-mask-image: url("../images/icons/lock-cYL18_l.svg");
    mask-image: url("../images/icons/lock-cYL18_l.svg");
}

.calendar-day__icon--check {
    -webkit-mask-image: url("../images/icons/check-BBzrl3w.svg");
    mask-image: url("../images/icons/check-BBzrl3w.svg");
}

.calendar__sidebar {
    position: sticky;
    top: 96px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    height: fit-content;
}

.calendar__card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
    border: 1px solid var(--n200);
    border-radius: 16px;
    background: var(--n0);
    box-shadow: 0 4px 12px rgba(66, 36, 36, .08), 0 10px 28px rgba(66, 36, 36, .07);
}

.calendar__card--selection {
    display: none;
    gap: 16px;
    border-color: var(--n900);
}

.calendar__card--open {
    display: flex;
}

.calendar__card-label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--n400);
}

.calendar__card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.calendar__card-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--n900);
}

.calendar__card-close {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: var(--n100);
}

.calendar__card-close-icon {
    width: 20px;
    height: 20px;
    background-color: var(--n900);
    -webkit-mask-image: url("../images/icons/close-3WDyJzj.svg");
    mask-image: url("../images/icons/close-3WDyJzj.svg");
}

.calendar__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.calendar__field-label {
    font-size: 0.9rem;
    color: var(--n600);
}

.calendar__field-error {
    font-size: 0.8rem;
    color: var(--error-text);
}

.calendar__lock-icon {
    width: 18px;
    height: 18px;
    background-color: currentColor;
    -webkit-mask-image: url("../images/icons/lock-cYL18_l.svg");
    mask-image: url("../images/icons/lock-cYL18_l.svg");
}

.calendar-structure {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px;
    border: 1px solid var(--n200);
    border-radius: 12px;
}

.calendar-structure--active {
    border: 2px solid var(--n900);
    background: var(--calce);
}

.calendar-structure__thumb {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background-color: var(--n200);
    background-size: cover;
    background-position: center;
}

.calendar-structure__title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--n900);
}

.calendar__hint {
    padding-top: 12px;
    border-top: 1px solid var(--n200);
    font-size: 0.8rem;
    line-height: 1.5;
    color: var(--n500);
}

.calendar-today {
    display: none;
    position: fixed;
    bottom: 24px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 50;
    align-items: center;
    gap: 8px;
    height: 44px;
    padding: 0 20px;
    border-radius: 999px;
    background: var(--pino);
    color: var(--calce);
    font-size: 0.9rem;
    font-weight: 700;
}

.calendar-today--visible {
    display: inline-flex;
}

.calendar-today__icon {
    width: 16px;
    height: 16px;
    background-color: currentColor;
    transform: rotate(180deg);
    -webkit-mask-image: url("../images/icons/chevron-down-OwZ-e-z.svg");
    mask-image: url("../images/icons/chevron-down-OwZ-e-z.svg");
}

.calendar-toast {
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(-24px);
    z-index: 1100;
    padding: 12px 24px;
    border-radius: 999px;
    background: var(--pino);
    color: var(--calce);
    font-size: 0.9rem;
    font-weight: 700;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s, transform 0.2s;
}

.calendar-toast--visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* @Host bookings */

.host-bookings__title {
    font-family: 'Gelica', serif;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--n900);
    margin-bottom: 16px;
}

.host-bookings-empty {
    padding: 56px 24px;
    text-align: center;
}

.host-bookings-empty__icon {
    width: 64px;
    height: 64px;
    border-radius: 999px;
    background: var(--n100);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}

.host-bookings-empty__icon-glyph {
    width: 30px;
    height: 30px;
    background-color: var(--n400);
    -webkit-mask-image: url("../images/icons/confirmation_number-Z2Zexad.svg");
    mask-image: url("../images/icons/confirmation_number-Z2Zexad.svg");
}

.host-bookings-empty__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--n900);
}

.host-bookings-empty__text {
    font-size: 0.9rem;
    color: var(--n500);
    line-height: 1.5;
    margin: 6px auto 0;
    max-width: 380px;
}

.host-bookings-list {
    border: 1px solid var(--n200);
    border-radius: 16px;
    background: var(--n0);
    overflow: hidden;
}

.host-bookings-list__header,
.host-bookings-list__row {
    display: grid;
    grid-template-columns: 1.3fr 1.5fr 1.6fr 1fr 1.1fr;
    gap: 12px;
    align-items: center;
    padding: 16px 20px;
}

.host-bookings-list__header {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--n400);
    border-bottom: 1px solid var(--n200);
}

.host-bookings-list__row {
    text-decoration: unset;
    color: var(--n900);
    font-size: 0.9rem;
    border-bottom: 1px solid var(--n100);
}

.host-bookings-list__row:last-child {
    border-bottom: none;
}

.host-bookings-list__row:hover {
    background: var(--n100);
}

.host-bookings-list__guest {
    font-weight: 600;
}

.host-bookings-list__muted {
    color: var(--n600);
}

/* @Host earnings */

.host-earnings__heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.host-earnings__title {
    font-family: 'Gelica', serif;
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: var(--n900);
}

.host-earnings__actions {
    display: flex;
    gap: 12px;
}

.host-earnings__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
}

.host-earnings__nav {
    display: flex;
    align-items: center;
    gap: 12px;
}

.host-earnings__nav-label {
    min-width: 140px;
    text-align: center;
    font-weight: 700;
    color: var(--n900);
}

.host-earnings__nav-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--n300);
    border-radius: 999px;
}

.host-earnings__nav-button:hover {
    background: var(--n100);
}

.host-earnings__nav-button--disabled {
    opacity: 0.4;
    pointer-events: none;
}

.host-earnings__nav-icon {
    width: 18px;
    height: 18px;
    background-color: var(--n900);
    -webkit-mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
    mask-image: url("../images/icons/chevron-left-FX8y1nb.svg");
}

.host-earnings__nav-button--next .host-earnings__nav-icon {
    transform: rotate(180deg);
}

.host-earnings__filter {
    min-width: 220px;
}

.host-earnings__select,
.cancel-popup__select {
    width: 100%;
    height: 46px;
    padding: 0 12px;
    border: 1px solid var(--n300);
    border-radius: 10px;
    background: var(--n0);
    color: var(--n900);
    font: inherit;
    outline: none;
}

.host-earnings__select:focus,
.cancel-popup__select:focus {
    border-color: var(--pino);
}

.host-earnings__note,
.host-earnings__held {
    margin-bottom: 8px;
    font-size: 0.9rem;
    color: var(--n500);
}

.host-earnings__held {
    margin-bottom: 24px;
    color: var(--n700);
}

.host-earnings__summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-bottom: 16px;
}

.host-earnings__card {
    padding: 24px;
    border: 1px solid var(--n200);
    border-radius: 16px;
    background: var(--n0);
}

.host-earnings__card--highlight {
    border-color: var(--pino);
    background: var(--pino);
    color: var(--n0);
}

.host-earnings__card-label {
    font-size: 0.9rem;
    color: var(--n500);
}

.host-earnings__card--highlight .host-earnings__card-label {
    color: var(--n300);
}

.host-earnings__card-value {
    margin-top: 8px;
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--n900);
}

.host-earnings__card--highlight .host-earnings__card-value {
    color: var(--n0);
}

.host-earnings-empty {
    padding: 56px 24px;
    text-align: center;
}

.host-earnings-empty__icon {
    width: 64px;
    height: 64px;
    border-radius: 999px;
    background: var(--n100);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
}

.host-earnings-empty__icon-glyph {
    width: 30px;
    height: 30px;
    background-color: var(--n400);
    -webkit-mask-image: url("../images/icons/payments-mVWv8tE.svg");
    mask-image: url("../images/icons/payments-mVWv8tE.svg");
}

.host-earnings-empty__title {
    font-size: 1.1rem;
    font-weight: 700;
    color: var(--n900);
}

.host-earnings-empty__text {
    font-size: 0.9rem;
    color: var(--n500);
    line-height: 1.5;
    margin: 6px auto 0;
    max-width: 380px;
}

.host-earnings-list {
    border: 1px solid var(--n200);
    border-radius: 16px;
    background: var(--n0);
    overflow: hidden;
}

.host-earnings-list__header,
.host-earnings-list__row {
    display: grid;
    grid-template-columns: 1.3fr 1.5fr 1fr 1fr 1fr 1fr;
    gap: 12px;
    align-items: center;
    padding: 16px 20px;
}

.host-earnings-list__header {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--n400);
    border-bottom: 1px solid var(--n200);
}

.host-earnings-list__row {
    text-decoration: unset;
    color: var(--n900);
    font-size: 0.9rem;
    border-bottom: 1px solid var(--n100);
}

.host-earnings-list__row:last-child {
    border-bottom: none;
}

.host-earnings-list__row:hover {
    background: var(--n100);
}

.host-earnings-list__row--total {
    font-weight: 700;
    background: var(--n100);
    border-top: 1px solid var(--n200);
}

.host-earnings-list__row--total:hover {
    background: var(--n100);
}

.host-earnings-list__guest,
.host-earnings-list__net {
    font-weight: 700;
}

.host-earnings__pager {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 20px;
}

.host-earnings__pager-label {
    font-size: 0.9rem;
    color: var(--n600);
}

.host-earnings-list__muted {
    color: var(--n600);
}

/* @Tablet header */

@media (max-width: 1200px) {
    .header {
        padding: 0 24px;
    }

    .header__host-cta {
        display: none;
    }

    .account-list__item--compact-only {
        display: flex;
    }

    .header__link {
        padding: 10px;
    }
}

/* @Mobile base and header */

@media (max-width: 900px) {
    body {
        padding-bottom: 64px;
    }

    .main {
        padding: 88px 0 40px;
    }

    .header {
        height: 64px;
        flex-basis: 64px;
        padding: 0 16px;
    }

    .header__logo {
        height: 24px;
    }

    .header__avatar {
        width: 40px;
        height: 40px;
    }

    .header__nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 50;
        justify-content: space-around;
        height: 64px;
        padding: 0 4px;
        background: var(--n0);
        border-top: 1px solid var(--n200);
    }

    .header__link {
        display: flex;
        flex: 1;
        align-items: center;
        justify-content: center;
        min-width: 0;
        height: 48px;
        padding: 0;
    }

    .header__link-icon {
        display: block;
    }

    .header__link-dot {
        top: 10px;
        right: auto;
        left: calc(50% + 6px);
    }

    .header__link-label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
    }

    body:has(.wizard-footer) {
        padding-bottom: 0;
    }

    body:has(.wizard-footer) .header__nav {
        display: none;
    }
}

@media (max-width: 768px) {
    html {
        scroll-behavior: smooth;
    }

    .container {
        width: 92%;
    }
}

/* @Mobile home */

@media (max-width: 768px) {
    .hero__media {
        height: auto;
        min-height: 300px;
        border-radius: 20px;
    }

    .hero__content {
        position: relative;
        min-height: 300px;
        padding: 32px 20px 72px;
    }

    .hero__title {
        font-size: 2rem;
    }

    .hero__subtitle {
        font-size: 0.9rem;
    }

    .searchbar {
        margin-top: -48px;
        padding: 0 12px;
    }

    .searchbar__bar {
        flex-direction: column;
        align-items: stretch;
        border-radius: 24px;
    }

    .searchbar__guests {
        flex: none;
        margin-right: 0;
        display: block;
    }

    .searchbar__segment {
        flex: none;
        width: 100%;
        padding: 12px 16px;
        border-radius: 16px;
    }

    .searchbar__divider {
        width: auto;
        height: 1px;
        margin: 4px 16px;
    }

    .searchbar__cta {
        justify-content: center;
        margin-top: 8px;
        height: 48px;
    }

    .searchbar__input {
        font-size: 1rem;
    }

    .searchbar__suggestions,
    .searchbar__panel {
        width: 100%;
        margin-top: 8px;
    }

    .searchbar__popover {
        left: 0;
        width: auto;
        padding: 20px;
    }

    .trust-list {
        gap: 12px 20px;
        margin-top: 20px;
        padding: 0;
    }

    .city-section {
        margin-top: 36px;
    }

    .city-section__header {
        flex-direction: column;
        gap: 4px;
    }

    .city-section__title {
        font-size: 1.3rem;
    }

    .accommodation-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .accommodation-card__body {
        padding: 10px 12px 12px;
    }
}

@media (max-width: 480px) {
    .accommodation-grid {
        grid-template-columns: 1fr;
    }
}

/* @Mobile footer */

@media (max-width: 768px) {
    .footer__top {
        grid-template-columns: 1fr 1fr;
        padding: 40px 0 24px;
        gap: 24px;
    }

    .footer__brand {
        grid-column: 1 / -1;
    }

    .footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .lang-modal {
        padding: 20px 16px;
    }
}

/* @Mobile search */

@media (max-width: 768px) {
    .search-results__toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .search-results__actions {
        justify-content: flex-start;
    }

    .search-results__actions .button {
        height: 44px;
        font-size: 0.9rem;
    }

    .searchbar--inline {
        margin: 0;
        padding: 0;
    }

    .search-results__header {
        margin: 24px 0 16px;
        gap: 12px;
    }

    .search-results__title {
        font-size: 1.4rem;
    }

    .view-toggle__option {
        padding: 8px 16px;
    }

    .search-sort__menu {
        left: 0;
        right: 0;
        min-width: 0;
    }

    .cancel-popup__panel,
    .filters-popup__panel,
    .review-popup__panel {
        width: 100%;
        max-width: none;
        height: 100%;
        max-height: none;
        border-radius: 0;
    }

    .cancel-popup__header,
    .filters-popup__header,
    .review-popup__header,
    .cancel-popup__footer,
    .filters-popup__footer,
    .review-popup__footer {
        padding-left: 20px;
        padding-right: 20px;
    }

    .filters-popup__body {
        padding: 8px 20px 24px;
    }

    .filters-popup__prices {
        gap: 10px;
    }

    .cancel-popup__footer .button,
    .filters-popup__footer .button,
    .review-popup__footer .button {
        width: 100%;
    }

    .cancel-popup__body {
        padding: 20px;
    }

    .cancel-popup__situations {
        grid-template-columns: minmax(0, 1fr);
    }

    .cancel-popup__footer {
        flex-direction: column-reverse;
    }

    .search-map {
        grid-template-columns: minmax(0, 1fr);
        height: auto;
        min-height: 0;
    }

    .search-map__map {
        order: -1;
        height: 60vh;
        min-height: 360px;
    }

    .search-map__map--expanded {
        height: auto;
        min-height: 0;
    }

    .search-map__list {
        padding: 0;
        overflow-y: visible;
    }

    .accommodation-card--row .accommodation-card__image {
        flex-basis: 96px;
        width: 96px;
        height: 80px;
    }

    .accommodation-card--row .accommodation-card__body {
        padding-right: 40px;
    }

    .search-map__controls {
        top: 12px;
        right: 12px;
        gap: 8px;
    }

    .search-map__control {
        width: 44px;
        height: 44px;
    }
}

/* @Mobile accommodation detail */

@media (max-width: 768px) {
    .accommodation-detail__gallery {
        height: 260px;
        margin-bottom: 16px;
        border-radius: 12px;
    }

    .accommodation-detail__gallery-show-all {
        bottom: 8px;
        right: 8px;
        padding: 6px 10px;
    }

    .accommodation-detail__layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .accommodation-detail__title {
        font-size: 1.5rem;
    }

    .accommodation-detail__sidebar {
        position: static;
        scroll-margin-top: 80px;
    }

    .accommodation-detail__book-bar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 64px;
        z-index: 45;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 12px 16px;
        background: var(--n0);
        border-top: 1px solid var(--n200);
    }

    .accommodation-detail__book-bar--hidden {
        display: none;
    }

    .accommodation-detail__book-bar-price {
        font-size: 0.9rem;
        color: var(--n600);
    }

    .accommodation-detail__book-bar-price strong {
        font-size: 1.1rem;
        color: var(--n900);
    }

    .accommodation-detail__book-bar-button {
        flex: none;
        justify-content: center;
    }

    .accommodation-detail__amenity-list {
        flex-direction: column;
    }
}

/* @Mobile booking and account */

@media (max-width: 768px) {
    .booking__title {
        font-size: 1.5rem;
    }

    .booking__info-row {
        grid-template-columns: 1fr;
    }

    .booking__stay-details-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .booking__payment-summary {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
    }

    .guests-popup__panel {
        padding: 20px;
    }
}

@media (max-width: 768px) {
    .user-profile__layout {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .user-profile__review-columns {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .user-profile__review-column,
    .user-profile__review-column + .user-profile__review-column {
        padding: 0;
        border-left: none;
    }
}

/* @Mobile host guide */

@media (max-width: 768px) {
    .host-guide__hero {
        grid-template-columns: 1fr;
        gap: 24px;
        padding-bottom: 32px;
    }

    .host-guide__title {
        font-size: 2rem;
    }

    .host-guide__hero-image {
        aspect-ratio: 2 / 1;
    }

    .host-guide__stats {
        grid-template-columns: 1fr;
        gap: 12px;
        padding-bottom: 32px;
    }

    .host-guide__stat {
        padding: 20px;
    }

    .host-guide__steps {
        padding: 32px 0;
    }

    .host-guide__steps-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .host-guide__final {
        padding: 28px 20px;
    }
}

/* @Mobile host lists */

@media (max-width: 768px) {
    .host-accommodations__title,
    .host-bookings__title,
    .host-detail__title,
    .calendar__title {
        font-size: 1.5rem;
    }

    .host-accommodation-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .filter-tabs {
        flex-wrap: nowrap;
        margin-right: -4vw;
        padding-right: 4vw;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .filter-tabs__tab {
        flex: none;
    }

    .host-bookings-list__header {
        display: none;
    }

    .host-bookings-list__row {
        grid-template-columns: 1fr auto;
        gap: 4px 12px;
        padding: 14px 16px;
    }

    .host-bookings-list__row > * {
        grid-column: 1;
    }

    .host-bookings-list__row > :last-child {
        grid-column: 2;
        grid-row: 1;
    }

    .host-earnings__title {
        font-size: 1.5rem;
    }

    .host-earnings__heading {
        flex-wrap: wrap;
    }

    .host-earnings__toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .host-earnings__nav {
        justify-content: space-between;
    }

    .host-earnings__summary {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .host-earnings-list__header {
        display: none;
    }

    .host-earnings-list__row {
        grid-template-columns: 1fr auto;
        gap: 4px 12px;
        padding: 14px 16px;
    }

    .host-earnings-list__row > * {
        grid-column: 1;
    }

    .host-earnings-list__row > :last-child {
        grid-column: 2;
        grid-row: 1;
    }
}

@media (max-width: 480px) {
    .host-accommodation-grid {
        grid-template-columns: 1fr;
    }
}

/* @Mobile host detail */

@media (max-width: 768px) {
    .host-detail__actions {
        width: 100%;
    }

    .host-detail__status {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }

    .host-detail__tabs {
        flex-wrap: nowrap;
        margin-right: -4vw;
        padding-right: 4vw;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .host-detail__save-row .button {
        width: 100%;
        justify-content: center;
    }
}

/* @Tablet and mobile host calendar */

@media (max-width: 1100px) {
    .calendar__layout {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
    }

    .calendar__main {
        order: 1;
        max-width: 742px;
    }

    .calendar__weekdays,
    .calendar__grid {
        grid-template-columns: repeat(7, minmax(0, 1fr));
        gap: 8px;
    }

    .calendar__sidebar {
        display: contents;
    }

    .calendar__card--selection.calendar__card--open {
        order: -1;
        position: sticky;
        top: 72px;
        z-index: 5;
        max-height: 50vh;
        overflow-y: auto;
    }
}

@media (max-width: 900px) {
    .calendar-today {
        bottom: 80px;
    }
}

@media (max-width: 768px) {
    .calendar__weekdays,
    .calendar__grid {
        gap: 4px;
    }

    .calendar-day {
        padding: 4px;
        border-radius: 8px;
        font-size: 0.7rem;
    }

    .calendar-toast {
        top: 76px;
        max-width: 90%;
    }
}

/* @Mobile host wizard */

@media (max-width: 768px) {
    .wizard-page {
        padding-bottom: 88px;
    }

    .wizard-progress__title {
        font-size: 1.2rem;
    }

    .wizard-progress__save {
        height: 40px;
        padding: 0 14px;
    }

    .wizard-card {
        margin-top: 16px;
        padding: 20px 16px;
    }

    .wizard-footer {
        height: 72px;
    }

    .wizard-footer__left {
        gap: 12px;
    }

    .wizard-footer__back,
    .wizard-footer__next {
        height: 44px;
        padding: 0 16px;
    }

    .wizard-type-grid,
    .wizard-space-list,
    .wizard-photo-grid,
    .wizard-amenity-grid,
    .wizard-field-row--capacity {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .wizard-field-row,
    .wizard-field-row--three,
    .wizard-booking-list {
        grid-template-columns: 1fr;
    }

    .wizard-type-card {
        padding: 14px;
    }
}

/* @Mobile messages */

@media (max-width: 768px) {
    .messages__title {
        font-size: 1.5rem;
        margin-bottom: 16px;
    }

    .messages__layout {
        height: calc(100dvh - 240px);
        min-height: 360px;
    }

    .messages__list {
        flex: 1;
        border-right: none;
    }

    .messages__thread {
        display: none;
    }

    .messages__layout--thread .messages__list {
        display: none;
    }

    .messages__layout--thread .messages__thread {
        display: flex;
    }

    .messages__thread-back {
        display: flex;
        flex: none;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
    }

    .messages__thread-header {
        padding: 12px 16px;
    }

    .messages__thread-body {
        padding: 16px;
    }

    .messages__bubble {
        max-width: 85%;
    }

    .messages__banner {
        gap: 10px;
        padding: 8px 12px;
    }
}
