.sfn-container{max-width:var(--sfn-container-max,1280px);margin:0 auto;padding:0 20px}
.sfn-section{margin:48px 0}.sfn-subtitle{font-size:1.125rem;opacity:.85}.sfn-hero{display:grid;gap:28px;align-items:center}
.sfn-hero__media img,.sfn-card-investment__media img,.sfn-side-card img,.sfn-gallery img,.sfn-two-col__media img,.sfn-plan img{display:block;width:100%;height:auto;border-radius:20px}
.sfn-cards{display:grid;grid-template-columns:repeat(var(--sfn-cols,3),minmax(0,1fr));gap:var(--sfn-archive-gap,24px)}
.sfn-card-investment{background:#fff;border:1px solid #e4e7ec;border-radius:24px;overflow:hidden;box-shadow:0 10px 30px rgba(15,23,42,.05);transition:background-color .2s ease,border-color .2s ease,transform .2s ease}
.sfn-archive .sfn-card-investment,.post-type-archive-sfn_investment .sfn-card-investment{box-shadow:none;transform:none}
.sfn-card-investment__body{padding:20px}.sfn-card-investment__body h2,.sfn-card-investment__body h3{margin:0}.sfn-card-investment__body a{text-decoration:none}
.sfn-two-col{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.sfn-two-col.reverse .sfn-two-col__media{order:2}.sfn-side-card{padding:24px;border:1px solid #e4e7ec;border-radius:24px;position:sticky;top:20px}.sfn-specs{list-style:none;padding:0;margin:16px 0}.sfn-specs li{padding:10px 0;border-bottom:1px solid #eef2f7}
.sfn-gallery{display:grid;grid-template-columns:repeat(var(--sfn-cols-desktop,3),minmax(0,1fr));gap:var(--sfn-gap,24px)}.sfn-gallery--center-single figure:only-child{grid-column:1/-1;max-width:540px;justify-self:center}
.sfn-table-wrap{overflow:visible}.sfn-table{width:100%;border-collapse:collapse}.sfn-table th,.sfn-table td{padding:14px 12px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:middle}.sfn-table thead th{font-weight:700}
.sfn-status{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-weight:600;font-size:.9rem;border:1px solid transparent}.sfn-status--available{background:#e9f9ef;color:#127a35}.sfn-status--reserved{background:#fff1df;color:#b06400}.sfn-status--sold{background:#fde8e8;color:#b42318}
.sfn-btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:12px;background:#111827;color:#fff;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:all .2s ease}.sfn-btn--ghost{background:#fff;color:#111827;border-color:#d0d5dd}
.sfn-modal[hidden]{display:none}.sfn-modal{position:fixed;inset:0;z-index:9999}.sfn-modal__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.6)}.sfn-modal__dialog{position:relative;max-width:760px;margin:5vh auto;background:#fff;border-radius:24px;padding:24px;z-index:1;max-height:90vh;overflow:auto}.sfn-modal__close{position:absolute;top:14px;right:14px;font-size:28px;background:none;border:none;cursor:pointer}
.sfn-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.sfn-form-field{margin:0}.sfn-form-field--full{grid-column:1/-1}.sfn-form label{display:block;font-weight:600;color:#101828}.sfn-form input,.sfn-form textarea,.sfn-form select{width:100%;margin-top:8px;padding:12px 14px;border:1px solid #d0d5dd;border-radius:12px;box-sizing:border-box}.sfn-form textarea{min-height:140px;resize:vertical}.sfn-form button[type=submit]{display:inline-flex;align-items:center;justify-content:center}.sfn-form-field--consent label{display:flex;align-items:flex-start;gap:10px;font-weight:400}.sfn-form-field--consent input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0}.sfn-form__message{margin-top:12px}
.sfn-actions{display:flex;gap:12px;flex-wrap:wrap}.sfn-plan{position:relative;width:100%}.sfn-plan img{width:100%}.sfn-plan-overlay{position:absolute;inset:0;width:100%;height:100%}.sfn-plan-shape{fill:rgba(18,122,53,.22);stroke:#127a35;stroke-width:.5}.sfn-plan-shape.sfn-status--reserved{fill:rgba(176,100,0,.22);stroke:#b06400}.sfn-plan-shape.sfn-status--sold{fill:rgba(180,35,24,.22);stroke:#b42318}.sfn-plan-shape.is-current{stroke:#111827;stroke-width:.8}
.sfn-price-with-history{position:relative;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.sfn-history-btn{border:none;background:transparent;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;color:#111827}.sfn-history-btn__icon{font-size:18px;width:18px;height:18px;line-height:18px}.sfn-history-btn:hover,.sfn-history-btn:focus-visible{background:#f3f4f6;outline:none}.sfn-history-popup{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);width:min(820px,calc(100vw - 40px));background:#fff;border:1px solid #d0d5dd;border-radius:18px;box-shadow:0 18px 50px rgba(15,23,42,.18);z-index:40;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,visibility .18s ease}.sfn-history-popup::before{content:"";position:absolute;left:-8px;top:50%;transform:translateY(-50%) rotate(45deg);width:16px;height:16px;background:inherit;border-left:1px solid #d0d5dd;border-bottom:1px solid #d0d5dd}.sfn-price-with-history:hover .sfn-history-popup,.sfn-price-with-history:focus-within .sfn-history-popup{opacity:1;visibility:visible;pointer-events:auto}.sfn-history-popup__inner{padding:14px 16px}.sfn-history-popup__head{margin-bottom:10px;padding-right:16px}.sfn-history-popup__body{display:grid;gap:0}.sfn-history-line{display:grid;grid-template-columns:1.1fr 1.1fr 1.1fr 1fr 1fr;gap:12px;padding:8px 0;border-bottom:1px solid #eef2f7;align-items:start}.sfn-history-line span{min-width:0;overflow-wrap:anywhere}.sfn-history-line--heading{font-size:.875rem;font-weight:700;color:#101828;padding-top:0}.sfn-history-line--heading span{white-space:normal}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sfn-breadcrumbs{margin:20px 0 0}.sfn-page-head{margin:30px 0}.sfn-filters{padding:18px;border:1px solid #e5e7eb;border-radius:18px;margin-bottom:20px;background:#fafafa}.sfn-grid-2,.sfn-grid-4{display:grid;gap:16px}.sfn-grid-2{grid-template-columns:repeat(2,1fr)}.sfn-grid-4{grid-template-columns:repeat(4,1fr)}.sfn-filter-actions{margin:0}.sfn-no-results{margin-top:16px;font-weight:600}
.sfn-single-investment .sfn-two-col__content,.sfn-single-unit .sfn-two-col__content{min-width:0}
@media (min-width:768px){.sfn-hero{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}}
@media (max-width:1024px){.sfn-grid-4{grid-template-columns:repeat(2,1fr)}.sfn-history-line{grid-template-columns:repeat(2,minmax(0,1fr))}.sfn-history-line--heading{display:none}}
@media (max-width:767px){
.sfn-table thead{display:none}.sfn-table,.sfn-table tbody,.sfn-table tr,.sfn-table td{display:block;width:100%}.sfn-table tr{padding:16px 0;border-bottom:1px solid #e5e7eb}.sfn-table td{border-bottom:none;padding:6px 0}.sfn-table td::before{content:attr(data-label) ':';display:block;font-weight:700;margin-bottom:4px}
.sfn-container{max-width:var(--sfn-container-max-mobile,100%);padding:0 16px}.sfn-modal__dialog{margin:2vh 12px;padding:20px}.sfn-grid-2,.sfn-grid-4,.sfn-gallery,.sfn-cards,.sfn-two-col,.sfn-hero,.sfn-form-grid{grid-template-columns:1fr}
.sfn-cards{gap:var(--sfn-archive-gap-mobile,16px)}
.sfn-two-col.reverse .sfn-two-col__media,.sfn-two-col__media{order:1}.sfn-two-col__content{order:2}
.sfn-history-popup{position:fixed;left:16px;right:16px;top:50%;width:auto;transform:translateY(-50%)}.sfn-history-popup::before{display:none}.sfn-history-line{grid-template-columns:1fr}
}

/* UX improvements for modal form and history popup */
.sfn-modal__dialog .sfn-form{display:flex;flex-direction:column;gap:18px}
.sfn-modal__dialog .sfn-form__context{margin:0;color:#667085}
.sfn-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:18px}
.sfn-form-field label{display:flex;flex-direction:column;gap:8px}
.sfn-form input,.sfn-form textarea,.sfn-form select{margin-top:0;min-height:48px}
.sfn-form textarea{min-height:150px}
.sfn-form-field--consent label{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;column-gap:10px;row-gap:0}
.sfn-form-field--consent input[type=checkbox]{margin:3px 0 0}
.sfn-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sfn-actions .sfn-btn{width:100%;min-height:48px}
.sfn-history-popup__head strong{display:block}
.sfn-history-line--heading{padding-bottom:10px;border-bottom:1px solid #dbe3ee}
.sfn-history-line:not(.sfn-history-line--heading):last-child{border-bottom:none}
@media (max-width:767px){
  .sfn-actions{grid-template-columns:1fr}
}

/* 1.4.2 improvements */
.sfn-field-error{display:block;margin-top:6px;color:#b42318;font-size:13px;line-height:1.35;min-height:18px}
.sfn-form input.is-invalid,.sfn-form textarea.is-invalid,.sfn-form select.is-invalid{border-color:#d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.08)}
.sfn-form__message.is-success{color:#027a48}
.sfn-form__message.is-error{color:#b42318}
.sfn-history-popup[hidden]{display:none!important}
.sfn-price-with-history.is-history-open .sfn-history-popup{opacity:1;visibility:visible;pointer-events:auto}
.sfn-history-popup--static{position:relative;left:auto;right:auto;top:auto;transform:none;width:100%;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;margin-top:16px}
.sfn-history-popup--static::before{display:none}
.sfn-unit-history-section .sfn-history-popup{z-index:1}
