/* Professional property catalog and shared listing cards. */
.catalog-page { background:#f5f7fa; color:#203149; }
.catalog-page [hidden], .property-card--professional [hidden] { display:none!important; }
.catalog-page :focus-visible, .property-card--professional :focus-visible { outline:3px solid #3277df; outline-offset:3px; }
.catalog-search-shell { position:sticky; top:var(--catalog-sticky-top,80px); z-index:35; padding:18px 0 20px; background:#fff; border-bottom:1px solid #e2e7ef; box-shadow:0 4px 16px rgb(18 40 70 / 3%); }
.catalog-breadcrumbs { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:14px; color:#6a7889; font-size:12px; }
.catalog-breadcrumbs a:hover { color:#1863c5; text-decoration:underline; }
.catalog-search__intent { display:flex; align-items:center; gap:24px; margin-bottom:15px; }
.catalog-segmented { display:flex; gap:4px; margin:0; padding:0; border:0; }
.catalog-segmented label { position:relative; cursor:pointer; }
.catalog-segmented input { position:absolute; width:1px; height:1px; min-height:0; opacity:0; }
.catalog-segmented label span { display:block; border-radius:6px; padding:7px 17px; font-size:13px; font-weight:600; color:#647386; white-space:nowrap; }
.catalog-segmented--finalidade { padding:4px; background:#f2f5f9; border-radius:9px; }
.catalog-segmented--finalidade input:checked+span { background:#142e51; color:#fff; box-shadow:0 2px 6px rgb(20 46 81 / 14%); }
.catalog-segmented--segmento input:checked+span { color:#1559b3; background:#eef4fd; }
.catalog-segmented input:focus-visible+span { outline:3px solid #3277df; outline-offset:3px; }
.catalog-search__fields { display:grid; grid-template-columns:minmax(230px,1fr) 185px auto auto; align-items:start; gap:10px; }
.catalog-location { display:flex; align-items:center; border:1px solid #dce3ed; border-radius:8px; background:#f8fafc; padding-left:15px; min-width:0; }
.catalog-location>.material-symbols-outlined { color:#708098; font-size:22px; }
.catalog-location input { border:0; background:transparent; min-height:50px; font-size:14px; }
.catalog-location:focus-within { border-color:#3277df; outline:2px solid rgb(50 119 223 / 12%); }
.catalog-location input:focus { box-shadow:none; }
.catalog-type select, .catalog-filter-group input, .catalog-filter-group select { min-height:52px; border:1px solid #dce3ed; background:#fff; border-radius:8px; font-size:14px; }
.catalog-type select { padding-right:30px; }
.catalog-primary-button, .catalog-secondary-button { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:48px; padding:12px 21px; border:1px solid transparent; border-radius:7px; font-size:14px; line-height:1.4; font-weight:600; cursor:pointer; transition:background .15s ease,border-color .15s ease; }
.catalog-primary-button { background:#1763c7; color:#fff; }
.catalog-primary-button:hover { background:#104b9e; color:#fff; }
.catalog-secondary-button { background:#fff; color:#193a65; border-color:#ccd8e8; }
.catalog-secondary-button:hover { background:#edf3fc; border-color:#1763c7; }
.catalog-search__submit { min-height:52px; }
.catalog-filters { position:relative; }
.catalog-filter-trigger { display:flex; align-items:center; justify-content:center; gap:8px; height:52px; list-style:none; padding:0 18px; color:#213e63; border:1px solid #dce3ed; border-radius:8px; background:#fff; font-size:14px; font-weight:600; cursor:pointer; white-space:nowrap; }
.catalog-filter-trigger::-webkit-details-marker { display:none; }
.catalog-filter-trigger:hover { border-color:#3277df; background:#f8fafc; }
.catalog-filter-trigger__count { display:grid; place-items:center; min-width:20px; height:20px; border-radius:50%; background:#edf4ff; color:#1763c7; font-size:11px; }
.catalog-filters__overlay { position:absolute; right:0; top:calc(100% + 16px); width:min(600px,90vw); z-index:100; }
.catalog-filters__panel { display:flex; flex-direction:column; max-height:80vh; border-radius:14px; background:#fff; color:#21324b; box-shadow:0 20px 80px rgb(0 20 50 / 20%); overflow:hidden; }
.catalog-filters__header { display:flex; align-items:center; justify-content:space-between; padding:25px 28px; border-bottom:1px solid #e5eaf1; }
.catalog-filters__header h2 { margin-top:4px; font-size:24px; letter-spacing:-.5px; }
.catalog-icon-button { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; padding:0; border:1px solid #e1e7ef; border-radius:50%; background:#fff; color:#1e385b; cursor:pointer; }
.catalog-icon-button:hover { background:#eef4fd; }
.catalog-filters__body { overflow-y:auto; overscroll-behavior:contain; padding:0 28px 10px; }
.catalog-filter-group { margin:0; padding:23px 0; border:0; border-bottom:1px solid #edf0f5; }
.catalog-filter-group legend { float:left; width:100%; margin:0 0 14px; padding:0; font-size:16px; font-weight:600; color:#193455; }
.catalog-filter-pair, .catalog-filter-triple { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; clear:both; }
.catalog-filter-triple { grid-template-columns:repeat(3,minmax(0,1fr)); }
.catalog-filter-group label>span { display:block; margin-bottom:6px; font-size:12px; color:#5d6f85; }
.catalog-filter-hint { margin-top:10px; font-size:12px; color:#6a7b8f; }
.catalog-filters__footer { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 28px; border-top:1px solid #e5eaf1; background:#fff; }
.catalog-filters__footer>a { font-size:13px; text-decoration:underline; }
.catalog-amenities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; clear:both; }
.catalog-amenities label { display:flex; gap:9px; align-items:flex-start; cursor:pointer; }
.catalog-amenities input { width:18px; height:18px; min-height:18px; margin:2px 0 0; accent-color:#1763c7; flex:0 0 auto; }
.catalog-amenities label>span { color:#213e63; font-size:13px; line-height:1.4; }
.catalog-amenities small { display:block; color:#7a899b; margin-top:3px; font-size:10px; }
.catalog-filters:not(.is-enhanced) [data-catalog-filters-close] { display:none; }
.catalog-filters.is-enhanced .catalog-filters__overlay { position:fixed; inset:0; width:auto; display:flex; justify-content:flex-end; background:rgb(8 23 45 / 48%); backdrop-filter:blur(3px); }
.catalog-filters.is-enhanced .catalog-filters__panel { width:min(560px,100%); height:100%; max-height:none; border-radius:0; }
.has-catalog-filters .catalog-search-shell { z-index:1000; }
.catalog-results { padding:33px 0 64px; }
.catalog-chips { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:25px; }
.catalog-chip { display:inline-flex; align-items:center; gap:8px; padding:7px 11px; border:1px solid #d6e1ee; border-radius:6px; background:#fff; color:#314f75; font-size:12px; }
.catalog-chip:hover { background:#eaf2ff; border-color:#1763c7; }
.catalog-chip .material-symbols-outlined { font-size:16px; }
.catalog-clear { margin-left:7px; font-size:12px; color:#1763c7; font-weight:600; text-decoration:underline; }
.catalog-heading { display:flex; gap:24px; align-items:center; justify-content:space-between; margin-bottom:26px; }
.catalog-kicker { display:block; color:#557091; text-transform:uppercase; font-size:10px; font-weight:700; letter-spacing:1.8px; }
.catalog-heading h1 { margin:7px 0 11px; color:#162f51; font-size:clamp(24px,2.45vw,34px); font-weight:700; letter-spacing:-1px; line-height:1.25; max-width:760px; }
.catalog-count { color:#6c7d91; font-size:14px; }
.catalog-count strong { color:#193657; }
.catalog-help { display:flex; align-items:center; gap:13px; flex:0 0 auto; padding:16px 18px; border:1px solid #dfe7f2; border-radius:9px; background:#fff; font-size:11px; color:#78899b; }
.catalog-help>.material-symbols-outlined:first-child { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#edf4ff; color:#1763c7; font-size:24px; }
.catalog-help strong { display:block; color:#24496f; font-size:12px; margin-top:2px; }
.catalog-help>.material-symbols-outlined:last-child { font-size:19px; color:#1763c7; }
.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:22px; padding:0 0 20px; border-bottom:1px solid #dfe5ee; }
.catalog-sort { display:flex; align-items:center; gap:10px; }
.catalog-sort label { color:#6c7c8e; font-size:12px; }
.catalog-sort select { width:auto; min-width:155px; min-height:38px; padding:0 28px 0 12px; border:1px solid #dce3ed; background:#fff; color:#29486c; font-size:12px; border-radius:6px; }
.catalog-sort__submit { padding:8px 12px; border:1px solid #dce3ed; border-radius:5px; background:#fff; font-size:12px; cursor:pointer; }
.catalog-sort.is-enhanced .catalog-sort__submit { display:none; }
.catalog-views { display:flex; gap:4px; background:#e9edf3; border-radius:7px; padding:4px; }
.catalog-views a { display:inline-flex; align-items:center; justify-content:center; gap:7px; border-radius:5px; padding:6px 12px; font-size:12px; color:#647489; font-weight:600; }
.catalog-views a.is-active { background:#fff; color:#1763c7; box-shadow:0 2px 4px rgb(28 56 87 / 5%); }
.catalog-views .material-symbols-outlined { font-size:18px; }
.catalog-page .catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.catalog-page .catalog-grid--lista { grid-template-columns:1fr; gap:18px; }
.property-card--professional { min-width:0; border:1px solid #e0e6ee; border-radius:11px; background:#fff; box-shadow:0 3px 10px rgb(28 49 76 / 2%); transition:border-color .2s ease,box-shadow .2s ease; }
.property-card--professional:hover { transform:none; border-color:#b9cce5; box-shadow:0 8px 24px rgb(22 55 90 / 9%); }
.property-card--professional .property-card__image { aspect-ratio:16 / 10; background:#edf0f4; border-radius:10px 10px 0 0; overflow:hidden; }
.property-card--professional .property-card__image-link, .property-card--professional .property-card__image img { border-radius:0; }
.property-card--professional .property-card__image img { width:100%; height:100%; object-fit:cover; }
.property-card--professional:hover .property-card__image-link img { transform:none; }
.property-card--professional .property-card__badges { top:14px; left:14px; right:64px; gap:6px; justify-content:flex-start; }
.property-card--professional .property-card__badge { font-size:10px; letter-spacing:.25px; text-transform:none; padding:7px 10px; background:#fff; color:#193e6b; box-shadow:0 2px 5px rgb(0 0 0 / 5%); border-radius:5px; }
.property-card--professional .catalog-card-status { background:#193e6b; color:#fff; }
.property-card--professional .wishlist-button { position:absolute; z-index:4; top:12px; right:12px; width:36px; height:36px; background:#fff; border:0; border-radius:50%; box-shadow:0 2px 7px rgb(0 0 0 / 8%); color:#24466f; }
.property-card--professional .wishlist-button.is-active { color:#d52d56; background:#fff2f6; }
.property-card--professional .wishlist-button .material-symbols-outlined { font-size:21px; }
.catalog-card-arrow { position:absolute; z-index:3; top:50%; display:none; place-items:center; width:34px; height:34px; padding:0; border:1px solid rgb(255 255 255 / 55%); background:rgb(255 255 255 / 94%); border-radius:50%; color:#193e6b; transform:translateY(-50%); cursor:pointer; box-shadow:0 1px 5px rgb(0 0 0 / 9%); }
[data-card-gallery].is-enhanced .catalog-card-arrow { display:grid; }
.catalog-card-arrow--prev { left:11px; }
.catalog-card-arrow--next { right:11px; }
.catalog-card-arrow:hover { background:#e5f0ff; }
.catalog-card-photo-count { position:absolute; z-index:3; right:12px; bottom:12px; display:flex; align-items:center; gap:6px; padding:4px 8px; border-radius:4px; background:rgb(11 30 55 / 68%); color:#fff; font-size:10px; pointer-events:none; }
.catalog-card-photo-count .material-symbols-outlined { font-size:13px; }
.property-card--professional .property-card__body { display:flex; flex-direction:column; gap:0; padding:20px; flex:1; }
.catalog-card-category { display:flex; align-items:center; justify-content:space-between; gap:8px; font-size:10px; font-weight:600; letter-spacing:.6px; text-transform:uppercase; color:#6a819f; margin-bottom:9px; }
.catalog-card-category>span { padding:2px 7px; border-radius:4px; background:#eff5ff; color:#1763c7; font-size:9px; letter-spacing:.2px; }
.property-card--professional .property-card__title-row { display:block; margin:0 0 10px; }
.property-card--professional .property-card__title-row h3 { font-size:16px; color:#17375e; line-height:1.45; font-weight:600; letter-spacing:-.25px; }
.property-card--professional .property-card__location { display:flex; gap:4px; align-items:flex-start; margin:0 0 5px; font-size:12px; color:#60758e; line-height:1.5; }
.property-card--professional .property-card__location .material-symbols-outlined { font-size:16px; flex:0 0 auto; margin-top:1px; color:#7d94af; }
.catalog-card-address { font-size:11px; color:#60758f; margin-bottom:4px; line-height:1.5; }
.property-card--professional .property-card__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 10px; margin:16px 0 0; padding:14px 0; border-top:1px solid #eef1f6; border-bottom:1px solid #eef1f6; }
.property-card--professional .property-card__fact { display:flex; align-items:center; gap:7px; font-size:11px; color:#526d8c; line-height:1.3; padding:0; background:transparent; border:0; }
.property-card--professional .property-card__fact .material-symbols-outlined { font-size:18px; color:#6d86a5; }
.catalog-card-value { margin-top:17px; margin-bottom:12px; }
.catalog-card-value__label { display:block; font-size:10px; color:#60758f; margin-bottom:2px; }
.property-card--professional .property-card__price { font-size:24px; line-height:1.35; font-weight:700; color:#15365e; margin:0; letter-spacing:-.8px; }
.property-card--professional .property-card__price small { font-size:11px; font-weight:400; letter-spacing:0; color:#6d8098; margin-left:5px; }
.catalog-card-fees { margin-top:4px; color:#60758f; font-size:10px; line-height:1.6; }
.catalog-card-reference { display:flex; align-items:center; gap:5px; color:#60758f; font-size:10px; margin-top:auto; margin-bottom:15px; }
.catalog-card-reference strong { font-weight:500; color:#58718f; user-select:all; }
.catalog-copy { display:grid; place-items:center; width:26px; height:26px; padding:0; border:0; background:transparent; color:#8495ab; cursor:pointer; border-radius:4px; }
.catalog-copy:hover { background:#edf4ff; color:#1763c7; }
.catalog-copy .material-symbols-outlined { font-size:13px; }
.property-card--professional .property-card__actions { display:flex; flex-direction:column; gap:11px; margin:0; }
.property-card--professional .property-card__actions .button { display:flex; align-items:center; justify-content:space-between; width:100%; min-height:42px; padding:10px 14px; border-radius:6px; background:#eef4fd; color:#1559b3; border:1px solid #e1ebfa; font-size:12px; font-weight:600; }
.property-card--professional .property-card__actions .button:hover { background:#1763c7; color:#fff; border-color:#1763c7; }
.property-card--professional .property-card__actions .material-symbols-outlined { font-size:18px; }
.property-card--professional .property-card__interest { display:block; text-align:center; color:#60758f; font-size:11px; font-weight:500; }
.property-card--professional .property-card__interest:hover { color:#1763c7; text-decoration:underline; }
.catalog-grid--lista .property-card--professional { display:grid; grid-template-columns:minmax(280px,35%) 1fr; }
.catalog-grid--lista .property-card--professional .property-card__image { height:100%; min-height:290px; aspect-ratio:auto; border-radius:10px 0 0 10px; }
.catalog-grid--lista .property-card--professional .property-card__body { display:grid; grid-template-columns:1fr 220px; gap:0 28px; padding:26px; }
.catalog-grid--lista .catalog-card-category, .catalog-grid--lista .property-card__title-row, .catalog-grid--lista .property-card__location, .catalog-grid--lista .catalog-card-address { grid-column:1; }
.catalog-grid--lista .property-card--professional .property-card__facts { grid-column:1; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:10px; }
.catalog-grid--lista .catalog-card-value { grid-column:2; grid-row:1 / span 3; margin-top:0; text-align:right; }
.catalog-grid--lista .catalog-card-reference { grid-column:1; margin-top:13px; margin-bottom:0; }
.catalog-grid--lista .property-card__actions { grid-column:2; grid-row:4 / span 4; align-self:end; }
.catalog-map-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(310px,1fr); gap:22px; align-items:start; }
.catalog-map-panel { position:sticky; top:var(--catalog-map-sticky-top,270px); }
.catalog-map { height:600px; height:min(600px,67vh); min-height:340px; border:1px solid #d6e1ef; border-radius:12px; background:#e8eef4; z-index:0; }
.catalog-page .catalog-grid--mapa { grid-template-columns:1fr; gap:18px; }
.catalog-map-note { margin-top:12px; padding:0 8px; color:#74839a; font-size:11px; line-height:1.7; }
.catalog-map-empty { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:20px; min-height:420px; padding:35px; text-align:center; border:1px solid #dae3ee; border-radius:12px; background:#edf2f8; }
.catalog-map-empty>.material-symbols-outlined { font-size:44px; color:#7c98b8; }
.catalog-map-empty h2 { font-size:22px; }
.catalog-map-empty p { max-width:350px; font-size:13px; color:#6d8097; }
.catalog-map-marker { width:max-content!important; height:auto!important; border:0; background:#173e70; color:#fff; padding:6px 10px; border-radius:5px; font-size:11px; font-weight:700; box-shadow:0 3px 9px rgb(0 18 46 / 18%); white-space:nowrap; }
.catalog-map-marker:after { position:absolute; content:""; top:100%; left:50%; margin-left:-4px; border-top:5px solid #173e70; border-left:5px solid transparent; border-right:5px solid transparent; }
.catalog-map-popup { max-width:240px; color:#203e62; }
.catalog-map-popup img { width:240px; height:130px; object-fit:cover; border-radius:5px; margin-bottom:10px; }
.catalog-map-popup strong { display:block; font-size:13px; line-height:1.45; }
.catalog-map-popup p { font-size:11px; margin:6px 0; }
.catalog-map-popup a { display:block; background:#1763c7; color:#fff!important; text-align:center; border-radius:5px; padding:9px; margin-top:10px; font-size:12px; }
.catalog-page .catalog-pagination { gap:7px; margin-top:34px; }
.catalog-page .catalog-pagination .page-numbers { border-radius:6px; min-width:38px; min-height:38px; background:#fff; border:1px solid #dfe6ef; color:#365779; font-size:12px; }
.catalog-page .catalog-pagination .current { background:#1763c7; border-color:#1763c7; color:#fff; }
.catalog-empty { display:flex; align-items:center; flex-direction:column; text-align:center; padding:60px 24px; min-height:370px; border:1px solid #e0e7f0; border-radius:12px; background:#fff; }
.catalog-empty>.material-symbols-outlined { display:grid; place-items:center; width:66px; height:66px; margin-bottom:24px; border-radius:50%; background:#f0f5fc; color:#6790c8; font-size:34px; }
.catalog-empty h2 { margin:11px 0 15px; font-size:27px; letter-spacing:-.7px; }
.catalog-empty p { max-width:570px; font-size:14px; color:#72839a; line-height:1.8; }
.catalog-empty>div { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; margin-top:24px; }
.catalog-owner { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:33px 35px; margin-top:45px; border:1px solid #dde6f2; border-radius:12px; background:#edf3fb; }
.catalog-owner h2 { font-size:22px; margin:7px 0 9px; letter-spacing:-.4px; }
.catalog-owner p { color:#72849b; font-size:12px; }
.catalog-owner .catalog-secondary-button { flex:0 0 auto; }
.favorites-page>.container { padding-top:28px; padding-bottom:60px; }
.favorites-page .favorites-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:30px 0 22px; }
.favorites-page .favorites-heading>div { min-width:0; max-width:760px; }
.favorites-page .favorites-heading .eyebrow { color:#557091; font-size:10px; letter-spacing:1.8px; }
.favorites-page .favorites-heading h1 { margin:8px 0 13px; font-size:34px; color:#162f51; letter-spacing:-1px; }
.favorites-page .favorites-heading p { font-size:14px; color:#60758f; line-height:1.8; }
.favorites-page .favorites-heading>.button { flex:0 0 auto; background:#1763c7; color:#fff; border-radius:7px; min-height:46px; font-size:13px; padding:12px 20px; }
.favorites-page .favorites-count { padding:18px 0; margin:0 0 22px; border-top:1px solid #dfe5ee; border-bottom:1px solid #dfe5ee; color:#60758f; font-size:13px; }
.favorites-page .favorites-count strong { color:#193657; }
.favorites-page .favorites-storage-note { margin-top:26px; color:#60758f; font-size:12px; line-height:1.8; }
.favorites-page .favorites-empty { display:flex; align-items:center; flex-direction:column; gap:0; padding:48px 26px; background:#fff; border:1px solid #e0e7f0; border-radius:12px; text-align:center; }
.favorites-page .favorites-empty>.material-symbols-outlined { display:grid; place-items:center; width:62px; height:62px; background:#eef4fd; color:#6790c8; border-radius:50%; font-size:29px; margin-bottom:22px; }
.favorites-page .favorites-empty h2 { font-size:27px; letter-spacing:-.7px; margin-bottom:15px; }
.favorites-page .favorites-empty p { max-width:540px; color:#60758f; font-size:14px; line-height:1.8; margin-bottom:24px; }
.favorites-page .favorites-empty>.button { background:#1763c7; color:#fff; border-radius:7px; font-size:13px; }
@media(min-width:1400px) { .catalog-search-shell { top:var(--catalog-sticky-top,84px); } }
@media(max-width:1100px) {
 .catalog-search__fields { grid-template-columns:minmax(200px,1fr) 160px auto auto; gap:8px; }
 .catalog-search__submit { padding:12px 16px; font-size:12px; }
 .catalog-filter-trigger { padding:0 12px; font-size:12px; }
 .catalog-help { display:none; }
 .catalog-page .catalog-grid { gap:18px; }
 .property-card--professional .property-card__body { padding:17px; }
 .catalog-grid--lista .property-card--professional .property-card__body { grid-template-columns:1fr 180px; gap:0 20px; padding:22px; }
}
@media(max-width:850px) {
 .catalog-search-shell { top:var(--catalog-sticky-top,72px); padding-top:13px; padding-bottom:16px; }
 .catalog-search__intent { gap:12px; flex-wrap:wrap; }
 .catalog-segmented label span { padding:7px 13px; font-size:12px; }
 .catalog-search__fields { grid-template-columns:minmax(0,1fr) 170px; gap:9px; }
 .catalog-location { grid-column:1 / -1; }
 .catalog-type { grid-column:1; }
 .catalog-filters { grid-column:2; }
 .catalog-search__submit { grid-column:1 / -1; }
 .catalog-page .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .catalog-page .catalog-grid--lista, .catalog-page .catalog-grid--mapa { grid-template-columns:1fr; }
 .catalog-map-layout { grid-template-columns:1fr; }
 .catalog-map-panel { position:static; }
 .catalog-map { min-height:300px; height:380px; }
 .catalog-grid--lista .property-card--professional { grid-template-columns:280px 1fr; }
 .catalog-grid--lista .property-card--professional .property-card__body { display:flex; }
 .catalog-grid--lista .catalog-card-value { text-align:left; margin-top:15px; }
 .catalog-grid--lista .catalog-card-reference { margin-top:auto; margin-bottom:12px; }
 .catalog-grid--lista .property-card__actions { align-self:stretch; }
 .catalog-owner { padding:28px; }
}
@media(max-width:600px) {
 .favorites-page>.container { padding-top:19px; padding-bottom:40px; }
 .favorites-page .favorites-heading { flex-direction:column; align-items:flex-start; gap:20px; margin:24px 0 22px; }
 .favorites-page .favorites-heading h1 { font-size:32px; letter-spacing:-.7px; margin-bottom:14px; }
 .favorites-page .favorites-heading p { font-size:13px; }
 .favorites-page .favorites-heading>.button { width:100%; }
 .favorites-page .favorites-count { padding:15px 0; margin-bottom:22px; }
 .favorites-page .favorites-empty { padding:38px 22px; }
 .favorites-page .favorites-empty h2 { font-size:24px; }
 .favorites-page .favorites-empty p { font-size:13px; }
 .favorites-page .favorites-empty>.button { width:100%; }
 .favorites-page .favorites-storage-note { font-size:11px; margin-top:23px; }
 .catalog-search-shell { position:relative; top:auto; padding:13px 0 16px; }
 .catalog-breadcrumbs { font-size:10px; gap:7px; margin-bottom:14px; }
 .catalog-search__intent { display:block; margin-bottom:13px; }
 .catalog-segmented { justify-content:stretch; }
 .catalog-segmented label { flex:1; text-align:center; }
 .catalog-segmented--segmento { margin-top:6px; }
 .catalog-segmented label span { font-size:11px; padding:8px 7px; }
 .catalog-search__fields { grid-template-columns:1fr 145px; }
 .catalog-location { padding-left:12px; }
 .catalog-location input { font-size:12px; padding-left:9px; }
 .catalog-type select { font-size:12px; }
 .catalog-filters__header { padding:22px; }
 .catalog-filters__body { padding:0 22px 10px; }
 .catalog-filters__footer { padding:18px 22px; padding-bottom:max(18px,env(safe-area-inset-bottom)); }
 .catalog-filter-triple { gap:8px; }
 .catalog-filter-group label>span { font-size:11px; }
 .catalog-filter-group select { padding:0 8px; font-size:12px; }
 .catalog-amenities { gap:14px 10px; }
 .catalog-amenities label>span { font-size:12px; }
 .catalog-results { padding:27px 0 40px; }
 .catalog-heading { margin-bottom:21px; }
 .catalog-heading h1 { font-size:25px; letter-spacing:-.7px; }
 .catalog-chips { margin-bottom:21px; }
 .catalog-toolbar { align-items:flex-start; flex-direction:column; gap:14px; margin-bottom:21px; padding-bottom:17px; }
 .catalog-sort { width:100%; justify-content:space-between; }
 .catalog-views { width:100%; }
 .catalog-views a { flex:1; padding:8px 10px; }
 .catalog-page .catalog-grid { grid-template-columns:1fr; gap:20px; }
 .property-card--professional .property-card__body { padding:20px; }
 .property-card--professional .property-card__title-row h3 { font-size:17px; }
 .property-card--professional .property-card__facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .catalog-grid--lista .property-card--professional { display:flex; }
 .catalog-grid--lista .property-card--professional .property-card__image { aspect-ratio:16 / 10; min-height:0; width:100%; border-radius:10px 10px 0 0; }
 .catalog-grid--lista .property-card--professional .property-card__body { padding:20px; }
 .catalog-empty { padding:44px 22px; }
 .catalog-empty h2 { font-size:23px; }
 .catalog-empty p { font-size:13px; }
 .catalog-empty>div { width:100%; }
 .catalog-empty .catalog-primary-button, .catalog-empty .catalog-secondary-button { width:100%; }
 .catalog-owner { flex-direction:column; align-items:flex-start; gap:20px; padding:25px; margin-top:32px; }
 .catalog-owner h2 { font-size:22px; }
 .catalog-owner .catalog-secondary-button { width:100%; }
 .catalog-map-empty { min-height:320px; padding:28px; }
 .catalog-map { height:340px; min-height:0; }
}
@media(prefers-reduced-motion:reduce) { .property-card--professional, .catalog-primary-button, .catalog-secondary-button { transition:none; } }
