/* Final responsive pass. Horizontal scrolling belongs to explicit components. */
html { max-width:100%; overflow-x:hidden; overscroll-behavior-x:none; }
body { width:100%; max-width:100%; min-width:0; overflow-x:hidden; overscroll-behavior-x:none; }
@supports(overflow:clip) { html,body { overflow-x:clip; } }
img,video,canvas { max-width:100%; }
input,select,textarea { min-width:0; max-width:100%; }
main,section,article,aside,fieldset,.container,.admin-content,.admin-content__inner,.workspace-card,.form-grid>* { min-width:0; }
p,h1,h2,h3,a,strong,dd { overflow-wrap:break-word; }
.form-help { font-size:12px;line-height:1.65;color:#60748a; }
.table-wrap,.tabela-wrap,.comparacao-tabela-wrap,.pipeline-board,.conta-tabs,.comparacao-cards { max-width:100%;overscroll-behavior-x:contain; }
.pipeline-board { width:100%;contain:inline-size layout; }
.admin-shell .admin-content { min-width:0;max-width:calc(100% - 248px); }
.admin-shell .admin-topbar__identity,.admin-shell .admin-topbar__identity>span { min-width:0; }
.admin-shell .admin-topbar__identity strong { overflow-wrap:anywhere; }
.admin-page-heading,.section-heading,.pagina-cabecalho,.admin-imovel-form__actions { flex-wrap:wrap; }
.admin-shell .tabela { width:100%; }
.scroll-region { width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain; }
.scroll-region:focus-visible { outline-offset:2px; }
.admin-form-tabs { display:flex;flex-wrap:wrap;overflow:visible;gap:6px; }
.admin-form-tabs button { flex:1 1 100px;min-width:0;min-height:52px; }
.admin-imovel-form .checkbox-linha input[type=checkbox] { flex:0 0 19px;width:19px;height:19px;margin:0; }
.admin-imovel-form .checkbox-linha { min-height:44px; }
.admin-imovel-form .checkbox-linha label { flex:1;cursor:pointer; }
.amenities-fieldset { padding:0;margin:28px 0 0;border:0; }
.amenities-fieldset legend { font-size:17px;font-weight:750;color:#163550; }
.amenities-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0 22px; }
.admin-imovel-form label.amenity-option { display:flex;align-items:center;gap:12px;min-height:54px;padding:14px;margin:0;border:1px solid #d8e2ec;border-radius:10px;background:#f8fafc;cursor:pointer;font-size:13px;line-height:1.4; }
.admin-imovel-form .amenity-option input[type=checkbox] { flex:0 0 20px;width:20px;height:20px;margin:0;appearance:auto;accent-color:#183c5a; }
.amenity-option:has(input:checked) { background:#edf4f9!important;border-color:#7997b3!important;color:#173c5a;box-shadow:inset 0 0 0 1px #7997b3; }
.amenity-option:focus-within { outline:3px solid #dbb65e;outline-offset:2px; }
.amenities-extra { padding:20px;border:1px dashed #c7d5e0;border-radius:12px;background:#fbfcfe; }
.amenities-preview { display:flex;flex-wrap:wrap;gap:7px; }
.amenities-preview span { max-width:100%;overflow-wrap:anywhere;padding:6px 10px;border-radius:6px;background:#edf3f8;color:#315a78;font-size:12px; }
.amenities-preview.is-error { color:#a83232; }
.imovel-detalhe__caracteristicas li { overflow-wrap:anywhere;min-width:0; }

/* Architectural drawings occupy the outer corners without covering controls. */
.site-header { isolation:isolate; }
.site-header__inner { max-width:1640px;position:relative;z-index:2;padding-inline:clamp(20px,3vw,48px); }
.site-header__logo { width:230px;max-width:100%; }
.site-header__nav { min-width:0; }
.site-header__mobile-tools { flex-shrink:0; }
.site-header__login:hover { color:#142d4c!important; }
.header-art { position:absolute;top:0;bottom:0;width:clamp(100px,calc((100vw - 1570px)/2),330px);max-height:114px;overflow:hidden;pointer-events:none;z-index:-1;color:#dcb45d;opacity:.24; }
.header-art svg { width:100%;height:100%;stroke:currentColor;stroke-width:1.25; }
.header-art--left { left:12px;mask-image:linear-gradient(90deg,#000 60%,transparent); }
.header-art--right { right:12px;mask-image:linear-gradient(270deg,#000 60%,transparent); }
.header-brandline__inner { max-width:1560px; }
.header-brandline .header-architecture { opacity:.4; }
.site-header__search-cta { background:#ffffff0a;color:#ebce8c;border:1px solid #bc98464d; }
.site-header__search-cta:hover { background:#d6b35b22; }

@media(min-width:1280px) and (max-width:1550px) {
 .site-header__logo { width:195px; }
 .site-header__links { gap:12px; }
 .site-header__links>a { font-size:12px; }
 .site-header__inner { gap:20px; }
 .site-header__login { padding:11px 13px!important;font-size:11px; }
 .site-header__search-cta { font-size:11px;padding:11px 13px; }
 .header-art { opacity:.09; }
}
@media(max-width:1279px) {
 .header-art { display:none; }
 .site-header,.site-header.is-scrolled { backdrop-filter:none;-webkit-backdrop-filter:none; }
 .site-header__inner { min-height:76px;gap:12px;padding:12px 20px; }
 .site-header__logo,.site-header.is-scrolled .site-header__logo { width:210px; }
 .site-header__toggle { display:flex; }
 .site-header__mobile-login { display:inline-flex!important;font-size:12px!important;padding:10px 13px!important; }
 .site-header__nav { display:flex;position:fixed;inset:0 0 0 auto;width:min(400px,100%);height:100dvh;min-height:0;overflow-y:auto;overflow-x:hidden;align-items:stretch;flex-direction:column;justify-content:flex-start;padding:90px 26px 32px;background:linear-gradient(160deg,#0b1630,#102449);transform:translateX(100%);visibility:hidden;box-shadow:-20px 0 50px #0005;z-index:80; }
 .site-header__nav.is-open { transform:none;visibility:visible; }
 .site-header__links { display:flex;align-items:stretch;flex-direction:column;gap:0; }
 .site-header__links>a { font:700 20px/1.3 Georgia,serif;padding:14px 0;border-bottom:1px solid #ffffff15; }
 .site-header__actions { display:flex;flex-direction:column;align-items:stretch;margin:16px 0 0;gap:12px; }
 .site-header__actions a { justify-content:center; }
 body.menu-open { overflow-y:hidden; }
 .site-header__account-toggle { z-index:81; }
}
@media(max-width:1200px) { .admin-shell .admin-content { max-width:calc(100% - 214px); } }
@media(max-width:800px) {
 .admin-shell .admin-content { max-width:100%;width:100%; }
 .admin-shell .admin-sidebar { visibility:hidden; }
 .admin-shell.workspace-menu-open .admin-sidebar { visibility:visible; }
 .admin-shell.workspace-menu-open { overflow-y:hidden; }
 .form-grid--2,.form-grid--3 { grid-template-columns:minmax(0,1fr); }
 .amenities-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .admin-imovel-form label.amenity-option { padding:12px 10px;font-size:12px;gap:8px; }
 .admin-shell .admin-topbar { align-items:center; }
 .admin-topbar__identity { flex:1; }
 .admin-shell .admin-topbar__actions { flex:none; }
 .admin-shell .admin-topbar__identity strong { display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 230px); }
 .admin-page-heading .btn { max-width:100%; }
 .workspace-dialog { max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow:auto; }
 .site-header input,.site-public input:not([type=checkbox]):not([type=radio]),.site-public textarea,.site-public select,.admin-imovel-form input:not([type=checkbox]),.admin-imovel-form textarea,.admin-imovel-form select { font-size:16px; }
 .site-searchbar__form { min-width:0; }
 .site-header__brand { flex:1;min-width:0; }
 .site-header__logo,.site-header.is-scrolled .site-header__logo { width:185px; }
 .site-header__mobile-tools { gap:8px; }
 .site-header__inner { padding-inline:16px; }
 .header-brandline__inner { padding-inline:16px; }
 .site-header__utility { width:32px;height:32px; }
 .site-header__account-toggle { width:34px;height:34px; }
 .site-header__account-avatar { width:28px;height:28px; }
 .site-header__toggle { width:26px; }
 .account-panel { width:min(380px,calc(100vw - 24px));right:12px;max-height:calc(100dvh - 90px);overflow:auto; }
 .agent-hero .inline-actions { flex-wrap:wrap; }
 .imovel-detalhe__grid,.auth-premium__inner,.contato-premium__grid { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:400px) {
 .site-public[data-autenticado="1"] .site-header__utility:not(.site-header__utility--messages) { display:none; }
 .site-header__logo,.site-header.is-scrolled .site-header__logo { width:155px; }
 .site-header__inner { gap:8px; }
 .site-header__mobile-tools { gap:7px; }
 .amenities-grid { grid-template-columns:minmax(0,1fr); }
 .amenities-extra { padding:14px; }
 .admin-shell .admin-topbar { padding-inline:12px;gap:8px; }
 .admin-shell .admin-topbar__actions .action-button { padding:8px; }
}
