/* Listing collection and private editor: existing Bloomhof & Monroe palette and type. */
.listing-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:40px}.listing-filters{display:flex;gap:10px;flex-wrap:wrap}.listing-filters button,.quiet-button{background:transparent;color:var(--cream);border:1px solid #b6ab95;padding:10px 16px;font-size:.78rem;cursor:pointer}.listing-filters button.selected{background:#c1a26b;color:#151613;border-color:#c1a26b}.listing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 36px}.property-card{min-width:0}.property-photo{display:block;position:relative;overflow:hidden;background:#e7e1d7}.property-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .4s}.property-photo:hover img{transform:scale(1.025)}.property-status{position:absolute;left:18px;top:18px;background:#171815ed;color:#f9f8f4;padding:7px 14px;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase}.property-card-copy{padding:23px 0}.property-price{font-size:1rem;font-weight:600;margin:0 0 11px}.property-price small,.detail-price small{font-size:.7em;font-weight:400}.property-card h2{font-size:clamp(1.75rem,2.4vw,2.5rem)}.property-card h2 a{text-decoration:none}.property-location{font-size:.85rem;margin-top:10px;color:#c9c5ba}.property-facts{display:flex;flex-wrap:wrap;gap:14px;font-size:.79rem;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.open-house{font-size:.78rem;color:#d2b77f}.listing-note{font-size:.73rem;color:#bdb8ad;line-height:1.7;margin-top:50px}.listing-empty{padding:45px 0 65px;max-width:800px}.listing-empty h2{max-width:750px}.listing-empty p{max-width:620px}.property-detail-top{padding-bottom:35px}.property-detail-top>.text-link{margin:0 0 40px}.property-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.property-heading h1{font-size:clamp(2.5rem,4.4vw,4.6rem)}.property-heading .lead{margin-top:17px}.detail-price{font-family:var(--serif);font-size:2.15rem;white-space:nowrap}.property-gallery{padding-top:0;padding-bottom:40px}.gallery-main{display:block;border:0;background:#e5e0d6;width:100%;padding:0;position:relative;cursor:zoom-in}.gallery-main img{width:100%;max-height:730px;aspect-ratio:16/10;object-fit:contain;background:#171815}.gallery-main>span{position:absolute;bottom:20px;right:20px;background:#171815e6;color:#fff;padding:10px 16px;font-size:.75rem}.gallery-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:12px 0}.gallery-thumbnails button{background:none;border:2px solid transparent;padding:2px;flex:0 0 112px;cursor:pointer}.gallery-thumbnails button[aria-pressed=true]{border-color:var(--gold)}.gallery-thumbnails img{height:77px;width:100%;object-fit:cover}.gallery-dialog{background:#171815;color:white;border:1px solid #ae8e55;padding:18px;width:min(1200px,96vw);max-height:96vh}.gallery-dialog::backdrop{background:#000c}.gallery-dialog>img{max-height:74vh;width:100%;object-fit:contain}.gallery-dialog>div{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:16px}.gallery-dialog button{padding:10px 15px;color:white;background:#252620;border:1px solid #9c855b;cursor:pointer}.gallery-close{display:block;margin:0 0 12px auto}.property-body{padding-top:30px;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:75px;align-items:start}.detail-facts{display:flex;gap:35px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 0;margin-bottom:40px}.detail-facts strong{font-family:var(--serif);font-size:2rem;font-weight:400;display:block}.detail-facts span{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}.property-description{white-space:pre-line}.property-highlights{margin:45px 0}.property-highlights h2{font-size:2rem}.property-highlights ul{padding-left:20px}.property-highlights li{padding:5px 0}.property-inquiry{background:#ece8de;padding:35px 30px;position:sticky;top:30px}.property-inquiry h2{font-size:2.4rem}.property-inquiry .button{margin-top:25px;width:100%}.property-inquiry>p{font-size:.85rem}.detail-open-house{border-bottom:1px solid #c0b59f;padding-bottom:25px;margin-bottom:30px}.detail-open-house .eyebrow{margin-bottom:0}.preview-banner{background:#e2d4b7;padding:15px 25px;text-align:center;font-size:.8rem}.preview-banner a{margin-left:20px}.photo-placeholder{background:#e6e0d5;text-align:center;padding:100px 25px}
.listing-manager{max-width:1550px}.manager-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:55px}.manager-heading h1{font-size:clamp(2.6rem,4vw,4.3rem)}.manager-account{display:flex;gap:20px;font-size:.77rem;padding-top:14px}.manager-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:40px;align-items:start}.manager-sidebar{position:sticky;top:25px}.manager-sidebar>.button{width:100%}.manager-records{margin-top:20px;max-height:70vh;overflow:auto}.record{background:transparent;border:0;border-bottom:1px solid var(--line);display:block;width:100%;padding:20px 15px;text-align:left;color:var(--cream);cursor:pointer}.record.selected{background:#ece8de;color:var(--charcoal);border-left:3px solid var(--gold)}.record strong{font-family:var(--serif);font-size:1.25rem;line-height:1.4;font-weight:400;display:block;margin:5px 0}.record>span:last-child{font-size:.7rem}.record-state{font-size:.63rem;text-transform:uppercase;letter-spacing:.1em;color:#d2b77f}.record-state.live{color:#a9c6a7}.record.selected .record-state{color:#706345}.record.selected .record-state.live{color:#3b6048}.manager-editor{min-width:0}.editor-heading{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:20px}.editor-heading h2{font-size:2.1rem;overflow-wrap:anywhere}.editor-heading .eyebrow{margin-bottom:10px}.editor-heading .fine{margin-top:10px}.editor-heading .quiet-button{flex-shrink:0;font-size:.7rem}.editor-fields{border:0;padding:0;margin:0;min-width:0}.editor-section{padding:30px 0;border-top:1px solid var(--line)}.editor-section h3{font-family:var(--serif);font-size:1.6rem;margin-bottom:24px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.editor-section>label{margin-top:22px}.editor-section input,.editor-section select,.editor-section textarea{font-size:.9rem}.editor-section textarea{resize:vertical;min-height:110px}.editor-actions{position:sticky;bottom:0;background:#f9f8f4f5;border-top:1px solid var(--line);padding:18px 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap;z-index:4}.button.secondary{background:transparent;color:var(--cream);border-color:#8c7b59}.button.secondary:hover{background:#34362e;color:var(--cream)}.button:disabled,.quiet-button:disabled,.disabled,fieldset:disabled{opacity:.6}.button:disabled,.quiet-button:disabled{cursor:wait}.photo-section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.photo-section-heading h3{margin-bottom:6px}.photo-section-heading .fine{margin:0 0 25px}.photo-section-heading .quiet-button{white-space:nowrap}.editor-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.editor-photos img{width:100%;height:150px;object-fit:cover}.editor-photos figcaption{font-size:.67rem;padding:10px;background:#ece8de}.editor-photos figcaption>div{display:flex;gap:5px;margin-top:8px}.editor-photos figcaption button{font-size:.67rem;padding:5px 7px;background:transparent;color:var(--charcoal);border:1px solid #bcb19c;cursor:pointer}.editor-photos figcaption button:disabled{opacity:.35;cursor:default}.photo-upload-empty{border:1px dashed #aa9268;background:#f1ece1;width:100%;padding:50px 20px;color:#665538;cursor:pointer;text-align:center;font-family:var(--serif);font-size:1.4rem}.photo-upload-empty span{display:block;font-family:var(--sans);font-size:.8rem;text-decoration:underline;margin-top:10px}.editor-message,.editor-error{padding:15px 18px;font-size:.82rem;line-height:1.7;margin:15px 0;border-left:3px solid}.editor-message{background:#e7eee4;border-color:#58724d}.editor-error{background:#f4e8e1;border-color:#9c4d31}.manager-welcome{padding:45px 25px;background:#ece8de}.manager-welcome .button{margin-top:25px}.manager-signin{min-height:60vh}.manager-signin>.button{margin:30px 0 12px}.manager-signin .fine{margin-top:0}
@media(max-width:1000px){.manager-layout{grid-template-columns:210px minmax(0,1fr);gap:25px}.editor-photos{grid-template-columns:repeat(2,minmax(0,1fr))}.property-body{gap:35px;grid-template-columns:minmax(0,1fr) 290px}.manager-account{flex-direction:column;gap:8px}.editor-heading{flex-direction:column}.property-heading{flex-direction:column;align-items:flex-start;gap:10px}.detail-price{margin-top:10px}}
@media(max-width:700px){.listing-grid{grid-template-columns:1fr}.listing-toolbar{align-items:flex-start;flex-direction:column}.listing-filters button{padding:8px 10px;font-size:.7rem}.property-body{grid-template-columns:1fr;gap:40px}.property-inquiry{position:static}.detail-facts{gap:25px}.property-gallery{padding-bottom:20px}.gallery-main img{aspect-ratio:4/3}.property-detail-top{padding-bottom:25px}.gallery-main>span{bottom:10px;right:10px;padding:7px 10px}.manager-heading{flex-direction:column;margin-bottom:30px}.manager-account{flex-direction:row;padding:0}.manager-layout{grid-template-columns:1fr}.manager-sidebar{position:static}.manager-records{display:flex;gap:8px;overflow-x:auto}.record{min-width:190px;width:190px;border:1px solid var(--line)}.form-grid{grid-template-columns:1fr 1fr;gap:15px}.form-grid label{font-size:.75rem}.editor-actions .button{padding:11px 15px;font-size:.75rem}.photo-section-heading{flex-direction:column;gap:0}.photo-section-heading .quiet-button{margin-bottom:20px}.editor-photos img{height:130px}.preview-banner a{display:block;margin-left:0}.manager-welcome{padding:35px 22px}}
@media(prefers-reduced-motion:reduce){.property-photo img{transition:none}.property-photo:hover img{transform:none}}

/* Explicit foregrounds for dark controls and cream panels. */
.quiet-button:hover:not(:disabled),.listing-filters button:hover:not(.selected){background:#34362e;color:#f9f8f4;border-color:#d2b77f}
.editor-actions{color:var(--charcoal)}
.editor-actions .button.secondary,.editor-actions .quiet-button{color:var(--charcoal)}
.editor-actions .button.secondary:hover,.editor-actions .quiet-button:hover:not(:disabled){background:#e7dfcf;color:#20211e}
.property-inquiry,.preview-banner,.photo-placeholder,.manager-welcome,.editor-message,.editor-error,.editor-photos figcaption{color:#20211e}
.property-inquiry .eyebrow,.manager-welcome .eyebrow{color:#75603a}
.property-inquiry .text-link,.preview-banner a{color:#20211e}
.editor-photos figcaption button:hover:not(:disabled){background:#ddd3bd;color:#20211e}
.editor-photos figure{margin:0;position:relative;border:2px solid transparent;border-radius:2px}
.editor-photos .photo-drag-handle{display:block;position:relative;width:100%;padding:0;border:0;background:#20211e;color:#f9f8f4;cursor:grab;touch-action:none;user-select:none}
.editor-photos .photo-drag-handle:active{cursor:grabbing}
.editor-photos .photo-drag-handle:disabled{cursor:default}
.editor-photos .photo-drag-handle img{display:block;pointer-events:none}
.photo-drag-label{position:absolute;bottom:8px;right:8px;background:#171815ed;color:#f9f8f4;padding:4px 9px;font-size:.65rem;line-height:1.5;pointer-events:none}
.photo-order-help{font-size:.78rem;line-height:1.7;color:#d7d2c6;margin:0 0 18px}
.editor-photos .photo-dragging{opacity:.45}
.editor-photos .photo-drop-target{border-color:#e8c68a;box-shadow:0 0 0 2px #e8c68a}
.editor-photos .photo-drop-target::after{content:'Drop here';position:absolute;top:8px;left:8px;background:#e8c68a;color:#171815;padding:5px 10px;font-size:.75rem;font-weight:600;pointer-events:none}
.photo-drag-ghost{position:fixed;z-index:1000;width:150px;transform:translate(14px,14px);pointer-events:none;border:2px solid #e8c68a;box-shadow:0 12px 35px #0009;background:#171815;color:#fff}
.photo-drag-ghost img{width:100%;height:95px;object-fit:cover;display:block}
.photo-drag-ghost span{display:block;padding:6px;font-size:.65rem;line-height:1.5;text-align:center}

.photo-order-status{font-size:.78rem;line-height:1.7;color:#d7d2c6;margin:14px 0 0}.photo-order-status:empty{margin:0}

/* Import first; keep the optional details available without a long initial form. */
.listing-import{border:1px solid #655b47;padding:30px;margin-bottom:50px;background:#22231f}
.listing-import h2{font-size:clamp(1.8rem,3vw,2.7rem);margin:0}
.listing-import .eyebrow{margin-bottom:8px}
.listing-import>div>p{margin:12px 0 22px;font-size:.87rem;color:#ddd7ca}
.import-modes{display:flex;gap:10px;margin:22px 0}
.import-modes .selected{background:#c1a26b;color:#151613;border-color:#c1a26b}
.import-modes .selected:hover:not(:disabled){background:#d6bd91;color:#151613}
.import-url-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end}
.import-url-row .button{min-height:52px}
.listing-import input,.listing-import textarea{background:#faf8f1;color:#20211e;border-color:#c8b995}
.listing-import textarea{resize:vertical;min-height:150px}
.import-photos-toggle{display:flex;flex-direction:row;align-items:center;gap:10px;margin-top:18px;color:#eee8da}
.import-photos-toggle input{width:18px;height:18px;accent-color:#c1a26b}
.listing-import form>.button{margin-top:15px}
.listing-import .fine,.import-footnote{color:#bbb7ac;font-size:.73rem;line-height:1.7}
.import-footnote{margin:8px 0 0}
.import-progress{color:#f3d29a;font-size:.88rem;margin:20px 0 12px}
.import-result{background:#e7eee4;color:#20211e;border-left:3px solid #58724d;padding:18px;margin-top:22px;font-size:.82rem;line-height:1.7}
.listing-import .import-result>p{color:#20211e;margin:0;font-size:.85rem}
.import-result ul{margin:12px 0 0;padding-left:20px}
.editor-extra{margin-top:22px}
.editor-extra summary{cursor:pointer;color:#e8d4ab;font-size:.85rem;font-weight:600;padding:8px 0}
.editor-extra summary:focus-visible{outline:2px solid #e8d4ab;outline-offset:5px}
.editor-extra summary span{font-weight:400;color:#c5bca9}
.editor-extra[open] summary{margin-bottom:20px}
.editor-extra>label+label{margin-top:22px}
.editor-extra.editor-section{margin-top:0}
@media(max-width:700px){.listing-import{padding:22px 18px;margin-bottom:32px}.import-url-row{grid-template-columns:1fr;gap:12px}.import-url-row .button{width:100%}.import-modes .quiet-button{padding:10px 13px}.import-photos-toggle{align-items:flex-start}}

.import-pdf-box{border:1px dashed #9b8861;background:#1b1c19;padding:24px;margin:18px 0}.import-pdf-box input[type=file]{display:block;width:100%;max-width:100%;margin-top:12px;color:#f9f8f4;padding:12px;background:#292a25;border:1px solid #665e4c;border-radius:0}.import-pdf-box input::file-selector-button{background:#eee9df;color:#20211e;border:0;padding:10px 14px;margin-right:14px;cursor:pointer;font:inherit}.import-pdf-box .button{margin-top:8px}.import-modes{flex-wrap:wrap}
