.request-dialog{width:min(660px,calc(100% - 24px));max-height:calc(100dvh - 28px);margin:auto;padding:28px;border:1px solid #d4e5ed;border-radius:24px;background:#fff;color:#173a50;box-shadow:0 24px 100px #102f4850;font:16px/1.55 "Nunito Sans",'Segoe UI',sans-serif;overflow:auto}
.request-dialog::backdrop{background:#163e5c80;backdrop-filter:blur(3px)}
.request-dialog *{box-sizing:border-box;hyphens:none}.request-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.request-close{min-width:44px;min-height:44px;border:0;border-radius:50%;background:#edf5f9;font-size:28px;color:#215b7b;cursor:pointer}.request-dialog h2{font-size:1.8rem;line-height:1.2;margin:14px 0}.request-dialog p{font-size:1rem;margin:0 0 16px}.request-dialog #request-property{font-size:.9rem;color:#536572}.request-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;border:0;margin:0 0 16px;padding:0}.request-dialog label{display:block;font-size:.875rem;font-weight:700}.request-dialog input,.request-dialog textarea,.request-dialog select{font:inherit;font-size:1rem;display:block;width:100%;min-width:0;min-height:46px;border:1px solid #aac5d4;border-radius:10px;background:#fff;color:#173a50;padding:10px;margin-top:5px}.request-dialog textarea{resize:vertical;min-height:84px}.request-dialog input:focus-visible,.request-dialog select:focus-visible,.request-dialog textarea:focus-visible,.request-dialog button:focus-visible{outline:3px solid #eaa574;outline-offset:2px}.request-dialog .request-consent{display:flex;align-items:flex-start;gap:12px;font-weight:400;margin:18px 0}.request-consent input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin:2px 0;accent-color:#215b7b}.request-privacy{margin-top:16px;font-size:.875rem}.request-privacy summary{cursor:pointer;color:#215b7b;text-decoration:underline;text-underline-offset:3px}.request-privacy p{font-size:.875rem;margin:12px 0;overflow-wrap:anywhere}.request-privacy a{color:#215b7b}.request-dialog #request-submit{width:100%;font:inherit;font-weight:700;border:0;cursor:pointer}.request-dialog button:disabled{opacity:.6;cursor:wait}.request-dialog [hidden]{display:none!important}#request-feedback{margin:18px 0 0;font-size:1rem}#request-again{margin-top:18px}.request-error{color:#a62e26}.request-success{padding:18px;border-radius:14px;background:#e6f3ed;color:#22573e}.property-contact .request-actions{display:grid;gap:10px;margin:18px 0}.property-contact .request-actions button{font:inherit;cursor:pointer;border:1px solid #b6d1e0;white-space:normal;line-height:1.3}.property-contact .request-actions .btn-secondary{background:#eff6fa;color:#215b7b}.home-featured .property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-page .search-shell{margin:24px auto 0}.catalog-page #immobili{padding-top:32px}.catalog-page .catalog-intro{padding-top:36px}.catalog-page .catalog-intro h1{font-size:2.6rem;margin:10px 0 0}.catalog-pagination a.btn{display:inline-flex}
@media(max-width:600px){.request-dialog{padding:20px}.request-fields{grid-template-columns:minmax(0,1fr);gap:12px}.request-dialog h2{font-size:1.6rem}.home-featured .property-grid{grid-template-columns:minmax(0,1fr)}.catalog-page .catalog-intro h1{font-size:2rem}}

.request-service{border:0;padding:0;margin:0 0 18px;min-width:0}.request-service select{max-width:100%;white-space:normal;}
