/* Módulo de empreendimentos: estilos limitados aos seus componentes. */
.dev-module { min-width:0; color:#24362e; font-family:var(--font-sans,sans-serif); }
.dev-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-bottom:24px; }
.dev-heading h1,.dev-heading h2 { margin:4px 0 6px; line-height:1.16; }
.dev-heading h1 { font-size:clamp(27px,3vw,40px); font-family:var(--font-serif,serif); }
.dev-heading p { color:#53675c; font-size:13px; line-height:1.65; max-width:760px; }
.dev-eyebrow { display:block; color:#80612f; font:700 10px/1.5 var(--font-sans,sans-serif); text-transform:uppercase; letter-spacing:.14em; }
.dev-card { border:1px solid #d9ded7; border-radius:10px; background:#fff; padding:24px; margin-bottom:24px; min-width:0; box-shadow:0 3px 14px #273c2c06; scroll-margin-top:100px; }
.dev-card > h2 { font:500 29px/1.2 var(--font-serif,serif); margin:0 0 18px; }
.dev-card > p { font-size:13px; line-height:1.7; color:#54675c; margin-bottom:16px; }
.dev-module .btn { min-height:44px; gap:7px; white-space:normal; text-align:center; justify-content:center; line-height:1.4; }
.dev-module .btn svg { flex-shrink:0; width:17px; height:17px; }
.dev-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.dev-actions form { margin:0; }
.dev-module .dev-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.dev-module .dev-field { display:flex; flex-direction:column; gap:7px; margin-bottom:14px; min-width:0; }
.dev-module .dev-field label { font-size:12px; font-weight:700; color:#263f33; line-height:1.5; }
.dev-module :is(input:not([type=checkbox]),select,textarea) { box-sizing:border-box; width:100%; min-width:0; min-height:46px; padding:11px 12px; background:#f4f7f4; border:1px solid #84988b; border-radius:5px; color:#172d21; font:400 14px/1.5 var(--font-sans,sans-serif); }
.dev-module input[type=checkbox] { width:20px; height:20px; accent-color:#155b45; cursor:pointer; }
.dev-module textarea { resize:vertical; min-height:100px; }
.dev-module :is(input,select,textarea):focus-visible { outline:3px solid #d2e4d6; outline-offset:1px; border-color:#155b45; }
.dev-module small { font-size:11px; line-height:1.65; color:#5c6e62; }
.dev-stat { display:inline-flex; align-items:center; gap:7px; padding:9px 12px; background:#eaf3ed; color:#17503b; border:1px solid #bfd1c3; border-radius:6px; font-size:12px; font-weight:600; }
.dev-state { display:inline-flex; padding:5px 9px; border-radius:4px; background:#edf0eb; color:#425449; font-size:11px; font-weight:700; white-space:nowrap; }
.dev-state.active,.dev-state.available { background:#e0f0e8; color:#12543c; }
.dev-state.reserved { background:#f9edd3; color:#6e4b10; }
.dev-state.blocked,.dev-state.sold { background:#f3e5e1; color:#7a3828; }
.dev-list { display:grid; gap:14px; }
.dev-list-item { display:grid; grid-template-columns:110px minmax(0,1fr) auto; align-items:center; gap:18px; padding:18px; border:1px solid #dbe2d9; border-radius:8px; background:#fff; }
.dev-list-item img { width:110px; height:90px; object-fit:cover; border-radius:5px; background:#e9ede6; }
.dev-list-item h2 { margin:7px 0; font-size:18px; line-height:1.4; overflow-wrap:anywhere; }
.dev-list-item p { color:#5a6f60; font-size:12px; line-height:1.7; }
.dev-steps { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.dev-steps a { padding:9px 12px; background:#fff; border:1px solid #b5c3b6; border-radius:5px; font-size:12px; color:#315640; min-height:40px; display:flex; align-items:center; }
.dev-note { padding:14px 16px; border-left:3px solid #a6844e; background:#f5f0e5; font-size:12px; line-height:1.7; color:#58482d; margin:0 0 20px; }
.dev-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:end; margin-bottom:20px; }
.dev-filters .dev-field { margin-bottom:0; }
.dev-filter-panel { margin:0 0 20px; }
.dev-filter-panel > summary { display:none; cursor:pointer; min-height:46px; padding:12px 15px; border:1px solid #9eb5a4; border-radius:5px; background:#f3f7ee; font-size:13px; font-weight:600; color:#244d33; }
.dev-table-scroll { width:100%; overflow:auto; }
.dev-table { width:100%; border-collapse:collapse; font-size:13px; }
.dev-table :is(th,td) { padding:14px 12px; text-align:left; vertical-align:middle; border-bottom:1px solid #e0e5dd; }
.dev-table th { font-size:10px; text-transform:uppercase; letter-spacing:.06em; color:#536c5b; background:#f3f6ef; }
.dev-table td { line-height:1.7; }
.dev-table .dev-money { white-space:nowrap; font-weight:700; color:#224a37; }
.dev-table .dev-actions { flex-wrap:nowrap; }
.dev-table .dev-actions a { font-size:11px; }
.dev-bulk { display:flex; align-items:end; flex-wrap:wrap; gap:12px; margin-top:18px; }
.dev-bulk .dev-field { flex:1 1 150px; margin:0; }
.dev-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:22px; font-size:12px; }
.dev-pagination a { min-height:44px; display:flex; align-items:center; padding:9px 15px; border:1px solid #b2c1b3; border-radius:5px; }
.dev-plan-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px; }
.dev-plan-card { border:1px solid #dae2d7; border-radius:7px; padding:16px; background:#fcfdf9; min-width:0; }
.dev-plan-card img { width:100%; height:170px; object-fit:contain; background:#eef2e9; border-radius:4px; }
.dev-plan-card h3 { font:500 25px/1.3 var(--font-serif,serif); margin:12px 0 6px; }
.dev-plan-card p { font-size:12px; color:#4c6857; line-height:1.7; white-space:pre-line; }
.dev-kind-dialog { width:min(730px,calc(100vw - 32px)); }
.dev-kind-dialog .dev-heading { margin-bottom:16px; flex-wrap:nowrap; }
.dev-kind-dialog h2 { font-size:29px; }
.dev-kind-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.dev-kind-option { display:flex; flex-direction:column; align-items:flex-start; gap:12px; border:1px solid #a9bcad; border-radius:8px; padding:22px; background:#f5f8f1; color:#183e2a; }
.dev-kind-option:hover,.dev-kind-option:focus-visible { border-color:#a6844e; background:#f8f2e6; outline:2px solid #a6844e; }
.dev-kind-option strong { font-size:17px; line-height:1.4; }
.dev-kind-option span,.dev-kind-option small { font-size:12px; line-height:1.7; }
.dev-kind-option > svg { width:28px; height:28px; color:#9c783f; }
.dev-kind-option.is-locked { background:#f1f2ef; color:#667468; }
.dev-icon-button { width:44px; height:44px; border:1px solid #a5b4a7; background:transparent; border-radius:5px; font-size:28px; cursor:pointer; flex-shrink:0; }
.dev-plan-settings { padding:16px; border:1px solid #a8bfae; background:#f2f7ef; border-radius:7px; margin-bottom:20px; display:grid; gap:10px; }
.dev-plan-settings label { font-size:12px; line-height:1.6; font-weight:600; }
.dev-plan-settings small { font-size:11px; line-height:1.7; color:#526b59; }
.dev-media-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:12px; margin-top:16px; }
.dev-media-grid figure { margin:0; border:1px solid #d4ddcd; border-radius:5px; overflow:hidden; padding-bottom:10px; }
.dev-media-grid img { width:100%; height:115px; object-fit:cover; }
.dev-media-grid figcaption { font-size:10px; padding:6px 8px; line-height:1.5; }
.dev-media-grid button { font-size:10px; margin:0 8px; }
.dev-public-heading { padding:38px 0; background:#f5f3ec; }
.dev-public-heading h1 { font:500 clamp(33px,4vw,55px)/1.08 var(--font-serif,serif); margin:14px 0; max-width:1000px; text-wrap:balance; }
.dev-public-heading .dev-heading { margin:0; }
.dev-public-price { margin-top:18px; padding-left:15px; border-left:3px solid #a6844e; }
.dev-public-price strong { display:block; font:600 32px/1.3 var(--font-serif,serif); color:#244731; }
.dev-public-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:28px; padding:30px 0; align-items:start; }
.dev-contact { position:sticky; top:105px; }
.dev-contact h2 { font-size:26px; }
.dev-hero { position:relative; margin-bottom:22px; border-radius:8px; overflow:hidden; background:#e4e9df; }
.dev-hero > img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.dev-hero .property-cover-video-btn { position:absolute; }
.dev-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.dev-catalog-card { border:1px solid #d7dfd2; background:#fff; border-radius:8px; overflow:hidden; }
.dev-catalog-card > a > img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.dev-catalog-copy { padding:22px; }
.dev-catalog-copy h2 { font:500 29px/1.15 var(--font-serif,serif); margin:8px 0 14px; }
.dev-catalog-copy p { font-size:12px; line-height:1.7; color:#596f5d; margin-bottom:12px; }
.dev-catalog-copy strong { display:block; font-size:21px; margin:8px 0 16px; color:#24503a; }
.dev-preline { white-space:pre-line; overflow-wrap:anywhere; font-size:14px; line-height:1.85; }
.dev-details { margin-top:10px; }
.dev-details summary { cursor:pointer; font-size:12px; color:#315b3f; min-height:40px; }
.dev-details img { max-width:180px; max-height:120px; object-fit:cover; margin:8px; }
.dev-photo-dialog { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border:1px solid #ad8d50; border-radius:7px; background:#142118; padding:12px; overflow:hidden; margin:auto; }
.dev-photo-dialog::backdrop { background:#07100be8; }
.dev-photo-dialog img { display:block; max-width:calc(100vw - 52px); max-height:calc(100dvh - 110px); object-fit:contain; }
.dev-photo-dialog button { display:block; margin:0 0 12px auto; background:#fff; color:#193722; border:0; border-radius:4px; min-height:44px; padding:9px 15px; cursor:pointer; }
@media(max-width:1150px) { .dev-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .dev-list-item { grid-template-columns:85px minmax(0,1fr); } .dev-list-item img { width:85px; height:80px; } .dev-list-item > .dev-actions { grid-column:2; } }
@media(max-width:900px) { .dev-public-grid { grid-template-columns:1fr; } .dev-contact { position:static; } .dev-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
 .dev-filter-panel > summary { display:list-item; list-style-position:inside; } .dev-filter-panel .dev-filters { margin-top:16px; }
 .dev-card { padding:18px; } .dev-module .dev-fields,.dev-kind-options,.dev-catalog-grid { grid-template-columns:1fr; }
 .dev-table,.dev-table tbody,.dev-table tr,.dev-table td { display:block; width:100%; box-sizing:border-box; } .dev-table thead { display:none; }
 .dev-table tr { border:1px solid #d5dfcf; border-radius:7px; padding:12px; margin-bottom:14px; background:#fff; }
 .dev-table td { border:0; padding:7px 0; display:flex; justify-content:space-between; align-items:flex-start; gap:15px; }
 .dev-table td::before { content:attr(data-label); font-size:11px; color:#586d5d; flex:0 0 85px; }
 .dev-table td.dev-unit-name { font-size:16px; font-weight:700; } .dev-table td.dev-unit-name::before { display:none; }
 .dev-table td.dev-unit-actions { display:block; } .dev-table td.dev-unit-actions::before { display:none; }
 .dev-table td.dev-unit-actions .btn { width:100%; } .dev-table .dev-actions { flex-wrap:wrap; }
 .dev-heading .dev-actions { width:100%; } .dev-list-item { grid-template-columns:1fr; } .dev-list-item img { width:100%; height:150px; }
 .dev-list-item > .dev-actions { grid-column:auto; } .dev-kind-option { padding:17px; } .dev-kind-dialog .dev-heading h2 { font-size:25px; }
 .dev-public-heading { padding:26px 0; } .dev-public-price strong { font-size:29px; } .dev-module .dev-filters { grid-template-columns:1fr 1fr; }
}
@media(max-width:380px) { .dev-module .dev-filters { grid-template-columns:1fr; } .dev-card { padding:14px; } .dev-kind-dialog { padding:18px; } .dev-table td { gap:8px; } }
