.nomelo-brand { display: inline-flex; align-items: center; gap: .62rem; font-weight: 800; font-size: 1.08rem; color: var(--n-navy); letter-spacing: -.025em; }
.nomelo-brand__mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: linear-gradient(145deg, var(--n-violet), var(--n-blue)); color: #fff; font-size: 1.3rem; line-height: 1; box-shadow: 0 8px 22px rgba(60, 76, 220, .22); }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { max-height: 44px; width: auto; }

.nomelo-btn { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: .5rem; padding: .78rem 1.08rem; border: 1px solid transparent; border-radius: 999px; font-size: .9rem; font-weight: 760; transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; cursor: pointer; }
.nomelo-btn:hover { transform: translateY(-1px); }
.nomelo-btn--sm { min-height: 40px; padding: .62rem .9rem; font-size: .84rem; }
.nomelo-btn--primary { color: #fff; background: var(--n-navy); box-shadow: 0 10px 24px rgba(15, 23, 47, .13); }
.nomelo-btn--primary:hover { background: #182344; box-shadow: 0 14px 30px rgba(15, 23, 47, .18); }
.nomelo-btn--outline { color: var(--n-navy); border-color: var(--n-line); background: #fff; }
.nomelo-btn--outline:hover { border-color: #cfd4df; box-shadow: var(--n-shadow-sm); }
.nomelo-btn--white { color: var(--n-navy); background: #fff; box-shadow: 0 12px 30px rgba(5, 12, 32, .16); }
.nomelo-btn--ghost { min-height: 40px; padding: .55rem .8rem; border: 0; background: transparent; text-decoration: underline; text-underline-offset: 3px; }
.nomelo-btn--full { width: 100%; }

.nomelo-text-link { display: inline-flex; align-items: center; gap: .42rem; color: var(--n-navy); font-weight: 760; font-size: .88rem; }
.nomelo-text-link svg { transition: transform .18s ease; }
.nomelo-text-link:hover svg { transform: translateX(3px); }
.nomelo-text-link--light { color: #fff; }

.nomelo-icon-button { display: inline-grid; place-items: center; width: 42px; height: 42px; padding: 0; border: 1px solid var(--n-line); border-radius: 50%; background: #fff; color: var(--n-navy); cursor: pointer; transition: .18s ease; }
.nomelo-icon-button:hover { border-color: #ccd1dc; background: var(--n-soft); }
.nomelo-account-link { display: inline-flex; align-items: center; gap: .48rem; min-height: 42px; padding: 0 .9rem; border: 1px solid var(--n-line); border-radius: 999px; background: #fff; color: var(--n-navy); font-size: .88rem; font-weight: 760; }
.nomelo-account-link:hover { box-shadow: var(--n-shadow-sm); }
.nomelo-menu-toggle { display: none; place-items: center; width: 42px; height: 42px; border: 1px solid var(--n-line); border-radius: 50%; background: #fff; cursor: pointer; }

.nomelo-badge { display: inline-flex; align-items: center; width: fit-content; padding: .36rem .58rem; border-radius: 999px; font-size: .68rem; font-weight: 760; }
.nomelo-badge--glass { background: rgba(255,255,255,.93); color: var(--n-navy); box-shadow: 0 6px 18px rgba(15,23,47,.09); }

.nomelo-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.nomelo-section-heading--market h2 { margin-bottom: 0; font-size: clamp(1.8rem, 3vw, 2.8rem); }

.nomelo-search-bar { position: relative; display: grid; grid-template-columns: minmax(220px, 1.35fr) 1fr 1fr .9fr auto; align-items: stretch; padding: .4rem; border: 1px solid rgba(225,228,236,.95); border-radius: 22px; background: #fff; box-shadow: 0 16px 42px rgba(15,23,47,.12); }
.nomelo-search-bar__field { display: grid; align-content: center; min-width: 0; padding: .62rem .95rem; border-right: 1px solid var(--n-line); cursor: text; }
.nomelo-search-bar__field > span { margin-bottom: .15rem; color: var(--n-navy); font-size: .69rem; font-weight: 800; }
.nomelo-search-bar__field input, .nomelo-search-bar__field select { width: 100%; min-width: 0; height: 24px; padding: 0; border: 0; outline: 0; background: transparent; color: var(--n-muted); font-size: .88rem; }
.nomelo-search-bar__field input[type="date"] { color: var(--n-muted); }
.nomelo-search-bar__submit { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-width: 132px; border: 0; border-radius: 17px; background: var(--n-violet); color: #fff; font-weight: 800; cursor: pointer; transition: .18s ease; }
.nomelo-search-bar__submit:hover { background: #4f41df; }
.nomelo-search-bar--compact { box-shadow: none; border-radius: 18px; }
.nomelo-search-bar--compact .nomelo-search-bar__submit { border-radius: 14px; }

.nomelo-property-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem 1.25rem; }
.nomelo-property-card { min-width: 0; }
.nomelo-property-card__media-wrap { position: relative; }
.nomelo-property-card__media { position: relative; display: block; aspect-ratio: 1.28; overflow: hidden; border-radius: 18px; background: #edf0f6; }
.nomelo-property-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.nomelo-property-card:hover .nomelo-property-card__media img { transform: scale(1.025); }
.nomelo-property-card__image-placeholder { display: grid; place-items: center; width: 100%; height: 100%; background: linear-gradient(145deg, #f4f5f8, #e9ecf3); color: #a4aaba; }
.nomelo-property-card__badges { position: absolute; left: .72rem; top: .72rem; display: flex; gap: .35rem; }
.nomelo-favorite-button { position: absolute; right: .68rem; top: .68rem; z-index: 2; display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.94); color: var(--n-navy); box-shadow: 0 4px 14px rgba(15,23,47,.08); cursor: pointer; }
.nomelo-favorite-button[aria-pressed="true"] { color: var(--n-violet); }
.nomelo-favorite-button[aria-pressed="true"] svg { fill: currentColor; }
.nomelo-property-card__body { padding: .82rem .08rem 0; }
.nomelo-property-card__topline { display: flex; justify-content: space-between; gap: .6rem; align-items: baseline; }
.nomelo-property-card__location { margin: 0 0 .2rem; color: var(--n-ink); font-size: .87rem; font-weight: 760; }
.nomelo-property-card__rating { display: inline-flex; align-items: center; gap: .2rem; white-space: nowrap; font-size: .79rem; }
.nomelo-property-card__rating svg { fill: currentColor; }
.nomelo-property-card h3 { margin: .12rem 0 .2rem; font-size: .98rem; font-weight: 640; letter-spacing: -.015em; }
.nomelo-property-card__meta { margin: 0; color: var(--n-muted); font-size: .82rem; }
.nomelo-property-card__price { margin: .45rem 0 0; color: var(--n-ink); font-size: .86rem; font-weight: 800; }

.nomelo-empty-state { max-width: 680px; margin: 2rem auto; padding: 3.2rem 2.2rem; border: 1px solid var(--n-line); border-radius: 26px; background: #fff; text-align: center; }
.nomelo-empty-state__icon { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 1rem; border-radius: 16px; background: var(--n-soft); color: var(--n-muted); }
.nomelo-empty-state h2 { margin-bottom: .55rem; font-size: 1.55rem; }
.nomelo-empty-state p { max-width: 520px; margin: 0 auto 1.35rem; color: var(--n-muted); }
.nomelo-empty-state--page { padding-top: 4rem; padding-bottom: 4rem; }
.nomelo-empty-state__code { display: block; margin-bottom: .8rem; color: #d9ddef; font-size: clamp(5rem, 14vw, 10rem); font-weight: 850; line-height: .8; letter-spacing: -.08em; }

.nomelo-form-card { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; padding: 1.5rem; border: 1px solid var(--n-line); border-radius: 24px; background: #fff; box-shadow: var(--n-shadow-sm); }
.nomelo-form-card label, .nomelo-login-card p { display: grid; gap: .4rem; }
.nomelo-form-card label > span { font-size: .78rem; font-weight: 760; }
.nomelo-form-card input, .nomelo-form-card select, .nomelo-form-card textarea, .nomelo-login-card input[type="text"], .nomelo-login-card input[type="password"] { width: 100%; min-height: 48px; border: 1px solid var(--n-line); border-radius: 12px; background: #fff; padding: .7rem .8rem; outline: 0; }
.nomelo-form-card textarea { min-height: 125px; resize: vertical; }
.nomelo-form-card__full { grid-column: 1 / -1; }
