body.post-type-archive-fbb_property .site-main,
body.single-fbb_property .site-main {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.fbb-page {
    --fbb-ink: #171717;
    --fbb-muted: #666663;
    --fbb-line: #e3e1dc;
    --fbb-paper: #faf9f6;
    --fbb-accent: #e8d5bf;
    background: #fff;
    color: var(--fbb-ink);
    padding-bottom: 80px;
    font-family: inherit;
}

.fbb-page, .fbb-page *, .fbb-page *::before, .fbb-page *::after { box-sizing: border-box; }
.fbb-page [hidden] { display: none !important; }
.fbb-page img { display: block; max-width: 100%; }
.fbb-page h1, .fbb-page h2, .fbb-page h3 { font-family: inherit; color: inherit; }
.fbb-page a { color: inherit; }
.fbb-shell { width: min(1200px, calc(100% - 64px)); margin: 0 auto; }
.fbb-eyebrow { margin: 0 0 18px; font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.fbb-page a:focus-visible, .fbb-page button:focus-visible, .fbb-page select:focus-visible { outline: 3px solid #6c836e; outline-offset: 4px; }
.fbb-hero { padding: 75px 0 48px; color: #fff; background: radial-gradient(ellipse at 70% 0, #34352f, transparent 65%), #171817; background-size: cover; background-position: center; }
.fbb-hero .fbb-eyebrow { color: var(--fbb-accent); }
.fbb-hero h1 { max-width: 830px; margin: 0 0 22px; font-size: clamp(36px, 4.8vw, 65px); line-height: 1.05; font-weight: 750; letter-spacing: -.045em; text-wrap: balance; }
.fbb-hero__intro { max-width: 650px; margin: 0; color: #e1e1dc; font-size: 16px; line-height: 1.75; }
.fbb-filters { display: flex; align-items: flex-end; gap: 20px; margin-top: 40px; }
.fbb-filter { flex: 0 1 270px; }
.fbb-filter label { display: block; margin-bottom: 9px; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.fbb-page .fbb-filter select { width: 100%; min-height: 48px; border: 1px solid #d5d4ce; border-radius: 4px; padding: 10px 38px 10px 14px; background-color: #fff; color: #171717; font: inherit; font-size: 14px; }
.fbb-page .fbb-button { display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 46px; padding: 12px 18px; border: 1px solid #171717; border-radius: 4px; background: #171717; color: #fff; font: inherit; font-size: 10px; font-weight: 700; line-height: 1.45; letter-spacing: .08em; text-transform: uppercase; text-align: center; text-decoration: none; cursor: pointer; transition: background .18s, transform .18s; }
.fbb-page .fbb-button:hover { background: #373831; color: #fff; transform: translateY(-1px); }
.fbb-page .fbb-button--outline { background: transparent; color: #171717; border-color: #b6b5b0; }
.fbb-page .fbb-button--outline:hover { background: var(--fbb-paper); color: #171717; }
.fbb-page .fbb-button--light { min-height: 48px; background: var(--fbb-accent); color: #171717; border-color: var(--fbb-accent); }
.fbb-page .fbb-button--light:hover { background: #fff; border-color: #fff; }
.fbb-results { padding-top: 35px; }
.fbb-results__header { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-bottom: 22px; }
.fbb-results__header h2 { margin: 0; font-size: 11px; letter-spacing: .12em; font-weight: 650; text-transform: uppercase; color: var(--fbb-muted); }
.fbb-text-link { font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }
.fbb-property-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.fbb-property-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--fbb-line); border-radius: 9px; overflow: hidden; background: #fff; box-shadow: 0 4px 16px #17171708; }
.fbb-property-card__image { display: block; position: relative; overflow: hidden; aspect-ratio: 1.45; background: #e5e9e7; }
.fbb-property-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.fbb-property-card__image:hover img { transform: scale(1.025); }
.fbb-badge { display: inline-block; padding: 7px 10px; background: var(--fbb-accent); color: #25231e; font-size: 10px; font-weight: 750; line-height: 1.3; letter-spacing: .05em; text-transform: uppercase; border-radius: 3px; }
.fbb-property-card__image .fbb-badge { position: absolute; top: 13px; left: 13px; }
.fbb-image-caption { position: absolute; right: 0; bottom: 0; padding: 5px 9px; background: #172321c9; color: #fff; font-size: 9px; letter-spacing: .04em; }
.fbb-property-card__body { display: flex; flex-direction: column; flex: 1; padding: 21px 20px 19px; }
.fbb-preview-label { margin: 0 0 10px; color: #74654f; font-size: 9px; font-weight: 650; text-transform: uppercase; letter-spacing: .06em; }
.fbb-property-card h3 { margin: 0 0 9px; font-size: 22px; font-weight: 700; line-height: 1.2; letter-spacing: -.035em; }
.fbb-property-card h3 a { text-decoration: none; }
.fbb-location { margin: 0; color: var(--fbb-muted); font-size: 12px; line-height: 1.6; }
.fbb-property-card__summary { margin: 16px 0; color: var(--fbb-muted); font-size: 12px; line-height: 1.75; }
.fbb-property-card__meta { margin-top: auto; padding: 14px 0 17px; border-top: 1px solid var(--fbb-line); font-size: 11px; line-height: 1.6; }
.fbb-property-card__meta p { margin: 0 0 6px; }
.fbb-property-card__meta a { text-decoration: none; font-weight: 650; }
.fbb-meta-icon { margin-right: 7px; }
.fbb-card-actions { display: grid; gap: 8px; }
.fbb-card-actions .fbb-button { width: 100%; }
.fbb-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin-top: 40px; }
.fbb-pagination .page-numbers { min-width: 38px; padding: 10px; text-align: center; border: 1px solid var(--fbb-line); text-decoration: none; font-size: 13px; }
.fbb-pagination .current { background: var(--fbb-ink); color: #fff; }
.fbb-notice, .fbb-preview-notice { padding: 18px 20px; background: #f5f0e8; border-left: 3px solid var(--fbb-accent); font-size: 12px; line-height: 1.75; }
.fbb-empty { padding: 65px 30px; text-align: center; background: var(--fbb-paper); border: 1px solid var(--fbb-line); border-radius: 8px; }
.fbb-empty h3 { margin: 0 0 20px; font-size: clamp(27px, 3vw, 38px); letter-spacing: -.04em; }
.fbb-empty > p:not(.fbb-eyebrow) { max-width: 520px; margin: 0 auto 25px; line-height: 1.8; color: var(--fbb-muted); }
.fbb-breadcrumb { display: flex; align-items: center; gap: 22px; padding: 28px 0; color: var(--fbb-muted); font-size: 11px; }
.fbb-breadcrumb a { white-space: nowrap; text-decoration: none; }
.fbb-breadcrumb span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.fbb-gallery { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 12px; align-items: start; }
.fbb-gallery--single { grid-template-columns: 1fr; }
.fbb-gallery__main { display: block; overflow: hidden; background: #e5e9e7; border-radius: 7px; aspect-ratio: 1.6; }
.fbb-gallery__main img { width: 100%; height: 100%; object-fit: cover; }
.fbb-gallery__thumbs { display: grid; grid-template-columns: 1fr; gap: 10px; max-height: 600px; overflow-y: auto; }
.fbb-page .fbb-gallery__thumb { display: block; width: 100%; padding: 0; border: 2px solid transparent; border-radius: 6px; overflow: hidden; cursor: pointer; background: #e5e9e7; aspect-ratio: 1.6; }
.fbb-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; }
.fbb-page .fbb-gallery__thumb[aria-pressed="true"] { border-color: #151515; }
.fbb-gallery-note { margin: 12px 0 0; color: var(--fbb-muted); font-size: 10px; line-height: 1.6; }
.fbb-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 350px; gap: 65px; align-items: start; margin-top: 40px; }
.fbb-property-detail { min-width: 0; }
.fbb-detail-badges { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-bottom: 18px; }
.fbb-detail-badges .fbb-eyebrow { margin: 0; font-size: 10px; color: var(--fbb-muted); }
.fbb-property-detail h1 { margin: 0 0 15px; font-size: clamp(32px, 3.5vw, 48px); line-height: 1.1; letter-spacing: -.045em; font-weight: 750; text-wrap: balance; }
.fbb-street { margin: 0 0 5px; font-size: 16px; }
.fbb-price { margin: 20px 0 25px; font-size: 14px; font-weight: 650; }
.fbb-price span { font-size: 12px; color: var(--fbb-muted); font-weight: 400; }
.fbb-preview-notice { margin-bottom: 30px; }
.fbb-preview-notice p { margin: 7px 0 0; }
.fbb-detail-section { border-top: 1px solid var(--fbb-line); padding-top: 25px; margin: 30px 0; }
.fbb-detail-section h2 { margin: 0 0 22px; font-size: 12px; font-weight: 750; text-transform: uppercase; letter-spacing: .16em; }
.fbb-features { padding: 0; margin: 0; list-style: none; }
.fbb-features li { position: relative; margin-bottom: 13px; padding-left: 25px; font-size: 13px; line-height: 1.7; }
.fbb-features li::before { content: "\2713"; position: absolute; left: 0; font-weight: 700; }
.fbb-prose { margin-bottom: 35px; color: var(--fbb-muted); font-size: 14px; line-height: 1.9; overflow-wrap: anywhere; }
.fbb-prose > :first-child { margin-top: 0; }
.fbb-prose iframe { max-width: 100%; }
.fbb-map__address { margin: 0 0 15px; color: var(--fbb-muted); font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; }
.fbb-map iframe { display: block; width: 100%; height: 320px; border: 0; border-radius: 6px; background: var(--fbb-paper); }
.fbb-map .fbb-text-link { display: inline-block; margin-top: 15px; }
.fbb-facts { display: flex; gap: 25px; flex-wrap: wrap; padding: 24px 0; margin: 25px 0; border-block: 1px solid var(--fbb-line); }
.fbb-facts dt { color: var(--fbb-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
.fbb-facts dd { margin: 7px 0 0; font-size: 21px; font-weight: 650; }
.fbb-inquiry { padding: 29px; border: 1px solid var(--fbb-line); border-radius: 8px; background: var(--fbb-paper); }
.fbb-inquiry > .fbb-eyebrow { font-size: 9px; margin-bottom: 15px; color: #74654f; }
.fbb-inquiry h2 { font-size: 27px; letter-spacing: -.04em; line-height: 1.1; margin: 0 0 16px; }
.fbb-inquiry > p:not(.fbb-eyebrow) { color: var(--fbb-muted); font-size: 12px; line-height: 1.75; margin: 0 0 22px; }
.fbb-inquiry .fbb-button { width: 100%; }
.fbb-inquiry .fbb-inquiry-phone { margin: 20px 0 0 !important; font-size: 10px !important; }
.fbb-inquiry-phone a { white-space: nowrap; }
.fbb-inline-form[data-fce-inline-ready="1"] + .fbb-inquiry-fallback { display: none; }
.fbb-inline-form > *, .fbb-inline-form .elementor-widget-form, .fbb-inline-form .elementor-widget-container { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.fbb-inline-form > * { --container-widget-width: 100%; --width: 100%; }
.fbb-inline-form .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; gap: 14px 0; margin: 0 !important; }
.fbb-inline-form .elementor-field-group { width: 100% !important; padding: 0 !important; margin: 0 !important; }
.fbb-inline-form .elementor-field-label { color: var(--fbb-ink) !important; font: inherit; font-size: 11px !important; line-height: 1.6; }
.fbb-inline-form .elementor-field { width: 100%; min-height: 43px; padding: 11px 12px; border: 1px solid #d4d2cc !important; border-radius: 3px !important; background: #fff !important; color: #171717 !important; font: inherit; font-size: 12px !important; }
.fbb-inline-form textarea.elementor-field { min-height: 100px; resize: vertical; }
.fbb-inline-form .elementor-button { width: 100%; min-height: 46px; border: 1px solid #171717 !important; border-radius: 4px !important; background: #171717 !important; color: #fff !important; padding: 14px; font-size: 11px !important; cursor: pointer; }
.fbb-inline-form .elementor-message { font-size: 12px; line-height: 1.6; }
.fbb-plan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.fbb-plan { border: 1px solid var(--fbb-line); border-radius: 5px; overflow: hidden; text-decoration: none; }
.fbb-plan img { width: 100%; aspect-ratio: 1.5; object-fit: cover; }
.fbb-plan > span { display: flex; justify-content: space-between; padding: 16px; font-size: 14px; font-weight: 650; }

@media (max-width: 1024px) {
    .fbb-shell { width: calc(100% - 40px); }
    .fbb-property-grid { gap: 16px; }
    .fbb-property-card__body { padding: 18px 16px; }
    .fbb-property-card h3 { font-size: 20px; }
    .fbb-detail-grid { grid-template-columns: minmax(0, 1fr) 310px; gap: 30px; }
    .fbb-gallery { grid-template-columns: minmax(0, 1fr) 145px; }
}

@media (max-width: 760px) {
    .fbb-shell { width: calc(100% - 36px); }
    .fbb-hero { padding: 48px 0 30px; }
    .fbb-hero__intro { font-size: 14px; }
    .fbb-filters { flex-wrap: wrap; gap: 16px 12px; margin-top: 28px; }
    .fbb-filter { flex: 1 1 calc(50% - 12px); min-width: 0; }
    .fbb-filters .fbb-button { width: 100%; }
    .fbb-property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fbb-detail-grid { grid-template-columns: 1fr; gap: 35px; margin-top: 28px; }
    .fbb-gallery { grid-template-columns: 1fr; }
    .fbb-gallery__thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); max-height: none; gap: 8px; }
    .fbb-breadcrumb { padding: 22px 0; }
    .fbb-inquiry { padding: 25px; }
}

@media (max-width: 480px) {
    .fbb-property-grid { grid-template-columns: 1fr; gap: 24px; }
    .fbb-property-card h3 { font-size: 25px; }
    .fbb-property-card__body { padding: 23px; }
    .fbb-property-card__image { aspect-ratio: 1.5; }
    .fbb-hero h1 { font-size: 39px; }
    .fbb-hero .fbb-eyebrow { font-size: 10px; }
    .fbb-gallery__main { aspect-ratio: 1.35; }
    .fbb-plan-grid { grid-template-columns: 1fr; }
    .fbb-breadcrumb span { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .fbb-page *, .fbb-page *::before, .fbb-page *::after { transition: none !important; }
}

.fbb-page.fbb-archive { --fbb-sea-glass: #b6d2d7; background: #f3f7f6; }
.fbb-archive .fbb-hero { padding: 48px 0 34px; border-bottom: 4px solid var(--fbb-sea-glass); }
.fbb-archive .fbb-hero .fbb-eyebrow { margin-bottom: 14px; color: var(--fbb-sea-glass); }
.fbb-archive .fbb-hero h1 { margin-bottom: 18px; }
.fbb-archive .fbb-filters { margin-top: 28px; }
.fbb-page.fbb-archive .fbb-filter select { border-color: var(--fbb-sea-glass); }
.fbb-page.fbb-archive .fbb-button--light:hover { color: var(--fbb-ink); }
.fbb-archive .fbb-results { padding-top: 28px; }

@media (max-width: 760px) {
    .fbb-archive .fbb-hero { padding: 32px 0 26px; }
    .fbb-archive .fbb-filters { margin-top: 24px; }
}
