.public-apartment-selection .fonte-hero { height: 100vh; background: var(--fonte-web-cream); }
@media (min-width: 75.001rem) and (min-aspect-ratio: 2/1) {
    .public-apartment-selection .fonte-hero:not([data-apartment-view="floor"]) { --fonte-hero-top-aligned: 1; --fonte-building-lift: 0px; height: auto; aspect-ratio: 2047 / 1152; }
    .public-apartment-selection .fonte-hero:not([data-apartment-view="floor"]) .fonte-hero__image { top: 0; height: 100%; object-position: 50% 0%; }
}
.fonte-apartment-offer { position: relative; z-index: 6; box-sizing: border-box; width: 100%; max-width: 100%; padding: 0 var(--fonte-public-inline-gutter) clamp(4.5rem, 8vw, 6.875rem); overflow: hidden; scroll-margin-top: var(--fonte-public-header-height); background: var(--fonte-web-white); }
.fonte-apartment-offer__inner { display: flex; width: 100%; min-width: 0; max-width: var(--fonte-public-content-max-width); margin: 0 auto; flex-direction: column; }
.fonte-apartment-offer__header { display: flex; padding: clamp(4.5rem, 8vw, 7.5rem) 0 clamp(3rem, 5vw, 4.5rem); flex-direction: column; align-items: flex-start; gap: clamp(1.25rem, 2vw, 2rem); }
.fonte-apartment-offer__icon { display: inline-flex; width: 3.5rem; height: 3.5rem; align-items: center; justify-content: center; border: var(--fonte-border-width) solid var(--fonte-web-accent); border-radius: var(--fonte-token-radius-pill); color: var(--fonte-web-accent); }
.fonte-apartment-offer__icon svg { width: 1.625rem; height: 1.625rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-apartment-offer__header h2 { margin: 0; color: var(--fonte-web-ink); font-family: var(--fonte-font-public-display); font-size: clamp(2.5rem, 4.5vw, 4.25rem); font-weight: var(--fonte-font-weight-regular); letter-spacing: -0.035em; line-height: 1.05; }
.fonte-apartment-offer__tabs { position: relative; display: flex; box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; align-items: flex-end; gap: clamp(1.5rem, 3.5vw, 3.75rem); overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scrollbar-width: none; touch-action: pan-x; }
.fonte-apartment-offer__tabs::before { position: absolute; right: 0; bottom: 0; left: 0; height: var(--fonte-border-width); background: var(--fonte-web-line); content: ""; pointer-events: none; }
.fonte-apartment-offer__tabs::-webkit-scrollbar { display: none; }
.fonte-apartment-offer__tabs::after { display: block; width: max(1rem, var(--fonte-public-inline-gutter)); height: 0.0625rem; flex: 0 0 max(1rem, var(--fonte-public-inline-gutter)); content: ""; }
.fonte-apartment-offer__tabs button { position: relative; display: inline-flex; min-height: 3.5rem; flex: none; padding: 0 0.5rem 1.25rem; align-items: center; border: 0; background: transparent; color: var(--fonte-web-ink-soft); cursor: pointer; font-family: var(--fonte-font-public); font-size: clamp(1rem, 1.4vw, 1.25rem); font-weight: var(--fonte-font-weight-medium); white-space: nowrap; transition: color var(--fonte-token-transition); }
.fonte-apartment-offer__tabs button::after { position: absolute; right: 0; bottom: -0.0625rem; left: 0; height: 0.125rem; background: var(--fonte-web-accent); content: ""; opacity: 0; transform: scaleX(0.45); transition: opacity var(--fonte-token-transition), transform var(--fonte-token-transition); }
.fonte-apartment-offer__tabs button:focus-visible,
.fonte-apartment-offer__tabs button.is-active { outline: 0; color: var(--fonte-web-accent); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-offer__tabs button:hover { outline: 0; color: var(--fonte-web-accent); }
}
.fonte-apartment-offer__tabs button.is-active { color: var(--fonte-web-ink); font-weight: var(--fonte-font-weight-bold); }
.fonte-apartment-offer__tabs button:focus-visible::after,
.fonte-apartment-offer__tabs button.is-active::after { opacity: 1; transform: scaleX(1); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-offer__tabs button:hover::after { opacity: 1; transform: scaleX(1); }
}
@media (min-width: 47.501rem) {
    .fonte-apartment-offer__tabs { flex-wrap: nowrap; justify-content: space-between; gap: 0.25rem; overflow: visible; }
    .fonte-apartment-offer__tabs button { min-width: 0; flex: 1 1 0; justify-content: center; padding-inline: 0; font-size: clamp(0.875rem, 1.4vw, 1.125rem); }
    .fonte-apartment-offer__tabs::after { display: none; }
}
.fonte-apartment-offer__filters { display: flex; min-width: 0; padding-top: clamp(3.5rem, 6vw, 5.5rem); flex-direction: column; gap: clamp(2rem, 3vw, 2.75rem); scroll-margin-top: calc(var(--fonte-public-header-height) + 1.5rem); }
.fonte-apartment-offer__filter-row { display: flex; min-width: 0; align-items: flex-end; gap: clamp(1.5rem, 3vw, 2.75rem); flex-wrap: wrap; }
.fonte-apartment-offer__filter { min-width: 0; margin: 0; padding: 0; border: 0; }
.fonte-apartment-offer__filter legend { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.fonte-apartment-offer__filter > div { display: flex; min-width: 0; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.fonte-apartment-offer__filter--types button[data-offer-type] { --roll: var(--fonte-web-ink); --roll-c: var(--fonte-web-white); position: relative; display: inline-flex; min-height: 3rem; padding: 0 1.5rem; align-items: center; justify-content: center; overflow: hidden; isolation: isolate; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-white); color: var(--fonte-web-ink); cursor: pointer; font-family: var(--fonte-font-public); font-size: 0.875rem; font-weight: var(--fonte-font-weight-bold); letter-spacing: 0.06em; text-transform: uppercase; transition: border-color var(--fonte-token-transition), color var(--fonte-token-transition); }
.fonte-apartment-offer__filter--types button[data-offer-type]:focus-visible { outline: 0; border-color: var(--fonte-web-ink); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-offer__filter--types button[data-offer-type]:hover { outline: 0; border-color: var(--fonte-web-ink); }
}
.fonte-apartment-offer__filter--types button[data-offer-type].is-active { border-color: var(--fonte-web-ink); background: var(--fonte-web-ink); color: var(--fonte-web-white); }
.fonte-apartment-offer__filter--availability { flex: 1 1 calc(24rem + 60px); align-self: center; }
.fonte-apartment-offer__filter--availability > div { min-height: 3rem; gap: clamp(0.875rem, 2vw, 1.375rem); }
.fonte-apartment-offer__filter--availability label { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--fonte-web-ink); cursor: pointer; font-size: 1rem; }
.fonte-apartment-offer__filter--availability input { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.fonte-apartment-offer__filter--availability i { display: inline-flex; width: 1.125rem; height: 1.125rem; box-sizing: border-box; align-items: center; justify-content: center; border: 0.125rem solid var(--fonte-web-ink-32); border-radius: var(--fonte-token-radius-pill); }
.fonte-apartment-offer__filter--availability i::after { width: 0.5rem; height: 0.5rem; border-radius: inherit; background: var(--fonte-web-accent); content: ""; opacity: 0; transform: scale(0.4); transition: opacity var(--fonte-token-transition), transform var(--fonte-token-transition); }
.fonte-apartment-offer__filter--availability input:checked + i { border-color: var(--fonte-web-accent); }
.fonte-apartment-offer__filter--availability input:checked + i::after { opacity: 1; transform: scale(1); }
.fonte-apartment-offer__filter--availability input:focus-visible + i { outline: 0.125rem solid var(--fonte-web-accent-38); outline-offset: 0.1875rem; }
.fonte-apartment-offer__compare { --roll: var(--fonte-web-action); --roll-c: var(--fonte-web-white); position: relative; display: inline-flex; min-height: 3rem; margin-left: auto; padding: 0 1.375rem; align-items: center; justify-content: center; gap: 0.625rem; overflow: hidden; isolation: isolate; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-white); color: var(--fonte-web-ink); font-size: 0.9375rem; font-weight: var(--fonte-font-weight-semibold); text-decoration: none; white-space: nowrap; transition: background-color 300ms ease, border-color 300ms ease, color 300ms ease; }
.fonte-apartment-offer__compare svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-apartment-offer__compare:focus-visible { outline: 0; border-color: var(--fonte-web-action); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-offer__compare:hover { outline: 0; border-color: var(--fonte-web-action); }
}
.fonte-apartment-offer__compare.is-active { --roll: var(--fonte-web-ink); border-color: var(--fonte-web-action); background: var(--fonte-web-action); color: var(--fonte-web-white); }
.fonte-apartment-offer__table-region { min-width: 0; margin-top: clamp(1rem, 2vw, 1.75rem); }
.fonte-apartment-offer__table-scroll { width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scrollbar-width: thin; }
.fonte-apartment-offer__table-scroll:focus-visible { outline: 0.125rem solid var(--fonte-web-accent-38); outline-offset: 0.25rem; }
.fonte-apartment-offer__table-region table { width: 100%; min-width: 75rem; border-collapse: collapse; table-layout: fixed; }
.fonte-apartment-offer__table-region th:nth-child(1),
.fonte-apartment-offer__table-region th:nth-child(2) { width: 10%; }
.fonte-apartment-offer__table-region th:nth-child(3) { width: 5%; }
.fonte-apartment-offer__table-region th:nth-child(4) { width: 14%; }
.fonte-apartment-offer__table-region th:nth-child(5),
.fonte-apartment-offer__table-region th:nth-child(6),
.fonte-apartment-offer__table-region th:nth-child(9) { width: 9%; }
.fonte-apartment-offer__table-region th:nth-child(7) { width: 12%; }
.fonte-apartment-offer__table-region th:nth-child(8) { width: 15%; }
.fonte-apartment-offer__table-region th:nth-child(10) { width: 7%; }
.fonte-apartment-offer__table-region th { padding: 0 0.625rem 0.875rem; color: var(--fonte-web-ink-soft); font-size: 0.71875rem; font-weight: 700; letter-spacing: 0.08em; text-align: center; text-transform: uppercase; white-space: nowrap; }
.fonte-apartment-offer__sort { display: inline-flex; align-items: center; justify-content: center; gap: 0.375rem; min-height: 2.75rem; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; }
.fonte-apartment-offer__sort span::before { content: '↕'; }
.fonte-apartment-offer__sort span { display: inline-block; width: 1ch; flex: none; text-align: center; }
[aria-sort="ascending"] .fonte-apartment-offer__sort span::before { content: '↑'; }
[aria-sort="descending"] .fonte-apartment-offer__sort span::before { content: '↓'; }
th[aria-sort="ascending"] .fonte-apartment-offer__sort,
th[aria-sort="descending"] .fonte-apartment-offer__sort { color: var(--fonte-web-accent); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-offer__sort:hover { color: var(--fonte-web-accent); }
}
.fonte-apartment-offer__sort:focus-visible { outline: 2px solid var(--fonte-web-accent); outline-offset: 0.25rem; }
.fonte-apartment-offer__table-region td { padding: 0.875rem 0.625rem; border-top: 1px solid var(--fonte-web-line); color: var(--fonte-web-ink); font-size: 0.9375rem; text-align: center; white-space: nowrap; }
.fonte-apartment-offer__table-region tbody tr { background: transparent; cursor: pointer; transition: background 200ms ease, box-shadow 200ms ease; }
.fonte-apartment-offer__table-region tbody tr[data-status="free"] { background: var(--fonte-status-free-row-surface); }
.fonte-apartment-offer__table-region tbody tr:focus-within { background: var(--fonte-web-ink-05); box-shadow: inset 0.25rem 0 0 var(--fonte-web-accent); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-offer__table-region tbody tr:hover { background: var(--fonte-web-ink-05); box-shadow: inset 0.25rem 0 0 var(--fonte-web-accent); }
}
.fonte-apartment-offer__table-region tbody tr[data-status="free"]:focus-within { background: var(--fonte-status-free-row-hover-surface); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-offer__table-region tbody tr[data-status="free"]:hover { background: var(--fonte-status-free-row-hover-surface); }
}
.fonte-apartment-offer__table-number { color: var(--fonte-web-ink); font-size: 1.125rem; font-weight: 700; text-decoration: none; }
.fonte-apartment-offer__table-number:focus-visible { outline: 0; color: var(--fonte-web-accent); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-offer__table-number:hover { outline: 0; color: var(--fonte-web-accent); }
}
.fonte-apartment-offer__table-interior { font-weight: 600; }
.fonte-apartment-offer__table-price { color: var(--fonte-web-ink); font-size: 1.0625rem; font-weight: 700; }
.fonte-apartment-offer__status { display: inline-flex; height: 2.125rem; padding: 0 1rem; align-items: center; gap: 0.5rem; border: 1px solid transparent; border-radius: var(--fonte-token-radius-pill); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; white-space: nowrap; }
.fonte-apartment-offer__status::before { width: 0.5rem; height: 0.5rem; flex: none; border-radius: inherit; content: ""; }
.fonte-apartment-offer__status[data-status="free"] { background: var(--fonte-web-available-surface); color: var(--fonte-web-available-text); }
.fonte-apartment-offer__status[data-status="free"]::before { background: var(--fonte-web-available-dot); }
.fonte-apartment-offer__status[data-status="reserved"] { border-color: var(--fonte-status-reserved-border); background: var(--fonte-web-reserved-surface); color: var(--fonte-web-reserved-text); }
.fonte-apartment-offer__status[data-status="reserved"]::before { background: var(--fonte-web-reserved-dot); }
.fonte-apartment-offer__status[data-status="sold"] { border-color: var(--fonte-status-sold-border); background: var(--fonte-status-sold-surface); color: var(--fonte-status-sold-text); }
.fonte-apartment-offer__status[data-status="sold"]::before { background: var(--fonte-status-sold-dot); }
.fonte-apartment-offer__table-region td:has(.fonte-apartment-offer__table-compare) { padding: 1.125rem 1rem; }
.fonte-apartment-offer__table-compare-hit-area { display: inline-flex; width: 2.75rem; height: 2.75rem; margin: -0.75rem; align-items: center; justify-content: center; border-radius: 50%; cursor: pointer; }
.fonte-apartment-offer__table-compare { display: block; width: 1.25rem; height: 1.25rem; margin: 0; appearance: none; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: 0.25rem; background-color: var(--fonte-web-white); background-position: center; background-repeat: no-repeat; background-size: 0.8125rem; cursor: pointer; transition: border-color var(--fonte-token-transition), background-color var(--fonte-token-transition); }
.fonte-apartment-offer__table-compare:checked { border-color: var(--fonte-web-action); background-color: var(--fonte-web-action); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m3.25 8.25 3 3 6.5-6.5' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E"); }
.fonte-apartment-offer__table-compare:focus-visible { outline: 0.125rem solid var(--fonte-web-accent-38); outline-offset: 0.1875rem; }
.fonte-apartment-offer__table-detail { --roll: var(--fonte-web-action); --roll-c: var(--fonte-web-white); display: inline-flex; width: 2.375rem; height: 2.375rem; align-items: center; justify-content: center; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: var(--fonte-token-radius-pill); color: var(--fonte-web-action); text-decoration: none; }
.fonte-apartment-offer__table-detail:focus-visible,
.fonte-apartment-offer__table-detail:active { outline: 0; border-color: var(--fonte-web-action); background: var(--fonte-web-action); color: var(--fonte-web-white); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-offer__table-detail:hover { outline: 0; border-color: var(--fonte-web-action); background: var(--fonte-web-action); color: var(--fonte-web-white); }
}
.fonte-apartment-offer__table-detail svg { width: 1.0625rem; height: 1.0625rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-apartment-offer__table-state { margin: 1rem 0 0; padding: 1.25rem; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: 1rem; background: var(--fonte-web-cream); color: var(--fonte-web-ink-soft); text-align: center; }
.fonte-apartment-offer__table-footer { display: grid; padding-top: 1rem; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 1.25rem; }
.fonte-apartment-offer__pagination { display: flex; grid-column: 2; align-items: center; justify-content: center; gap: 0.5rem; }
.fonte-apartment-offer__pagination[hidden] { display: none; }
.fonte-apartment-offer__pagination button { display: inline-flex; width: 2.5rem; height: 2.5rem; padding: 0; align-items: center; justify-content: center; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: 50%; background: var(--fonte-web-white); color: var(--fonte-web-ink); cursor: pointer; font: inherit; font-weight: var(--fonte-font-weight-semibold); transition: border-color var(--fonte-token-transition), background-color var(--fonte-token-transition), color var(--fonte-token-transition); }
.fonte-apartment-offer__pagination button:focus-visible,
.fonte-apartment-offer__pagination button.is-active { border-color: var(--fonte-web-action); background: var(--fonte-web-action); color: var(--fonte-web-white); outline: 0; }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-offer__pagination button:hover { border-color: var(--fonte-web-action); background: var(--fonte-web-action); color: var(--fonte-web-white); outline: 0; }
}
.fonte-apartment-offer__pagination button:disabled { border-color: var(--fonte-web-line); background: var(--fonte-web-white); color: var(--fonte-web-line); cursor: not-allowed; }
.fonte-apartment-offer__advice, .fonte-apartment-offer__advice:visited, .fonte-apartment-offer__advice:active { --roll: var(--fonte-web-action); --roll-c: var(--fonte-web-white); position: relative; display: inline-flex; height: 3.25rem; padding: 0 1.625rem; align-items: center; gap: 0.75rem; overflow: hidden; isolation: isolate; border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-ink); color: var(--fonte-web-white); font-size: 1.0625rem; font-weight: 700; letter-spacing: -0.005em; text-decoration: none; }
.fonte-apartment-offer__advice { width: fit-content; justify-self: start; }
.fonte-apartment-offer__advice svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-apartment-comparison { position: relative; z-index: 7; padding: clamp(5.5rem, 8vw, 7rem) var(--fonte-public-inline-gutter); background: var(--fonte-web-cream); }
.fonte-apartment-comparison__inner { display: flex; width: 100%; max-width: var(--fonte-public-content-max-width); margin: 0 auto; flex-direction: column; gap: clamp(1.5rem, 3vw, 2.375rem); }
.fonte-apartment-comparison__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.fonte-apartment-comparison__heading { display: flex; flex-direction: column; gap: 0.875rem; }
.fonte-apartment-comparison__icon { display: inline-flex; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; border: var(--fonte-border-width) solid var(--fonte-web-accent); border-radius: var(--fonte-token-radius-pill); color: var(--fonte-web-accent); }
.fonte-apartment-comparison__icon svg, .fonte-apartment-comparison button svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-apartment-comparison__heading > div { display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
.fonte-apartment-comparison h2 { margin: 0; color: var(--fonte-web-ink); font-family: var(--fonte-font-public-display); font-size: clamp(1.75rem, 3vw, 2.75rem); font-weight: var(--fonte-font-weight-regular); line-height: 1.12; }
.fonte-apartment-comparison [data-comparison-share] { display: inline-flex; min-width: 0; min-height: 2rem; padding: 0; align-items: center; gap: 0.5rem; border: 0; background: transparent; color: var(--fonte-web-action); font-weight: var(--fonte-font-weight-bold); cursor: pointer; text-decoration: underline; text-underline-offset: 0.25rem; transition: color var(--fonte-token-transition); }
.fonte-apartment-comparison [data-comparison-share]:focus-visible { outline: 0; color: var(--fonte-web-ink); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-comparison [data-comparison-share]:hover { outline: 0; color: var(--fonte-web-ink); }
}
.fonte-apartment-comparison__clear { --roll: var(--fonte-web-ink); --roll-c: var(--fonte-web-white); position: relative; display: inline-flex; min-width: 0; height: 3rem; box-sizing: border-box; padding: 0 1.375rem; overflow: hidden; isolation: isolate; align-items: center; gap: 0.625rem; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-white); color: var(--fonte-web-ink); font-weight: var(--fonte-font-weight-bold); cursor: pointer; }
.fonte-apartment-comparison__content { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: clamp(1rem, 2vw, 1.5rem); }
.fonte-apartment-comparison__cards { display: contents; }
.fonte-comparison-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: 1.625rem; background: var(--fonte-web-white); }
.fonte-comparison-card__head { display: flex; padding: 1.125rem 1.375rem 0.625rem; flex-direction: column; gap: 0.25rem; }
.fonte-comparison-card__title { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; flex-wrap: wrap; }
.fonte-comparison-card h3 { margin: 0; font-family: var(--fonte-font-public-display); font-size: 1.5rem; font-weight: var(--fonte-font-weight-regular); }
.fonte-comparison-card__remove { align-self: flex-start; padding: 0.25rem 0; border: 0; background: transparent; color: var(--fonte-web-accent); font-weight: var(--fonte-font-weight-light); cursor: pointer; text-decoration: underline; text-underline-offset: 0.1875rem; transition: color 220ms ease; }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-comparison-card__remove:hover { color: var(--fonte-web-ink); }
}
.fonte-comparison-card__remove:focus-visible { outline: 0.125rem solid var(--fonte-web-accent); outline-offset: 0.25rem; color: var(--fonte-web-ink); }
.fonte-apartment-comparison__filters { position: absolute; pointer-events: none; }
.fonte-comparison-card__media { display: flex; min-height: 15rem; padding: 0.875rem; align-items: center; justify-content: center; background: var(--fonte-web-cream); }
.fonte-comparison-card__media img { display: block; width: 70%; max-width: none; height: auto; object-fit: contain; filter: url('#fonte-comparison-floor-plan-tone'); }
.fonte-comparison-card__placeholder { color: var(--fonte-web-ink-soft); }
.fonte-comparison-card__chips { display: flex; padding: 0.875rem 1.375rem 0; gap: 0.5rem; flex-wrap: wrap; }
.fonte-comparison-card__chip { display: inline-flex; height: 2.375rem; min-height: 2.375rem; padding: 0 0.875rem; align-items: center; gap: 0.5rem; border: var(--fonte-border-width) solid var(--fonte-web-accent-38); border-radius: 0.75rem; background: var(--fonte-web-white); color: var(--fonte-web-ink); font-size: 0.9375rem; font-weight: var(--fonte-font-weight-regular); white-space: nowrap; }
.fonte-comparison-card__chip svg { width: 1rem; height: 1rem; flex: none; fill: none; stroke: var(--fonte-web-ink-soft); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-comparison-card__facts { padding: 0.625rem 1.375rem 0; }
.fonte-comparison-card__fact { display: flex; padding: 0.6875rem 0; align-items: baseline; justify-content: space-between; gap: 0.875rem; border-bottom: var(--fonte-border-width) solid var(--fonte-web-line); }
.fonte-comparison-card__fact span { color: var(--fonte-web-ink-soft); font-weight: var(--fonte-font-weight-light); }
.fonte-comparison-card__fact strong { text-align: right; }
.fonte-comparison-card__price { display: flex; margin-top: 0.75rem; padding: 1rem 1.375rem 0; flex-direction: column; gap: 0.375rem; }
.fonte-comparison-card__price span { color: var(--fonte-web-ink-soft); font-weight: var(--fonte-font-weight-light); }
.fonte-comparison-card__price strong { font-size: clamp(1.1875rem, 2vw, 1.625rem); font-weight: var(--fonte-font-weight-bold); }
.fonte-comparison-card__actions { display: flex; margin-top: auto; padding: 2.25rem 1.375rem 1.25rem; flex-direction: column; gap: 0.75rem; }
.fonte-comparison-card:has(.fonte-comparison-card__download) .fonte-comparison-card__actions { margin-top: 0; }
.fonte-comparison-card .fonte-button { contain: paint; transform: translateZ(0); backface-visibility: hidden; }
.fonte-comparison-card__actions .fonte-button { box-sizing: border-box; width: 100%; min-width: 0; max-width: 100%; }
.fonte-comparison-card__interest { --fonte-button-background: var(--fonte-web-action); --fonte-button-color: var(--fonte-web-white); --fonte-button-hover-background: var(--fonte-web-ink); --fonte-button-hover-color: var(--fonte-web-white); }
.fonte-comparison-card__detail { --fonte-button-border-color: var(--fonte-web-ink); --fonte-button-color: var(--fonte-web-ink); --fonte-button-hover-background: var(--fonte-web-ink); --fonte-button-hover-color: var(--fonte-web-white); }
.fonte-comparison-card__download { --fonte-button-background: var(--fonte-web-available-surface); --fonte-button-color: var(--fonte-web-available-text); --fonte-button-hover-background: var(--fonte-web-ink); --fonte-button-hover-color: var(--fonte-web-white); width: fit-content; max-width: calc(100% - 2.75rem); margin: 0.75rem 1.375rem 0; align-self: flex-start; }
.fonte-comparison-card__download svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-apartment-comparison__add { --roll: var(--fonte-web-action); --roll-c: var(--fonte-web-white); display: flex; width: 100%; min-width: 0; max-width: 100%; min-height: 13.75rem; box-sizing: border-box; padding: 1.5rem; grid-column: 3; align-items: center; justify-content: center; flex-direction: column; gap: 0.625rem; border: 0.125rem dashed var(--fonte-web-action); border-radius: 1.625rem; background: transparent; color: var(--fonte-web-action); font-weight: var(--fonte-font-weight-semibold); cursor: pointer; overflow-wrap: anywhere; text-align: center; }
.fonte-apartment-comparison__add[hidden] { display: none; }
.fonte-apartment-comparison__add:focus-visible { outline: 0; }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-comparison__add:hover { outline: 0; }
}
.fonte-apartment-comparison__add svg { width: 1.875rem !important; height: 1.875rem !important; }
.fonte-apartment-comparison__empty { margin: 0; padding: 3rem; border: var(--fonte-border-width) dashed var(--fonte-web-line); border-radius: 1.625rem; background: var(--fonte-web-white); color: var(--fonte-web-ink-soft); text-align: center; }
.fonte-apartment-comparison__state { padding: 2rem; border: var(--fonte-border-width) solid var(--fonte-web-line); border-radius: 1.25rem; background: var(--fonte-web-white); color: var(--fonte-web-ink-soft); text-align: center; }
@media (max-width: 68rem) {
    .fonte-apartment-comparison__content { display: flex; width: 100%; overflow-x: auto; overflow-y: hidden; align-items: flex-start; padding-bottom: 0.75rem; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-width: thin; }
    .fonte-apartment-comparison__cards { display: flex; flex: 0 0 auto; gap: 1rem; }
    .fonte-comparison-card { width: min(24rem, calc(100vw - (2 * var(--fonte-public-inline-gutter)) - 2rem)); flex: 0 0 auto; scroll-snap-align: start; }
    .fonte-apartment-comparison__add { width: min(18.75rem, calc(100vw - (2 * var(--fonte-public-inline-gutter)) - 2rem)); flex: 0 0 auto; scroll-snap-align: start; }
}
@media (max-width: 47.5rem) {
    .fonte-apartment-offer__header { padding-top: 2rem; }
    .fonte-apartment-offer__filter-row { align-items: stretch; gap: 1.5rem; }
    .fonte-apartment-offer__filter { width: 100%; }
    .fonte-apartment-offer__filter > div { box-sizing: border-box; width: calc(100% + (2 * var(--fonte-public-inline-gutter))); max-width: none; margin-inline: calc(-1 * var(--fonte-public-inline-gutter)); padding-left: var(--fonte-public-inline-gutter); flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scroll-padding-inline: var(--fonte-public-inline-gutter); scrollbar-width: none; touch-action: pan-x pan-y; }
    .fonte-apartment-offer__filter > div::after { display: block; width: var(--fonte-public-inline-gutter); height: 0.0625rem; flex: 0 0 var(--fonte-public-inline-gutter); content: ""; }
    .fonte-apartment-offer__filter > div::-webkit-scrollbar { display: none; }
    .fonte-apartment-offer__filter--types button[data-offer-type] { min-height: 2.75rem; flex: none; padding-inline: 1.125rem; font-size: 0.75rem; transition: border-color var(--fonte-token-transition), color var(--fonte-token-transition), transform 140ms var(--fonte-ease-standard); }
    .fonte-apartment-offer__filter--types button[data-offer-type]:active { transform: scale(0.96); }
    .fonte-apartment-offer__filter--availability { flex-basis: auto; }
    .fonte-apartment-offer__filter--availability label { flex: none; transition: opacity 140ms var(--fonte-ease-standard), transform 140ms var(--fonte-ease-standard); }
    .fonte-apartment-offer__filter--availability label:active { opacity: 0.68; transform: scale(0.97); }
    .fonte-apartment-offer__compare { width: auto; max-width: 100%; box-sizing: border-box; margin-left: 0; align-self: flex-start; transition: background-color 300ms ease, border-color 300ms ease, color 300ms ease, transform 140ms var(--fonte-ease-standard); }
    .fonte-apartment-offer__compare::before { display: none; }
    .fonte-apartment-offer__compare:hover, .fonte-apartment-offer__compare:focus-visible { border-color: var(--fonte-web-line); color: var(--fonte-web-ink) !important; }
    .fonte-apartment-offer__compare.is-active:hover, .fonte-apartment-offer__compare.is-active:focus-visible { border-color: var(--fonte-web-action); color: var(--fonte-web-white) !important; }
    .fonte-apartment-offer__compare:active { transform: scale(0.97); }
    .public-apartment-selection .fonte-apartment-offer__table-scroll { box-sizing: border-box; width: calc(100% + (2 * var(--fonte-public-inline-gutter))); max-width: none; margin-inline: calc(-1 * var(--fonte-public-inline-gutter)); padding-inline: var(--fonte-public-inline-gutter); scroll-padding-inline: var(--fonte-public-inline-gutter); touch-action: pan-x pan-y; }
    .fonte-apartment-offer__table-footer { display: flex; align-items: flex-start; flex-direction: column; gap: 0.875rem; }
    .fonte-apartment-offer__advice { align-self: center; }
    .fonte-apartment-offer__advice:hover, .fonte-apartment-offer__advice:focus-visible, .fonte-apartment-offer__advice:visited, .fonte-apartment-offer__advice:active { color: var(--fonte-web-white) !important; }
    .fonte-apartment-offer__pagination { width: 100%; margin-inline: 0; order: -1; }
    .fonte-apartment-comparison { padding-block: 4.5rem; }
    .fonte-apartment-comparison__header { align-items: flex-start; flex-direction: column; }
    .fonte-apartment-comparison__heading, .fonte-apartment-comparison__heading > div { min-width: 0; max-width: 100%; }
    .fonte-apartment-comparison__content { box-sizing: border-box; width: calc(100% + (2 * var(--fonte-public-inline-gutter))); max-width: none; margin-inline: calc(-1 * var(--fonte-public-inline-gutter)); padding-inline: var(--fonte-public-inline-gutter); scroll-padding-inline: var(--fonte-public-inline-gutter); touch-action: pan-x pan-y; }
    .fonte-comparison-card__head { padding: 0.875rem 1rem 0.5rem; }
    .fonte-comparison-card h3 { font-size: 1.375rem; }
    .fonte-comparison-card__media { min-height: 14rem; padding: 0.5rem; }
    .fonte-comparison-card__media img { width: 90%; max-height: 16rem; }
    .fonte-comparison-card__chips { padding: 0.625rem 1rem 0; gap: 0.375rem; }
    .fonte-comparison-card__chip { height: 2rem; min-height: 2rem; padding-inline: 0.6875rem; font-size: 0.8125rem; }
    .fonte-comparison-card__facts { padding: 0.375rem 1rem 0; }
    .fonte-comparison-card__fact { padding-block: 0.5rem; }
    .fonte-comparison-card__price { margin-top: 0.375rem; padding: 0.625rem 1rem 0; gap: 0.125rem; }
    .fonte-comparison-card__download { max-width: calc(100% - 2rem); margin: 0.5rem 1rem 0; }
    .fonte-comparison-card__actions, .fonte-comparison-card:has(.fonte-comparison-card__download) .fonte-comparison-card__actions { margin-top: 0; padding: 1rem 1rem 0.875rem; gap: 0.5rem; }
    .fonte-comparison-card__actions .fonte-button, .fonte-comparison-card__download { min-height: 2.875rem; height: 2.875rem; }
    .fonte-apartment-comparison__add { height: 8rem; min-height: 8rem; align-self: flex-start; }
    .public-apartment-selection .fonte-call-to-action__actions { width: 100%; grid-template-columns: minmax(0, max-content); justify-content: center; }
    .public-apartment-selection .fonte-call-to-action__actions .fonte-button { width: auto; padding-inline: 1rem !important; }
}
.public-apartment-selection .fonte-hero__scrim { top: auto; bottom: 0; height: 48%; background: linear-gradient(180deg, rgba(255, 249, 238, 0) 0%, rgba(255, 249, 238, 0.16) 30%, rgba(255, 249, 238, 0.52) 62%, rgba(255, 249, 238, 0.86) 84%, var(--fonte-web-cream) 100%); }
.public-apartment-selection .fonte-hero__content { top: 0; bottom: clamp(1.125rem, 3vh, 2.25rem); height: auto; padding-top: clamp(10rem, 22vh, 15rem); flex-direction: column; align-items: stretch; justify-content: flex-end; gap: clamp(1.5rem, 3.4vw, 2.75rem); }
.public-apartment-selection .fonte-hero__text { max-width: 38rem; gap: 1.25rem; }
.public-apartment-selection .fonte-hero[data-initial-floor-requested]:not([data-apartment-view]) .fonte-hero__text { opacity: 0; visibility: hidden; }
.public-apartment-selection .fonte-hero:not([data-image-ready]) .fonte-hero__image,
.public-apartment-selection .fonte-hero:not([data-image-ready]) .fonte-map-hotspots__canvas { visibility: hidden; }
.public-apartment-selection .fonte-hero__text h1 { color: var(--fonte-web-ink); font-family: var(--fonte-font-public-display); font-size: clamp(2.125rem, 3.4vw, 3.5rem); font-weight: var(--fonte-font-weight-regular); line-height: 1.08; text-shadow: none; }
.public-apartment-selection .fonte-hero__text p { max-width: 34ch; color: var(--fonte-web-ink); font-size: clamp(0.9375rem, 1.25vw, 1.125rem); font-weight: var(--fonte-font-weight-regular); line-height: 1.6; text-shadow: none; }
.public-apartment-selection .fonte-hero__text h1 mark::after { display: none; }
.public-apartment-selection .fonte-hero__actions { display: none; }
.public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__visual { background: var(--fonte-web-cream); }
.public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__image { top: 50%; left: 50%; width: min(clamp(20rem, 38vw, 38.75rem), 71.6vh); height: auto; object-fit: fill; object-position: center; transform: translate(-50%, -50%); transform-origin: center; animation: none; }
.public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__scrim { display: none; }
.public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__image { animation: none; }
.fonte-hero__mobile-plan-heading { display: none; }
.fonte-hero__mobile-building, .fonte-hero__mobile-plan-hint, .fonte-hero__mobile-plan-cta { display: none; }
.public-apartment-selection .fonte-hero[data-apartment-view="floor"][data-image-ready] .fonte-map-hotspots__canvas { opacity: 1; animation: none; }
.public-apartment-selection .fonte-hero.is-apartment-view-entering .fonte-hero__text { visibility: visible; animation: fonte-apartment-copy-swap 340ms 40ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.public-apartment-selection .fonte-hero[data-apartment-view="floor"].is-apartment-view-entering .fonte-hero__image { animation: fonte-apartment-plan-settle 380ms cubic-bezier(0.22, 1, 0.36, 1) both; }
.fonte-hero__kicker { display: inline-flex; align-items: center; gap: 0.875rem; color: var(--fonte-web-accent); }
.fonte-hero__kicker i { display: inline-flex; width: 3.25rem; height: 3.25rem; align-items: center; justify-content: center; border: 0.09375rem solid var(--fonte-web-accent); border-radius: var(--fonte-token-radius-pill); }
.fonte-hero__kicker svg { width: 1.5rem; height: 1.5rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-hero__kicker span { font-size: var(--fonte-type-public-sm); font-weight: var(--fonte-font-weight-bold); letter-spacing: 0.2em; text-transform: uppercase; }
.fonte-apartment-selection-bar { container-type: inline-size; display: flex; width: 90%; max-width: 92.5rem; margin-top: auto; margin-inline: auto; padding: clamp(1.125rem, 2vw, 1.625rem) clamp(1.25rem, 2.6vw, 2.25rem); align-items: center; justify-content: center; gap: clamp(1rem, 2vw, 1.75rem); border-radius: 1.625rem; background: var(--fonte-web-white); box-shadow: 0 1.625rem 4.375rem var(--fonte-web-ink-16); pointer-events: auto; }
.fonte-apartment-selection-bar__main { display: flex; min-width: 0; flex: 1 1 auto; flex-direction: column; align-items: flex-start; gap: 1rem; }
.fonte-apartment-selection-bar__main > strong { color: var(--fonte-web-ink); font-family: var(--fonte-font-public-display); font-size: clamp(1.1875rem, 1.6vw, 1.5rem); font-weight: var(--fonte-font-weight-regular); line-height: 1.1; }
.fonte-apartment-selection-bar__selected { margin: -0.5rem 0 0; color: var(--fonte-web-ink-soft); font-size: 0.875rem; font-weight: var(--fonte-font-weight-semibold); }
.fonte-apartment-selection-bar__controls { display: flex; width: 100%; min-width: 0; align-items: center; justify-content: flex-start; gap: clamp(0.5rem, 1.2vw, 1.25rem); }
.fonte-apartment-selection-bar__floors { display: flex; min-width: 0; flex: 0 1 auto; align-items: center; justify-content: flex-start; gap: clamp(0.5rem, 1.2vw, 1.25rem); overflow-x: auto; scrollbar-width: none; }
.fonte-apartment-selection-bar__floors::-webkit-scrollbar { display: none; }
.fonte-apartment-selection-bar button { position: relative; isolation: isolate; display: inline-flex; width: 2.875rem; height: 2.875rem; flex: none; padding: 0; align-items: center; justify-content: center; overflow: hidden; border: 0.09375rem solid var(--fonte-web-ink-32); border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-white); color: var(--fonte-web-ink); cursor: pointer; font-family: var(--fonte-font-public); font-size: 1.125rem; font-weight: var(--fonte-font-weight-semibold); transition: border-color var(--fonte-motion-fast) var(--fonte-ease-standard), color var(--fonte-hero-roll-color-transition); }
.fonte-apartment-selection-bar button::before { position: absolute; z-index: -1; inset: 0; border-radius: inherit; background: var(--fonte-web-ink); content: ""; transform: translateY(101%); transition: transform var(--fonte-action-roll-transition); pointer-events: none; }
.fonte-apartment-selection-bar button:focus-visible { outline: 0; border-color: var(--fonte-web-ink); color: var(--fonte-web-white); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-selection-bar button:hover { outline: 0; border-color: var(--fonte-web-ink); color: var(--fonte-web-white); }
}
.fonte-apartment-selection-bar button:focus-visible::before { transform: translateY(0); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-selection-bar button:hover::before { transform: translateY(0); }
}
.fonte-apartment-selection-bar button.is-active { border-color: var(--fonte-web-accent); color: var(--fonte-web-accent); }
.fonte-apartment-selection-bar button.is-active::before { transform: translateY(101%); }
.fonte-apartment-selection-bar button svg { position: relative; z-index: 1; width: 1.3125rem; height: 1.3125rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.fonte-apartment-selection-bar__divider { width: 0.0625rem; height: 2rem; flex: none; background: var(--fonte-web-line); }
.fonte-apartment-selection-bar__legend { display: inline-flex; min-width: 0; align-items: center; gap: clamp(0.625rem, 1.4vw, 1.5rem); }
.fonte-apartment-selection-bar__status { display: inline-flex; align-items: center; gap: 0.5625rem; color: var(--fonte-web-ink); font-size: 0.90625rem; font-weight: var(--fonte-font-weight-semibold); white-space: nowrap; }
.fonte-apartment-selection-bar__status i { width: 0.5625rem; height: 0.5625rem; flex: none; border-radius: var(--fonte-token-radius-pill); }
.fonte-apartment-selection-bar__status--free i { background: var(--fonte-web-available-dot); }
.fonte-apartment-selection-bar__status--reserved i { background: var(--fonte-web-reserved-dot); }
.fonte-apartment-selection-bar__status--sold i { background: var(--fonte-status-sold-dot); }
.fonte-apartment-selection-bar .fonte-apartment-selection-bar__building { width: 2.625rem; height: 2.625rem; align-self: flex-end; margin-bottom: 0.125rem; border: 0.125rem solid var(--fonte-web-ink-32); color: var(--fonte-web-ink); }
.fonte-apartment-selection-bar .fonte-apartment-selection-bar__building::before { background: var(--fonte-web-action); }
.fonte-apartment-selection-bar .fonte-apartment-selection-bar__building:focus-visible { border-color: var(--fonte-web-action); color: var(--fonte-web-white); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-selection-bar .fonte-apartment-selection-bar__building:hover { border-color: var(--fonte-web-action); color: var(--fonte-web-white); }
}
.fonte-apartment-selection-bar .fonte-apartment-selection-bar__building.is-active { border-color: var(--fonte-web-action); color: var(--fonte-web-action); }
.fonte-apartment-selection-bar .fonte-apartment-selection-bar__building.is-active:focus-visible { color: var(--fonte-web-white); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-selection-bar .fonte-apartment-selection-bar__building.is-active:hover { color: var(--fonte-web-white); }
}
.fonte-apartment-selection-bar .fonte-apartment-selection-bar__building.is-active:focus-visible::before { transform: translateY(0); }
@media (min-width: 75.001rem) and (hover: hover) and (pointer: fine) {
.fonte-apartment-selection-bar .fonte-apartment-selection-bar__building.is-active:hover::before { transform: translateY(0); }
}
.fonte-map-hotspots__region.is-selected:not([data-status]) { fill: var(--fonte-web-hotspot-active); stroke: var(--fonte-web-accent); }
@container (max-width: 68rem) {
    .fonte-apartment-selection-bar__legend, .fonte-apartment-selection-bar__divider--legend { display: none; }
    .fonte-apartment-selection-bar__controls { width: 100%; }
}
@keyframes fonte-apartment-plan-settle { from { opacity: 0.72; transform: translate(-50%, calc(-50% + 0.25rem)); } to { opacity: 1; transform: translate(-50%, -50%); } }
@keyframes fonte-apartment-copy-swap { from { opacity: 0.72; transform: translate3d(0, 0.3125rem, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@media (min-width: 47.501rem) {
    .public-apartment-selection .fonte-hero { --fonte-building-lift: clamp(3rem, 9vh, 6rem); }
    .public-apartment-selection .fonte-hero:not([data-apartment-view="floor"]) .fonte-hero__image { top: calc(-1 * var(--fonte-building-lift)); height: 100%; object-fit: cover; }
    .public-apartment-selection .fonte-hero:not([data-apartment-view="floor"]) .fonte-hero__scrim { height: calc(var(--fonte-building-lift) + 14rem); background: linear-gradient(180deg, rgba(255, 249, 238, 0) 0, rgba(255, 249, 238, 0.16) 3.5rem, rgba(255, 249, 238, 0.5) 7rem, rgba(255, 249, 238, 0.84) 10.5rem, var(--fonte-web-cream) 14rem, var(--fonte-web-cream) 100%); }
    .public-apartment-selection .fonte-hero__text { box-sizing: border-box; width: clamp(17rem, 27vw, 25rem); max-width: none; padding: clamp(1rem, 1.6vw, 1.375rem); flex: 0 0 auto; align-self: flex-start; border: var(--fonte-border-width) solid var(--fonte-web-white-70); border-radius: 1.375rem; background: var(--fonte-web-white-55); box-shadow: 0 0.375rem 1rem var(--fonte-web-ink-06); backdrop-filter: blur(0.25rem); -webkit-backdrop-filter: blur(0.25rem); }
}
@media (min-width: 75.001rem) {
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__image { top: 45%; left: 58%; width: min(clamp(36rem, 58vw, 58rem), 84vh); }
}
@media (min-width: 47.501rem) and (max-width: 75rem) {
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__image { top: 44%; left: 64.5%; width: min(70vw, 68vh); }
}
@media (min-width: 47.501rem) and (max-width: 75rem) and (max-height: 43.75rem) {
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__image { width: min(70vw, 61vh); }
}
@media (max-width: 47.5rem) {
    .public-apartment-selection .fonte-hero { display: flex; box-sizing: border-box; height: auto !important; min-height: calc(100svh - 4.75rem); padding: 0 var(--fonte-public-inline-gutter) 3rem; flex-direction: column; gap: 1.25rem; background: var(--fonte-web-ink); }
    .public-apartment-selection .fonte-hero__scrim { display: none; }
    .public-apartment-selection .fonte-hero__content { display: contents; }
    .public-apartment-selection .fonte-hero__mobile-building { position: relative; display: block; order: 0; width: calc(100% + (2 * var(--fonte-public-inline-gutter))); margin-inline: calc(-1 * var(--fonte-public-inline-gutter)); overflow: hidden; background: var(--fonte-web-cream); }
    .public-apartment-selection .fonte-hero__text { order: 1; width: 100%; max-width: none; margin-top: -0.5rem; gap: 1rem; }
    .public-apartment-selection .fonte-apartment-selection-bar { order: 2; }
    .public-apartment-selection .fonte-hero__visual { display: none; }
    .public-apartment-selection .fonte-hero__hotspots { display: none; }
    .public-apartment-selection .fonte-hero__text h1 { color: var(--fonte-web-white); font-size: 2.5rem; }
    .public-apartment-selection .fonte-hero__text p { color: var(--fonte-web-white-90); font-size: 1.0625rem; font-weight: var(--fonte-font-weight-light); text-shadow: var(--fonte-web-shadow-hero-mobile-copy); }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] { background: var(--fonte-web-ink); }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] { padding-bottom: 3rem; }
    .public-apartment-selection .fonte-hero__mobile-building img { display: block; width: 100%; height: max(22rem, 60svh); object-fit: cover; object-position: center bottom; }
    .public-apartment-selection .fonte-hero__mobile-building i { position: absolute; inset: auto 0 0; height: 42%; background: linear-gradient(180deg, transparent, var(--fonte-web-ink)); pointer-events: none; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__content { display: contents; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__text { order: 1; width: 100%; max-width: none; margin-top: -0.5rem; gap: 1rem; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__text h1 { color: var(--fonte-web-white); font-size: 2.5rem; line-height: 1.04; text-shadow: var(--fonte-web-shadow-hero-mobile-title); }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__text p { color: var(--fonte-web-white-90); font-size: 1.0625rem; text-shadow: none; }
    .public-apartment-selection .fonte-hero__text [data-hero-selection-lead] { display: none; }
    .public-apartment-selection .fonte-hero .fonte-hero__kicker { display: none; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-apartment-selection-bar { order: 2; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__visual { position: relative; inset: auto; display: block; box-sizing: border-box; order: 3; width: 100%; height: auto; min-height: 0; padding: 1.125rem; overflow: hidden; scroll-margin-top: 5.75rem; border-radius: 1.375rem; background: var(--fonte-web-white); transition: margin-bottom var(--fonte-token-transition); }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__mobile-plan-heading { display: flex; min-height: 1.75rem; margin-bottom: 0.875rem; align-items: baseline; justify-content: space-between; gap: 0.875rem; }
    .public-apartment-selection .fonte-hero__mobile-plan-heading strong { color: var(--fonte-web-ink); font-family: var(--fonte-font-public-display); font-size: 1.5rem; font-weight: var(--fonte-font-weight-regular); line-height: 1.1; }
    .public-apartment-selection .fonte-hero__mobile-plan-heading span { color: var(--fonte-web-accent); font-size: 0.8125rem; font-weight: var(--fonte-font-weight-bold); letter-spacing: 0.06em; text-transform: uppercase; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"].has-apartment-popup .fonte-hero__visual { margin-bottom: var(--fonte-mobile-apartment-popup-space, 0); }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__hotspots { display: block; z-index: 6; pointer-events: none; }
    .public-apartment-selection .fonte-hero .fonte-hero__hotspots.is-dialog-open { z-index: 20; }
    .public-apartment-selection .fonte-hero .fonte-map-hotspots__canvas { pointer-events: none; }
    .public-apartment-selection .fonte-hero .fonte-map-hotspots__region { pointer-events: auto; touch-action: manipulation; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-touch { position: absolute; right: auto; bottom: auto; left: 50%; transform: translateX(-50%); }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch { width: min(18rem, calc(100vw - 3rem)); border-radius: 1.25rem; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch .fonte-map-hotspots__close { top: 0.625rem; right: 0.625rem; width: 2.25rem; height: 2.25rem; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch .fonte-map-hotspots__kicker { margin: 0.75rem 3.5rem 0 0.875rem; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch .fonte-map-hotspots__title { padding: 0.75rem 0.875rem 0.5rem; font-size: 1.5rem; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch .fonte-map-hotspots__stats { padding-inline: 0.875rem; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch .fonte-map-hotspots__stats div { padding-block: 0.5rem; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch .fonte-map-hotspots__stats dd { font-family: var(--fonte-font-public); font-size: 1rem; font-weight: var(--fonte-font-weight-semibold); letter-spacing: -0.01em; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch .fonte-map-hotspots__hint { width: calc(100% - 1.75rem); min-height: 2.875rem; margin: 0.75rem 0.875rem 0.875rem; padding: 0.625rem 0.875rem; font-size: 0.9375rem; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch .fonte-map-hotspots__hint::before { display: none; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch .fonte-map-hotspots__hint:hover, .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch .fonte-map-hotspots__hint:focus-visible { background: var(--fonte-web-action); color: var(--fonte-web-white); }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch .fonte-map-hotspots__hint { transition: transform 140ms var(--fonte-ease-standard); }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-map-hotspots__bubble.is-apartment.is-touch .fonte-map-hotspots__hint:active { transform: scale(0.97); }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__image { position: relative; top: auto; left: auto; display: block; width: 100%; max-width: 26.25rem; height: auto; margin: 0 auto; transform: none !important; animation: none !important; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__mobile-plan-hint { display: flex; margin: 0.875rem 0 0; align-items: center; gap: 0.625rem; color: var(--fonte-web-ink-soft); font-size: 0.875rem; font-weight: var(--fonte-font-weight-semibold); line-height: 1.4; }
    .public-apartment-selection .fonte-hero__mobile-plan-hint > span[aria-hidden="true"] { display: inline-flex; width: 1.375rem; height: 1.375rem; flex: none; align-items: center; justify-content: center; border: 0.0625rem solid var(--fonte-web-accent); border-radius: var(--fonte-token-radius-pill); color: var(--fonte-web-accent); font-size: 0.75rem; font-style: normal; font-weight: var(--fonte-font-weight-bold); }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__mobile-plan-cta { position: relative; z-index: 8; display: inline-flex; width: 100%; min-height: 3.125rem; margin-top: 0.75rem; align-items: center; justify-content: center; gap: 0.625rem; border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-ink); color: var(--fonte-web-white); font-size: 1rem; font-weight: var(--fonte-font-weight-bold); text-decoration: none; }
    .public-apartment-selection .fonte-hero__mobile-plan-cta svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
    .fonte-apartment-selection-bar { width: 100%; margin: 0; padding: 0; flex-direction: column; align-items: flex-start; gap: 0.875rem; border-radius: 0; background: transparent; box-shadow: none; }
    .fonte-apartment-selection-bar__main { width: 100%; gap: 0.875rem; }
    .fonte-apartment-selection-bar__main > strong { color: var(--fonte-web-white-72); font-family: var(--fonte-font-public); font-size: 0.9375rem; font-weight: var(--fonte-font-weight-bold); letter-spacing: 0.14em; text-transform: uppercase; }
    .fonte-apartment-selection-bar__selected { color: var(--fonte-web-white-72); }
    .fonte-apartment-selection-bar__controls { display: grid; width: 100%; grid-template-columns: repeat(7, minmax(0, 1fr)); align-items: start; gap: 0.625rem 0; }
    .fonte-apartment-selection-bar__floors { display: contents; }
    .fonte-apartment-selection-bar__floors button { order: 2; }
    .fonte-apartment-selection-bar__parking { order: 1; }
    .fonte-apartment-selection-bar__controls button { justify-self: center; }
    .fonte-apartment-selection-bar button { width: 2.625rem; height: 2.625rem; border-color: var(--fonte-web-white-32); background: transparent; color: var(--fonte-web-white); }
    .fonte-apartment-selection-bar__divider, .fonte-apartment-selection-bar__legend,
    .fonte-apartment-selection-bar .fonte-apartment-selection-bar__building { display: none; }
    .public-apartment-selection .fonte-hero:not([data-apartment-view="floor"]) .fonte-apartment-selection-bar { margin-top: auto; }
}
@media (max-width: 23rem) {
    .public-apartment-selection .fonte-apartment-selection-bar__controls { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (hover: none) and (pointer: coarse) and (orientation: landscape) and (max-width: 75rem) and (max-height: 47.5rem) and (min-width: 47.501rem) {
    .public-apartment-selection .fonte-hero { height: auto; min-height: 0; aspect-ratio: 1672 / 941; margin-top: 0; }
    .public-apartment-selection .fonte-hero__visual { height: 100%; }
    .public-apartment-selection .fonte-hero__image { top: 0; width: 100%; height: 100%; object-fit: fill; object-position: center; transform: none; }
    .public-apartment-selection .fonte-hero__scrim { inset: 0; width: auto; height: auto; background: linear-gradient(90deg, rgba(255, 249, 238, 0.42), rgba(255, 249, 238, 0.06) 58%, transparent 78%); }
    .public-apartment-selection .fonte-hero__content { inset: 0 var(--fonte-public-inline-gutter); height: auto; padding-top: 0; justify-content: space-between; gap: 0.625rem; }
    .public-apartment-selection .fonte-hero__text { width: min(17rem, 36vw); margin-top: clamp(0.75rem, 3vh, 1.25rem); padding: 0.75rem; gap: 0.5rem; border-radius: 1rem; }
    .public-apartment-selection .fonte-hero__kicker { gap: 0.5rem; }
    .public-apartment-selection .fonte-hero__kicker i { width: 2rem; height: 2rem; }
    .public-apartment-selection .fonte-hero__kicker svg { width: 1rem; height: 1rem; }
    .public-apartment-selection .fonte-hero__kicker span { font-size: 0.625rem; }
    .public-apartment-selection .fonte-hero__text h1 { font-size: clamp(1.5rem, 6.8vh, 2.25rem); line-height: 1; }
    .public-apartment-selection .fonte-hero__text p { font-size: clamp(0.6875rem, 2.3vh, 0.8125rem); line-height: 1.35; }
    .public-apartment-selection .fonte-apartment-selection-bar { width: min(96%, 68rem); margin-bottom: clamp(0.5rem, 2vh, 0.875rem); padding: 0.625rem 0.875rem; gap: 0.625rem; border-radius: 1rem; }
    .public-apartment-selection .fonte-apartment-selection-bar__main { gap: 0.5rem; }
    .public-apartment-selection .fonte-apartment-selection-bar__main > strong { font-size: 0.875rem; }
    .public-apartment-selection .fonte-apartment-selection-bar__controls,
    .public-apartment-selection .fonte-apartment-selection-bar__floors { gap: 0.5rem; }
    .public-apartment-selection .fonte-apartment-selection-bar button { width: 2.25rem; height: 2.25rem; font-size: 0.9375rem; }
    .public-apartment-selection .fonte-apartment-selection-bar__legend,
    .public-apartment-selection .fonte-apartment-selection-bar__divider--legend { display: none; }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] { aspect-ratio: auto; min-height: calc(100svh - var(--fonte-public-header-height)); }
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"] .fonte-hero__image { top: 50%; left: 57%; width: min(59vw, 72vh); height: auto; object-fit: fill; transform: translate(-50%, -50%); }
}
@media (prefers-reduced-motion: reduce) {
    .public-apartment-selection .fonte-hero.is-apartment-view-entering .fonte-hero__visual,
    .public-apartment-selection .fonte-hero.is-apartment-view-entering .fonte-hero__text,
    .public-apartment-selection .fonte-hero[data-apartment-view="floor"].is-apartment-view-entering .fonte-hero__image { animation: none; }
}

.fonte-apartment-offer__mobile-meta,
.fonte-apartment-offer__mobile-measures { display: none; }
@media (max-width: 75rem) {
    .fonte-apartment-offer__table-scroll { overflow: visible; }
    .fonte-apartment-offer__table-region table { display: block; min-width: 0; }
    .fonte-apartment-offer__table-region thead { display: none; }
    .fonte-apartment-offer__table-region tbody { display: grid; gap: 0.625rem; }
    .fonte-apartment-offer__table-region tbody tr { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; gap: 0.375rem 0.5rem; align-items: center; padding: 0.625rem; border: 1px solid var(--fonte-web-line); border-radius: 1rem; background: var(--fonte-web-white); }
    .fonte-apartment-offer__table-region tbody tr[data-status="free"] { background: var(--fonte-web-white); }
    .fonte-apartment-offer__table-region td { min-width: 0; padding: 0; border: 0; text-align: left; white-space: normal; font-size: 0.8125rem; }
    .fonte-apartment-offer__table-region td:nth-child(1) { grid-area: 1 / 2; }
    .fonte-apartment-offer__table-region td:nth-child(2),
    .fonte-apartment-offer__table-region td:nth-child(3),
    .fonte-apartment-offer__table-region td:nth-child(5),
    .fonte-apartment-offer__table-region td:nth-child(6) { display: none; }
    .fonte-apartment-offer__table-region td:nth-child(4) { grid-area: 2 / 2 / 3 / -1; font-weight: 400; line-height: 1.6; }
    .fonte-apartment-offer__table-region td:nth-child(7) { grid-area: 3 / 2; align-self: center; font-size: 1rem; }
    .fonte-apartment-offer__table-region td:nth-child(8) { grid-area: 1 / 3; justify-self: end; align-self: center; }
    .fonte-apartment-offer__table-region td:nth-child(9) { position: relative; grid-area: 1 / 1 / 4 / 2; align-self: stretch; padding: 0; }
    .fonte-apartment-offer__table-region td:nth-child(10) { grid-area: 3 / 3; justify-self: end; }
    .fonte-apartment-offer__mobile-meta { display: block; margin-top: 0.25rem; color: var(--fonte-web-ink-soft); font-size: 0.75rem; }
    .fonte-apartment-offer__mobile-measures { display: block; color: var(--fonte-web-ink-soft); font-size: 0.75rem; }
    .fonte-apartment-offer__status { height: 1.5rem; padding-inline: 0.5rem; gap: 0.25rem; font-size: 0.625rem; letter-spacing: 0; }
    .fonte-apartment-offer__table-compare-hit-area { box-sizing: border-box; position: absolute; top: -0.625rem; left: -0.625rem; width: 3rem; height: 3rem; margin: 0; padding: 0.875rem 0 0 0.625rem; align-items: flex-start; justify-content: flex-start; border-radius: 1rem 0 0 0; }
    .fonte-apartment-offer__table-detail { width: 2.5rem; height: 2.5rem; min-height: 0; }
}
.fonte-apartment-offer__mobile-sort { display: none; }
@media (max-width: 75rem) {
    .fonte-apartment-offer__mobile-sort { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; font-size: 0.875rem; }
    .fonte-apartment-offer__mobile-sort select { min-width: 0; flex: 1; min-height: 2.75rem; padding: 0.5rem 0.75rem; border: 1px solid var(--fonte-web-line); border-radius: 1.5rem; background: var(--fonte-web-white); color: var(--fonte-web-ink); font: inherit; }
}
.fonte-apartment-offer__mobile-availability { display: none; }
@media (max-width: 75rem) {
    .fonte-apartment-offer__table-region td:nth-child(1) { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.5rem; }
    .fonte-apartment-offer__mobile-meta { display: flex; flex-wrap: wrap; gap: 0.5rem; width: auto; margin: 0; font-size: 0.75rem; line-height: 1.5; }
    .fonte-apartment-offer__mobile-meta > span { white-space: nowrap; }
    .fonte-apartment-offer__table-number[href]::before { content: "Byt č. "; }
    .fonte-apartment-offer__table-number { font-size: 1.125rem; white-space: nowrap; }
    .fonte-apartment-offer__desktop-interior { display: none; }
    .fonte-apartment-offer__mobile-measures { display: flex; flex-wrap: wrap; gap: 0.25rem 0; font-size: 0.6875rem; line-height: 1.5; }
    .fonte-apartment-offer__mobile-measures > span { display: inline-flex; gap: 0.1875rem; white-space: nowrap; }
    .fonte-apartment-offer__mobile-measures > span + span { margin-left: 0.5rem; padding-left: 0.5rem; border-left: 1px solid var(--fonte-web-line); }
    .fonte-apartment-offer__mobile-measures > span:first-child > span { display: none; }
    .fonte-apartment-offer__mobile-measures strong { color: inherit; font-weight: 400; white-space: nowrap; }
    .fonte-apartment-offer__mobile-measures > span:first-child strong { color: var(--fonte-web-ink); font-weight: 600; }
    .fonte-apartment-offer__mobile-measures::before { content: none; }
    .fonte-apartment-offer__table-detail { width: 2.25rem; height: 2.25rem; }
    .fonte-apartment-offer__filter-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0.75rem; }
    .fonte-apartment-offer__filter--types { grid-column: 1 / -1; }
    .fonte-apartment-offer__filter--types > div { display: grid; width: 100%; margin: 0; padding: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.375rem; overflow: visible; }
    .fonte-apartment-offer__filter--types > div::after { display: none; }
    .fonte-apartment-offer__filter--types button[data-offer-type] { min-width: 0; padding-inline: 0.25rem; font-size: clamp(0.625rem, 2.8vw, 0.75rem); }
    .fonte-apartment-offer__filter--availability > div { display: none; }
    .fonte-apartment-offer__mobile-availability { display: block; width: 100%; min-height: 2.75rem; padding: 0.5rem 0.75rem; border: 1px solid var(--fonte-web-line); border-radius: 1.5rem; background: var(--fonte-web-white); color: var(--fonte-web-ink); font: inherit; font-size: 0.8125rem; }
}
.fonte-offer-select { position: relative; min-width: 0; }
.fonte-offer-select__trigger { display: flex; width: 100%; min-height: 2.75rem; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.5rem 0.75rem; border: 1px solid var(--fonte-web-line); border-radius: 1.5rem; background: var(--fonte-web-white); color: var(--fonte-web-ink); font: inherit; text-align: left; cursor: pointer; }
.fonte-offer-select__trigger::after { content: ''; width: 0.375rem; height: 0.375rem; flex: none; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.fonte-offer-select__trigger[aria-expanded="true"] { border-color: var(--fonte-web-accent); }
.fonte-offer-select__trigger:focus-visible { outline: 2px solid var(--fonte-web-accent); outline-offset: 2px; }
.fonte-offer-select .fonte-contact__select-options { max-height: min(20rem, 45svh); overflow-y: auto; overscroll-behavior: contain; }
.fonte-offer-select .fonte-contact__select-options button { font-size: 0.875rem; }
@media (max-width: 75rem) {
    .fonte-apartment-offer__filter--availability > .fonte-offer-select { display: block; width: 100%; margin: 0; padding: 0; border: 0; overflow: visible; }
    .fonte-apartment-offer__filter--availability > .fonte-offer-select::after { display: none; }
    .fonte-apartment-offer__mobile-sort > .fonte-offer-select { flex: 1; }
    .fonte-offer-select > select[hidden] { display: none; }
}
@media (max-width: 75rem) {
    .fonte-apartment-offer__tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.5rem; overflow: visible; }
    .fonte-apartment-offer__tabs::before,
    .fonte-apartment-offer__tabs::after,
    .fonte-apartment-offer__tabs button::after { display: none; }
    .fonte-apartment-offer__tabs button { min-width: 0; min-height: 2.75rem; padding: 0.5rem 0.25rem; justify-content: center; border: 1px solid var(--fonte-web-line); border-radius: 0.75rem; font-size: 0.8125rem; }
    .fonte-apartment-offer__tabs button.is-active { border-color: var(--fonte-web-ink); background: var(--fonte-web-ink); color: var(--fonte-web-white); }
    .fonte-apartment-offer__filters { padding-top: 1.5rem; }
    .fonte-apartment-offer__table-region tbody tr:hover,
    .fonte-apartment-offer__table-region tbody tr:focus-within,
    .fonte-apartment-offer__table-region tbody tr[data-status="free"]:hover,
    .fonte-apartment-offer__table-region tbody tr[data-status="free"]:focus-within { background: var(--fonte-web-white); box-shadow: none; }
    .fonte-offer-select .fonte-contact__select-options button:hover,
    .fonte-offer-select .fonte-contact__select-options button:focus-visible { background: var(--fonte-web-cream); color: var(--fonte-web-ink); }
    .fonte-offer-select .fonte-contact__select-options button[aria-selected="true"] { background: var(--fonte-web-cream); color: var(--fonte-web-ink); font-weight: 600; }
    .fonte-offer-select__trigger::after { width: 0.5rem; height: 0.5rem; border-width: 1.5px; margin: -0.25rem 0.125rem 0; opacity: 0.65; }
    .fonte-offer-select__trigger[aria-expanded="true"]::after { transform: rotate(225deg); margin-top: 0.25rem; }
}

.fonte-apartment-offer__mobile-compare-label { display: none; }
@media (max-width: 75rem) {
    .fonte-apartment-offer__table-region td:nth-child(4) { font-size: 0.9375rem; }
    .fonte-apartment-offer__compare [data-comparison-label] { display: none; }
    .fonte-apartment-offer__mobile-compare-label { display: inline; }
}
@media (max-width: 22.5rem) {
    .fonte-apartment-offer__filter--availability,
    .fonte-apartment-offer__compare { grid-column: 1 / -1; }
}
.fonte-apartment-offer__mobile-floor { display: none; }
@media (max-width: 75rem) {
    .fonte-apartment-offer:has(.fonte-apartment-offer__mobile-floor) .fonte-apartment-offer__tabs { display: none; }
    .fonte-apartment-offer__mobile-floor { display: block; width: 100%; }
}

.fonte-apartment-offer__filter-toggle,
.fonte-apartment-offer__mobile-panel { display: none; }
html:has(.fonte-apartment-offer__mobile-panel[open]) { overflow: hidden; }
@media (max-width: 75rem) {
    .fonte-apartment-offer__header { padding-bottom: 1.5rem; }
    .fonte-apartment-offer__filters { padding-top: 0; gap: 0.75rem; }
    .fonte-apartment-offer__filter-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
    .fonte-apartment-offer__filter-row > .fonte-apartment-offer__compare { width: 100%; grid-column: auto; margin: 0; }
    .fonte-apartment-offer__filter-toggle { display: inline-flex; height: var(--fonte-mobile-button-height); min-height: var(--fonte-mobile-button-height); align-items: center; justify-content: center; gap: 0.5rem; padding: 0 1rem; border: 1px solid var(--fonte-web-line); border-radius: var(--fonte-token-radius-pill); background: var(--fonte-web-white); color: var(--fonte-web-ink); font-family: var(--fonte-font-public); font-size: 0.9375rem; cursor: pointer; }
    .fonte-apartment-offer__filter-toggle svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linejoin: round; }
    .fonte-apartment-offer__mobile-panel[open] { display: flex; flex-direction: column; gap: 1.5rem; width: calc(100% - 2rem); max-width: 30rem; max-height: calc(100dvh - 2rem); margin: auto; padding: 1.25rem; border: 1px solid var(--fonte-web-line); border-radius: 1.5rem; background: var(--fonte-web-white); color: var(--fonte-web-ink); overflow-y: auto; box-sizing: border-box; }
    .fonte-apartment-offer__mobile-panel::backdrop { background: rgb(0 0 0 / 45%); }
    .fonte-apartment-offer__filter-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
    .fonte-apartment-offer__filter-heading h2 { margin: 0; font-family: var(--fonte-font-public); font-size: 1.25rem; }
    .fonte-apartment-offer__filter-close svg { width: 1.125rem; height: 1.125rem; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
    .fonte-apartment-offer__filter-close { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; flex: none; padding: 0; border: 1px solid var(--fonte-web-line); border-radius: 50%; background: var(--fonte-web-white); color: var(--fonte-web-ink); font-size: 1.75rem; cursor: pointer; }
    .fonte-apartment-offer__filter-fields { display: grid; gap: 1.25rem; }
    .fonte-apartment-offer__mobile-panel .fonte-apartment-offer__filter legend { position: static; width: auto; height: auto; margin-bottom: 0.625rem; overflow: visible; clip: auto; clip-path: none; font-size: 0.9375rem; }
    .fonte-apartment-offer__mobile-panel .fonte-apartment-offer__filter--types > div { display: none; }
    .fonte-apartment-offer__mobile-panel .fonte-apartment-offer__filter--types > .fonte-apartment-offer__mobile-rooms { display: block; width: 100%; margin: 0; padding: 0; }
    .fonte-apartment-offer__mobile-panel .fonte-apartment-offer__filter--types button[data-offer-type] { font-size: 0.8125rem; }
    .fonte-apartment-offer__floor-field { display: grid; gap: 0.625rem; font-size: 0.9375rem; }
    .fonte-apartment-offer__mobile-panel .fonte-contact__select-options { position: static; margin-top: 0.5rem; box-shadow: none; }
    .fonte-apartment-offer__filter-apply { width: 100%; --fonte-button-background: var(--fonte-web-action); --fonte-button-color: var(--fonte-web-white); }
}
@media (hover: none) and (pointer: coarse), (max-width: 75rem) {
    .fonte-apartment-offer__table-region tbody tr:not([data-property-kind="garage"]) { -webkit-tap-highlight-color: transparent; transition: transform 100ms ease, background-color 100ms ease; }
    .fonte-apartment-offer__table-region tbody tr:not([data-property-kind="garage"]):active { transform: scale(0.985); background: var(--fonte-web-ink-05); }
    .fonte-apartment-offer__table-region tbody tr .fonte-apartment-offer__table-detail:active { transform: scale(0.92); background: var(--fonte-web-action); border-color: var(--fonte-web-action); color: var(--fonte-web-white); }
    .fonte-apartment-offer :is(.fonte-offer-select__trigger, .fonte-apartment-offer__filter-toggle, .fonte-apartment-offer__filter-close, .fonte-apartment-offer__table-detail, .fonte-apartment-offer__compare, .fonte-apartment-offer__filter-apply) { -webkit-tap-highlight-color: transparent; transition: transform 100ms ease, opacity 100ms ease; }
    .fonte-apartment-offer :is(.fonte-offer-select__trigger, .fonte-apartment-offer__filter-toggle, .fonte-apartment-offer__filter-close, .fonte-apartment-offer__table-detail, .fonte-apartment-offer__compare, .fonte-apartment-offer__filter-apply):active { transform: scale(0.97); }
    .fonte-apartment-offer .fonte-contact__select-options button:not([aria-selected="true"]):hover { background: transparent; color: var(--fonte-web-ink); }
    .fonte-apartment-offer .fonte-contact__select-options button:active { transform: scale(0.98); }
    .fonte-apartment-offer__filter-apply:hover { background: var(--fonte-web-action); color: var(--fonte-web-white); }
    .fonte-apartment-offer__table-number:hover { color: var(--fonte-web-ink); }
}
@media (min-width: 75.001rem) {
    .fonte-apartment-offer__filter--availability > .fonte-apartment-offer__mobile-availability,
    .fonte-apartment-offer__filter--types > .fonte-apartment-offer__mobile-rooms { display: none; }
}

/* Mobile controls retain their resting colours; only selection changes colour. */
@media (max-width: 75rem) {
    .fonte-apartment-offer__compare,
    .fonte-apartment-offer__filter-toggle,
    .fonte-apartment-offer__filter-apply,
    .fonte-apartment-offer .fonte-offer-select__trigger { box-sizing: border-box; height: var(--fonte-mobile-button-height); min-height: var(--fonte-mobile-button-height); padding: 0 0.875rem; font-family: var(--fonte-font-public); font-size: 0.875rem; line-height: 1.2; }
    .fonte-apartment-offer__mobile-sort { gap: 1rem; }
    .fonte-apartment-offer__mobile-sort > .fonte-offer-select { flex: 1; }
    .fonte-apartment-offer .fonte-roll::before,
    .fonte-apartment-offer__filter-apply::before { display: none; }
    .fonte-apartment-offer__filter--types button[data-offer-type],
    .fonte-apartment-offer__filter--types button[data-offer-type]:hover,
    .fonte-apartment-offer__filter--types button[data-offer-type]:focus-visible { border-color: var(--fonte-web-line); background: var(--fonte-web-white); color: var(--fonte-web-ink) !important; }
    .fonte-apartment-offer__filter--types button[data-offer-type].is-active,
    .fonte-apartment-offer__filter--types button[data-offer-type].is-active:hover,
    .fonte-apartment-offer__filter--types button[data-offer-type].is-active:focus-visible { border-color: var(--fonte-web-ink); background: var(--fonte-web-ink); color: var(--fonte-web-white) !important; }
    .fonte-apartment-offer__pagination button:not(.is-active):hover,
    .fonte-apartment-offer__pagination button:not(.is-active):focus-visible { border-color: var(--fonte-web-line); background: var(--fonte-web-white); color: var(--fonte-web-ink); }
    .fonte-apartment-offer .fonte-contact__select-options button:not([aria-selected="true"]):hover { background: transparent; color: var(--fonte-web-ink); }
    .fonte-apartment-offer__filter-apply:hover { color: var(--fonte-web-white); }
    .fonte-apartment-offer__table-number:hover { color: var(--fonte-web-ink); }
}

.fonte-apartment-offer__mobile-panel .fonte-contact__select-options { box-sizing: border-box; animation: none; }

.fonte-apartment-offer__mobile-sort .fonte-contact__select-options { box-sizing: border-box; animation: none; }
.fonte-apartment-offer__table-region[aria-busy="true"] tbody { opacity: 0.45; pointer-events: none; }

@media (max-width: 75rem) {
    .fonte-apartment-offer__table-footer { display: flex; flex-wrap: wrap; justify-content: center; }
    .fonte-apartment-offer__table-footer > a { flex: 0 0 auto; max-width: 100%; white-space: nowrap; }
    .fonte-apartment-offer__pagination { flex-wrap: wrap; }
}
@media (min-width: 47.501rem) and (max-width: 75rem) {
    .fonte-apartment-offer__table-region td,
    .fonte-apartment-offer__mobile-meta,
    .fonte-apartment-offer__mobile-measures { font-size: var(--fonte-type-public-base); }
    .fonte-apartment-offer__table-number { font-size: var(--fonte-type-public-2xl); }
    .fonte-apartment-offer__status { height: 2.125rem; padding-inline: 1rem; gap: 0.5rem; font-size: var(--fonte-type-public-sm); }
    .fonte-apartment-offer__compare,
    .fonte-apartment-offer__filter-toggle,
    .fonte-apartment-offer__filter-apply,
    .fonte-apartment-offer .fonte-offer-select__trigger { height: 3.5rem; min-height: 3.5rem; font-size: var(--fonte-type-public-button); }
    .fonte-apartment-offer__mobile-sort { font-size: var(--fonte-type-public-button); }
    .fonte-apartment-offer__table-region td:nth-child(7) { font-size: var(--fonte-type-public-lg); }
}

@media (max-width: 75rem) {
    .fonte-apartment-offer__table-footer { flex-direction: column; align-items: center; gap: 0.875rem; }
    .fonte-apartment-offer__pagination { width: 100%; order: -1; }
    .fonte-apartment-offer__advice { align-self: center; }
}
