.catalog { background:#f4f0e8; padding:90px 0; }
.catalog-heading {display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}
.catalog h2 {font-family:var(--serif);font-weight:500;font-size:clamp(2.3rem,4vw,3.8rem);line-height:1.12;margin:0 0 16px}
.catalog-heading p:not(.kicker){max-width:590px;color:#59564f}
.catalog-filters {display:flex;gap:20px;align-items:end;margin:24px 0;flex-wrap:wrap}
.catalog-filters label {display:grid;gap:8px;flex:1;min-width:170px;font-size:.875rem}
.catalog-filters input,.catalog-filters select {font:inherit;font-size:1rem;width:100%;border:1px solid #bbb3a6;background:#fff;padding:12px;color:#181812;border-radius:0;min-height:48px}
.catalog-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.property-card {background:#fff;border:1px solid #d8d0c3;min-width:0;overflow:hidden}
.property-card img,.property-card .no-photo {width:100%;aspect-ratio:4/3;object-fit:cover;background:#e8e1d6;display:flex;align-items:center;justify-content:center;color:#5d574c}
.property-card-content {padding:23px}.property-card h3 {font-family:var(--serif);font-size:1.55rem;font-weight:500;line-height:1.25;margin:12px 0;overflow-wrap:anywhere}
.property-card p {margin:8px 0;font-size:.9375rem;color:#5d574c}.property-card .price {font-size:1.2rem;color:#181812;font-weight:600}
.property-tag {font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:#6a5127}
.card-actions {display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.plain-button {font:inherit;background:transparent;border:1px solid #8c806b;color:#242218;min-height:44px;padding:10px 14px;cursor:pointer}
.plain-button:hover,.plain-button[aria-pressed=true] {background:#27291f;color:#fff}
.empty-catalog {padding:45px 25px;border:1px dashed #aca393;text-align:center;grid-column:1/-1;background:#fbfaf7}
.empty-catalog h3 {font-family:var(--serif);font-size:1.7rem;margin:0 0 10px;font-weight:500}.empty-catalog p {color:#59564f}
.compare-bar {position:sticky;bottom:18px;z-index:35;background:#171715;color:#fff;padding:15px 20px;display:flex;gap:16px;align-items:center;justify-content:space-between;margin-top:28px;box-shadow:0 8px 25px #0003}
.compare-bar .plain-button {color:#f4f0e8;border-color:#aaa08c}.compare-bar .button {min-height:46px}
.cg-dialog {max-width:min(1100px,calc(100vw - 32px));width:100%;max-height:90dvh;border:0;background:#fbfaf7;color:#171715;padding:0;overflow:auto}
.cg-dialog::backdrop {background:#000b}.dialog-top {display:flex;align-items:start;justify-content:space-between;gap:25px;position:sticky;top:0;background:#fbfaf7;padding:23px 28px;border-bottom:1px solid #d4cabb;z-index:2}
.dialog-top h2 {font-family:var(--serif);font-size:1.9rem;line-height:1.2;margin:0;font-weight:500}.dialog-content {padding:28px}
.detail-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:25px 0}.detail-gallery img,.detail-gallery video {width:100%;max-height:360px;object-fit:contain;background:#ebe5d9}
.detail-data {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:20px 0}.detail-data div {border-top:1px solid #d0c4af;padding-top:12px}.detail-data dt {font-size:.875rem;color:#59564f}.detail-data dd {margin:8px 0;font-weight:600}
.detail-description {white-space:pre-wrap;overflow-wrap:anywhere}.comparison-scroll {overflow-x:auto}.comparison-table {width:100%;border-collapse:collapse;font-size:.9375rem;min-width:600px}
.comparison-table th,.comparison-table td {text-align:left;vertical-align:top;padding:18px 14px;border-bottom:1px solid #d3c9b8;min-width:160px;max-width:240px;overflow-wrap:anywhere}.comparison-table thead {background:#e9e0d0}.comparison-table tbody th {font-weight:500;color:#59564f;min-width:150px}
.comparison-note {font-size:.875rem;color:#59564f}.similar-list {display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.detail-contact {display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.detail-contact a {text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center}
.admin-page {background:#f4f0e8}.admin-header {background:#10110e;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 5vw}.admin-shell {width:min(1300px,90%);margin:60px auto}
.admin-heading {display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:25px}.admin-heading h1 {font-family:var(--serif);font-size:clamp(2.8rem,5vw,4.8rem);line-height:1.12;margin:0}.admin-heading h1 em {color:#785d2c}.admin-heading p {max-width:670px;color:#59564f}
.admin-layout {display:grid;grid-template-columns:300px 1fr;gap:30px;margin-top:35px}.property-sidebar {min-width:0}.property-sidebar h2,.property-editor h2 {font-family:var(--serif);font-size:1.8rem;font-weight:500;margin:0 0 20px}
.admin-row {width:100%;text-align:left;background:#fff;border:1px solid #cfc6b6;border-left:4px solid transparent;padding:18px;margin-top:12px;cursor:pointer;color:#15150f;font:inherit;overflow-wrap:anywhere}.admin-row.active {border-left-color:#876a35;background:#eae1d1}.admin-row small {display:block;color:#5f584d;margin-top:6px;font-size:.8125rem}
.property-editor {background:#fff;padding:32px}.form-grid {display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.property-editor textarea {width:100%;font:inherit;font-size:1rem;background:#fbfaf7;border:1px solid #bfb5a2;padding:12px;resize:vertical}.property-editor fieldset {border:0;margin:0;padding:0;min-width:0}
.field-note,.file-area p {color:#5d574c;font-size:.875rem;line-height:1.6}.file-area {background:#f4f0e8;padding:20px;margin-bottom:22px;overflow-wrap:anywhere}.file-area label {font-size:.9375rem;font-weight:600}.file-area input {display:block;width:100%;margin:18px 0;font-size:.875rem}.file-area a {display:block;min-height:44px;text-decoration:underline;padding:8px 0}
.sr-only {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
#save-status.error,#catalog-status.error {color:#9a231b}#save-status {white-space:pre-line}#session-note {padding:14px 18px;background:#e9e0ce;border-left:3px solid #957342}
button:disabled,fieldset:disabled {opacity:.65;cursor:not-allowed}
@media(max-width:980px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr}.property-sidebar{max-height:300px;overflow:auto}.admin-heading{align-items:start}.catalog-heading{align-items:start;flex-direction:column}}
@media(max-width:680px){.catalog{padding:60px 0}.catalog-grid{grid-template-columns:1fr}.catalog-filters{gap:12px}.compare-bar{bottom:76px;flex-wrap:wrap;padding:14px}.compare-bar>span{width:100%}.dialog-top,.dialog-content{padding:20px}.dialog-top h2{font-size:1.5rem}.detail-data{grid-template-columns:1fr 1fr}.detail-gallery{grid-template-columns:1fr}.admin-header{padding:18px;flex-wrap:wrap}.admin-shell{width:calc(100% - 32px);margin-top:35px}.admin-heading{flex-direction:column;gap:12px}.property-editor{padding:22px 16px}.form-grid{grid-template-columns:1fr}.admin-heading h1{font-size:2.7rem}}
