:root{--wp--preset--color--black: #000000;--wp--preset--color--white: #ffffff;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;}
html { overflow-x: hidden; max-width: 100%; }
body { margin: 0; padding: 0; font-family: 'Sora', sans-serif; background-color: #000; color: #fff; overflow-x: hidden; max-width: 100%; }
img { max-width: 100%; height: auto; }
.e-con { display: flex; position: relative; }
.e-con-inner { display: flex; width: 100%; margin: 0 auto; max-width: 1140px; position: relative; flex-direction: inherit; flex-wrap: inherit; justify-content: inherit; align-items: inherit; }
.e-con-full { width: 100%; max-width: 100%; }
.elementor-widget-image img { max-width: 100%; height: auto; }
.elementor-widget-heading h2 { font-family: 'Sora', sans-serif; margin: 0; padding: 0; }
.elementor-widget-text-editor p { margin: 0 0 1rem; }
a { text-decoration: none; color: inherit; }
ul, li { list-style: none; padding: 0; margin: 0; }
.text-center { text-align: center; width: 100%; }
.text-muted-foreground { color: #CDCDCD; }
.text-lg { font-size: 18px; line-height: 1.5; }
.mb-12 { margin-bottom: 30px; }

.elementor-195 .elementor-element.elementor-element-b13d021{--display:flex;--min-height:421px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--gap:34px 34px;--row-gap:34px;--column-gap:34px;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#BA4222;--border-color:#BA4222;--padding-top:0px;--padding-bottom:0px;--padding-left:40px;--padding-right:40px;}.elementor-195 .elementor-element.elementor-element-b13d021:not(.elementor-motion-effects-element-type-background), .elementor-195 .elementor-element.elementor-element-b13d021 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}
.elementor-195 .elementor-element.elementor-element-f1b7c9a img{width:41%;}
.elementor-195 .elementor-element.elementor-element-5e8b822{width:100%;max-width:100%;padding:0px;}
.elementor-195 .elementor-element.elementor-element-5e8b822 .elementor-field-group{padding-right:5px;padding-left:5px;margin-bottom:10px;}
.elementor-195 .elementor-element.elementor-element-5e8b822 .elementor-field-group > label{color:#000000;font-family:"Montserrat", Sans-serif;font-weight:400;}
.elementor-195 .elementor-element.elementor-element-5e8b822 .elementor-field-group .elementor-field{color:#000000;font-family:"Montserrat", Sans-serif;font-weight:400;line-height:35px;}
.elementor-195 .elementor-element.elementor-element-5e8b822 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;border-radius:5px;}
.elementor-195 .elementor-element.elementor-element-5e8b822 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;border-radius:5px;width:100%; height:45px; border:none; padding:5px 10px;}
.elementor-195 .elementor-element.elementor-element-5e8b822 .elementor-button{font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:500;border-radius:5px;padding:15px;background-color:#BA4222;color:#ffffff;width:100%;border:none;}

.elementor-195 .elementor-element.elementor-element-840701a .elementor-icon-list-icon i{color:#8D8D8D;}
.elementor-195 .elementor-element.elementor-element-840701a .elementor-icon-list-text{color:#CDCDCD;}

.elementor-10 .elementor-element.elementor-element-bb6661e{--display:flex;--flex-direction:row;--padding-top:10px;--padding-bottom:10px;--padding-left:120px;--padding-right:120px;}
.elementor-10 .elementor-element.elementor-element-c657679{--width:25%; justify-content:center;}
.elementor-10 .elementor-element.elementor-element-4aea43e{--width:50%; justify-content:center; align-items:center;}
.elementor-10 .elementor-element.elementor-element-803c919 .elementor-nav-menu--main{margin-top: 20px;}
.elementor-10 .elementor-element.elementor-element-803c919 .elementor-nav-menu{display:flex; gap: 40px;}
.elementor-10 .elementor-element.elementor-element-803c919 .elementor-nav-menu .elementor-item{font-family:"Montserrat", Sans-serif;font-weight:400;color:#FFFFFF;text-transform:uppercase;font-size:14px;}
.elementor-10 .elementor-element.elementor-element-cebebac{--width:25%; justify-content:center; align-items:flex-end;}
.elementor-10 .elementor-element.elementor-element-e6043d9 .elementor-button{background-color:#BA4222;font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:500;border-radius:5px;padding:18px;color:#fff;}

.elementor-10 .elementor-element.elementor-element-3cc2612{--display:flex;--padding-top:40px;--padding-bottom:40px;--padding-left:200px;--padding-right:200px; align-items:center;}
.elementor-10 .elementor-element.elementor-element-3b6bde5{--width:50%;}
.elementor-10 .elementor-element.elementor-element-3445f27 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:70px;font-weight:400;color:#FFFFFF; line-height:70px;}
.elementor-10 .elementor-element.elementor-element-f4927bd{font-family:"Montserrat", Sans-serif;font-size:50px;font-weight:400;line-height:50px;color:#BA4222;}
.elementor-10 .elementor-element.elementor-element-e66e4d4{--width:50%; position:relative;}
.elementor-10 .elementor-element.elementor-element-f0c373f img{width:100%; max-width: 600px;}

.elementor-10 .elementor-element.elementor-element-70b37a3{--min-height:400px;--padding-bottom:180px;--padding-left:180px;--padding-right:180px;}

.elementor-10 .elementor-element.elementor-element-e0ffde7{--display:flex;--flex-direction:column;--padding-top:100px;--padding-bottom:120px;--padding-left:60px;--padding-right:60px;background-color:#141414; align-items:center;}
.elementor-10 .elementor-element.elementor-element-87c5415 .elementor-heading-title{font-family:"Sora", Sans-serif;font-weight:500;color:#FFFFFF; font-size:36px; margin-bottom:10px;}
.elementor-10 .elementor-element.elementor-element-587e689{width:60%;text-align:center;font-family:"Sora", Sans-serif;font-size:18px;font-weight:200;line-height:30px;color:#FFFFFF;}
.elementor-10 .elementor-element.elementor-element-8bb26e1{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px; margin-top: 40px;}
.elementor-10 .elementor-element.elementor-element-7be863a,
.elementor-10 .elementor-element.elementor-element-35038de,
.elementor-10 .elementor-element.elementor-element-fac2e07{display:flex; flex-direction:column; align-items:center; background-color:#1A1A1A; border:1px solid #BA42225C; border-radius:10px; padding:30px; text-align:center;}
.elementor-10 .elementor-element.elementor-element-450130f img,
.elementor-10 .elementor-element.elementor-element-639f61b img,
.elementor-10 .elementor-element.elementor-element-1d353c7 img{width:80px; margin-bottom: 20px;}
.elementor-icon-box-title{font-family:"Sora", Sans-serif;font-size:20px;font-weight:600;color:#FFFFFF; margin-bottom:15px; text-align:center; width:100%;}
.elementor-10 .elementor-element.elementor-element-7be863a .elementor-icon-box-wrapper,
.elementor-10 .elementor-element.elementor-element-35038de .elementor-icon-box-wrapper,
.elementor-10 .elementor-element.elementor-element-fac2e07 .elementor-icon-box-wrapper{align-items:center; text-align:center; width:100%;}
.elementor-10 .elementor-element.elementor-element-7be863a .elementor-icon-box-content,
.elementor-10 .elementor-element.elementor-element-35038de .elementor-icon-box-content,
.elementor-10 .elementor-element.elementor-element-fac2e07 .elementor-icon-box-content,
.elementor-10 .elementor-element.elementor-element-7be863a .elementor-icon-box-description,
.elementor-10 .elementor-element.elementor-element-35038de .elementor-icon-box-description,
.elementor-10 .elementor-element.elementor-element-fac2e07 .elementor-icon-box-description{text-align:center; width:100%;}

.sobre{border-top:1px solid #BA422259; border-bottom:1px solid #BA422259; padding:60px 180px;}
.elementor-10 .elementor-element.elementor-element-7042c37{width:50%; align-items:center;}
.elementor-10 .elementor-element.elementor-element-5ee14de{width:50%; justify-content:center; padding: 20px;}
.elementor-10 .elementor-element.elementor-element-b68b757{line-height:1.5;}
.elementor-10 .elementor-element.elementor-element-b68b757 p{margin:0 0 0.6rem; line-height:1.5;}

.elementor-10 .elementor-element.elementor-element-9003863{background-color:#141414; padding:120px 60px; border-bottom:1px solid #BA422259; align-items:center;}
.elementor-10 .elementor-element.elementor-element-98ca0fc .elementor-heading-title{font-size: 36px;}
/* ===== Modern form redesign ===== */
.elementor-form-fields-wrapper{display:flex; flex-wrap:wrap; gap:16px;}
.elementor-field-group{flex:1; margin:0; position:relative;}
.elementor-col-50{flex: 0 0 calc(50% - 16px);}
.elementor-col-33{flex: 0 0 calc(33.333% - 16px);}
.elementor-col-25{flex: 0 0 calc(25% - 16px);}
.elementor-col-16{flex: 0 0 calc(16.666% - 16px);}
.elementor-col-100{flex: 0 0 100%;}

.elementor-field-textual,
.elementor-field-group .elementor-field:not(.elementor-select-wrapper),
.elementor-field-group .elementor-select-wrapper select{
    width:100% !important;
    padding:15px 18px !important;
    border-radius:10px !important;
    border:1.5px solid #2A2A2A !important;
    background-color:#161616 !important;
    color:#F5F5F5 !important;
    font-size:15px !important;
    font-family:"Sora", sans-serif !important;
    font-weight:400 !important;
    line-height:normal !important;
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
    appearance:none;
    -webkit-appearance:none;
}
.elementor-field-textual::placeholder{color:#8A8A8A;}
.elementor-field-textual:hover{border-color:#3D3D3D;}
.elementor-field-textual:focus{
    outline:none;
    border-color:#BA4222;
    background-color:#1C1C1C;
    box-shadow:0 0 0 4px rgba(186,66,34,0.18);
}
select.elementor-field-textual{
    cursor:pointer;
    padding-right:44px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23BA4222' stroke-width='2'%3E%3Cpath d='M5 7.5l5 5 5-5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 16px center;
    background-size:14px;
}
select.elementor-field-textual option{background-color:#161616; color:#F5F5F5;}

.elementor-form button{
    width:100%;
    padding:17px;
    background:linear-gradient(135deg, #C44D28, #A0351B);
    color:#fff;
    border:none;
    border-radius:10px;
    font-family:"Montserrat", Sans-serif;
    font-size:16px;
    font-weight:600;
    letter-spacing:.2px;
    cursor:pointer;
    box-shadow:0 6px 20px -6px rgba(186,66,34,0.55);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.elementor-form button:hover{transform:translateY(-2px); box-shadow:0 10px 26px -6px rgba(186,66,34,0.65); filter:brightness(1.05);}
.elementor-form button:active{transform:translateY(0); box-shadow:0 4px 14px -6px rgba(186,66,34,0.5);}

/* Card treatment for the main lead-capture form */
.elementor-10 .elementor-element.elementor-element-52a4181{
    background:#0D0D0D !important;
    border:1px solid #232323 !important;
    border-radius:18px !important;
    padding:36px !important;
    max-width:720px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-shadow:0 20px 50px -20px rgba(0,0,0,0.6);
}
/* Neutralize the real-site Elementor gutter hack (negative margins + per-field padding)
   which fights our gap-based spacing and pushes the field row wider than the button below it */
.elementor-10 .elementor-element.elementor-element-52a4181 .elementor-field-group{
    padding:0 !important;
    margin:0 !important;
}
.elementor-10 .elementor-element.elementor-element-52a4181 .elementor-form-fields-wrapper{
    margin:0 !important;
}
/* Filter forms (destaque grid + catalogo) have more fields per row than the lead form,
   so give them extra width to avoid truncating select text like "Cidade (todas)" */
.elementor-10 .elementor-element.elementor-element-9f900e4 .elementor-element.elementor-element-52a4181{
    max-width:1100px !important;
}
.elementor-10 .elementor-element.elementor-element-9f900e4 .elementor-element.elementor-element-52a4181 .elementor-col-25,
.elementor-10 .elementor-element.elementor-element-9f900e4 .elementor-element.elementor-element-52a4181 .elementor-col-16{
    min-width:195px;
}
.elementor-10 .elementor-element.elementor-element-9f900e4 .elementor-element.elementor-element-52a4181 select.elementor-field-textual{
    padding-right:36px;
    background-position: right 12px center;
}
/* Keep the filter select fields on a single row on desktop (the submit button
   still gets its own line below since it's flex-basis:100%) */
@media (min-width:1025px){
    .elementor-10 .elementor-element.elementor-element-9f900e4 .elementor-element.elementor-element-52a4181{
        width:100% !important;
        max-width:1500px !important;
    }
    .elementor-10 .elementor-element.elementor-element-9f900e4 .elementor-element.elementor-element-52a4181 .elementor-col-25,
    .elementor-10 .elementor-element.elementor-element-9f900e4 .elementor-element.elementor-element-52a4181 .elementor-col-16{
        flex: 1 1 0;
        min-width: 170px;
    }
}
@media (max-width:600px){
    .elementor-10 .elementor-element.elementor-element-52a4181{padding:22px !important; border-radius:14px !important;}
}

.catalogo-banner{
    background-image: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.75) 100%), url('/public/img/catalogo-banner.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.catalogo-banner h2{
    font-family: "Sora", sans-serif;
    font-size: 48px;
    font-weight: 600;
    color: #FFFFFF;
    margin: 0;
    padding: 0 20px;
}
@media (max-width: 1024px){
    .catalogo-banner{ min-height: 220px; }
    .catalogo-banner h2{ font-size: 32px; }
}

.elementor-10 .elementor-element.elementor-element-9f900e4{padding:80px 120px; align-items:center; flex-direction:column;}
.elementor-10 .elementor-element.elementor-element-18e9b29{display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; width:100%; margin-bottom: 40px;}
@media (max-width: 1300px) and (min-width: 1025px){
    .elementor-10 .elementor-element.elementor-element-18e9b29{grid-template-columns:repeat(3, 1fr);}
}
@media (max-width: 1024px) and (min-width: 641px){
    .elementor-10 .elementor-element.elementor-element-18e9b29{grid-template-columns:repeat(2, 1fr) !important;}
}

.elementor-10 .elementor-element.elementor-element-db0362b{background-color:#000000; border-top:1px solid #BA422259; border-bottom:1px solid #BA422259; padding:80px 60px; align-items:center;}
.elementor-10 .elementor-element.elementor-element-489ef4c{display:grid; grid-template-columns:repeat(3, 1fr); gap:20px;}
.elementor-10 .elementor-element.elementor-element-1631955, .elementor-10 .elementor-element.elementor-element-17702ac, .elementor-10 .elementor-element.elementor-element-6f43d10{background:#1A1A1A; border:1px solid #BA42225C; border-radius:10px; padding:30px;}
.elementor-image-box-wrapper{display:flex; align-items:center; gap:20px; margin-bottom:20px;}
.elementor-image-box-img img{border-radius:50%; width:60px; height:60px; object-fit:cover;}
.elementor-image-box-title{font-size:16px; margin:0;}
.elementor-image-box-description{color:#888; font-size:14px; margin:0;}

.elementor-10 .elementor-element.elementor-element-6295528{background:#000; padding:80px 60px; align-items:center; text-align:center;}
.elementor-10 .elementor-element.elementor-element-0574440 .elementor-button{background:#BA4222; border-radius:15px; padding:20px; font-size:18px; color:#fff;}

.elementor-10 .elementor-element.elementor-element-f8e1171{padding:80px 120px 60px; background:#000; justify-content:space-between; flex-direction:row;}
.elementor-10 .elementor-element.elementor-element-cc877b8{width:33%;}
.elementor-10 .elementor-element.elementor-element-a54fc53{width:33%;}
.elementor-10 .elementor-element.elementor-element-24258ee{width:33%;}
.footer-contact-line{text-align:left; width:100%;}
.footer-contact-line p{text-align:left; margin:0 0 12px;}
.footer-contact-line a{display:inline-flex; align-items:center; gap:10px; color:inherit;}
.footer-contact-line i{color:#BA4222; width:16px; text-align:center; font-size:15px;}

.elementor-element-a8b2373{text-align:center; margin-top:10px;}
.elementor-element-a8b2373 .elementor-button{
    display:inline-block;
    background:linear-gradient(135deg, #C44D28, #A0351B);
    color:#fff !important;
    padding:14px 32px;
    border-radius:10px;
    font-family:"Montserrat", Sans-serif;
    font-weight:500;
    box-shadow:0 6px 20px -6px rgba(186,66,34,0.5);
    transition: transform .15s ease, box-shadow .15s ease;
}
.elementor-element-a8b2373 .elementor-button:hover{transform:translateY(-2px); box-shadow:0 10px 26px -6px rgba(186,66,34,0.6);}

.elementor-menu-toggle { display: none; color: #fff; font-size: 24px; cursor: pointer; background: transparent; padding: 10px; border: none; }
.elementor-nav-menu--dropdown { display: none; width: 100%; position: absolute; top: 100%; left: 0; background: #141414; flex-direction: column; padding: 20px; }
.elementor-nav-menu--dropdown.active { display: flex; z-index: 99; }
.elementor-nav-menu--dropdown .menu-item { margin-bottom: 15px; }

/* Start custom CSS for text-editor, class: .elementor-element-c7396f0 */
.white-text, .white-text a { color: #ffffff !important; }
/* End custom CSS */

@media(max-width: 1024px) {
    .elementor-10 .elementor-element.elementor-element-8bb26e1,
    .elementor-10 .elementor-element.elementor-element-18e9b29,
    .elementor-10 .elementor-element.elementor-element-489ef4c { grid-template-columns: 1fr !important; }
    .elementor-col-50, .elementor-col-33, .elementor-col-25, .elementor-col-16 { flex: 0 0 100%; }
    .elementor-10 .elementor-element.elementor-element-bb6661e { padding: 20px; }
    .elementor-10 .elementor-element.elementor-element-3cc2612 { padding: 20px; flex-direction: column; }
    .elementor-10 .elementor-element.elementor-element-3b6bde5, .elementor-10 .elementor-element.elementor-element-e66e4d4 { width: 100%; }
    .elementor-10 .elementor-element.elementor-element-70b37a3 { padding: 20px; background-position: center; }
    .elementor-10 .elementor-element.elementor-element-e0ffde7, .elementor-10 .elementor-element.elementor-element-1bd7950, .elementor-10 .elementor-element.elementor-element-9003863, .elementor-10 .elementor-element.elementor-element-9f900e4, .elementor-10 .elementor-element.elementor-element-db0362b, .elementor-10 .elementor-element.elementor-element-6295528, .elementor-10 .elementor-element.elementor-element-f8e1171 { padding: 40px 20px; }
    .elementor-10 .elementor-element.elementor-element-7042c37, .elementor-10 .elementor-element.elementor-element-5ee14de, .elementor-10 .elementor-element.elementor-element-cc877b8, .elementor-10 .elementor-element.elementor-element-a54fc53, .elementor-10 .elementor-element.elementor-element-24258ee { width: 100%; }
    .elementor-10 .elementor-element.elementor-element-f8e1171 { flex-direction: column; gap: 40px; }
    .elementor-10 .elementor-element.elementor-element-803c919 .elementor-nav-menu--main { display: none; }
    .elementor-menu-toggle { display: block; }
    .sobre { padding: 40px 24px; }
    .elementor-10 .elementor-element.elementor-element-587e689 { width: 100% !important; }
    .elementor-10 .elementor-element.elementor-element-7042c37,
    .elementor-10 .elementor-element.elementor-element-5ee14de { width: 100% !important; padding: 0 !important; }
    .elementor-10 .elementor-element.elementor-element-7042c37 img { width: 100% !important; max-width: 100% !important; height: auto !important; }
    .elementor-10 .elementor-element.elementor-element-3cc2612 { padding: 32px 16px !important; align-items: center; }
    .elementor-10 .elementor-element.elementor-element-3b6bde5 { text-align: center; align-items: center; }
    .elementor-10 .elementor-element.elementor-element-3445f27 .elementor-heading-title,
    .elementor-10 .elementor-element.elementor-element-f4927bd { text-align: center; }
    img { max-width: 100% !important; height: auto !important; }
}

@media (max-width: 600px) {
    .elementor-10 .elementor-element.elementor-element-3445f27 .elementor-heading-title{ font-size: 40px; line-height: 44px; }
    .elementor-10 .elementor-element.elementor-element-f4927bd{ font-size: 26px; line-height: 32px; }
    .elementor-10 .elementor-element.elementor-element-bb6661e{ padding: 16px !important; }
    .elementor-10 .elementor-element.elementor-element-9003863,
    .elementor-10 .elementor-element.elementor-element-9f900e4,
    .elementor-10 .elementor-element.elementor-element-e0ffde7,
    .elementor-10 .elementor-element.elementor-element-db0362b,
    .elementor-10 .elementor-element.elementor-element-6295528,
    .elementor-10 .elementor-element.elementor-element-1bd7950 { padding: 32px 16px !important; }
    .sobre { padding: 32px 16px; }
    .catalogo-banner { min-height: 180px; }
    .catalogo-banner h2 { font-size: 26px; }
    .elementor-form-fields-wrapper{ gap: 10px; }
    .elementor-field-textual{ padding: 12px 14px; font-size: 16px; }
    .elementor-form button{ padding: 14px; font-size: 16px; }
    .elementor-10 .elementor-element.elementor-element-98ca0fc .elementor-heading-title{ font-size: 26px; }
    .elementor-10 .elementor-element.elementor-element-87c5415 .elementor-heading-title{ font-size: 28px; }
    .elementor-10 .elementor-element.elementor-element-631ecd3 .elementor-heading-title,
    .elementor-10 .elementor-element.elementor-element-544bfa4 .elementor-heading-title{ font-size: 26px; }
    h2.elementor-heading-title{ font-size: 26px; }
}
/* The vendor export's own rule for this element (with a :not() clause, so it
   beats this plain selector on specificity) still points at a leftover
   WordPress media URL that 404s. !important forces our local file to win. */
.elementor-10 .elementor-element.elementor-element-70b37a3 { background-image: url('/public/img/imagem.jpg') !important; background-size: cover !important; background-position: center !important; }

/* ===== Mobile/tablet spacing fixes ===== */

/* "Ver mais imóveis" and the final CTA button keep their desktop percentage width
   (28% / 40%) at every breakpoint, which is nowhere near enough room for their
   text on a phone screen and forces an ugly 2-3 line wrap. Let them size to their
   own padding instead; text-align:center on the wrapper keeps them centered. */
@media (max-width: 1024px){
    .elementor-10 .elementor-element.elementor-element-a8b2373,
    .elementor-10 .elementor-element.elementor-element-0574440{
        width: 100% !important;
        max-width: 100% !important;
    }
}
@media (max-width: 480px){
    .elementor-10 .elementor-element.elementor-element-a8b2373 .elementor-button,
    .elementor-10 .elementor-element.elementor-element-0574440 .elementor-button{
        display: block;
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* Icon + email must stay on the same single line. The email text on its own
   comfortably fits the footer column width, so keep it nowrap; only shrink the
   font a bit on very narrow phones for a safe margin instead of ever wrapping. */
.footer-contact-line a{
    max-width: 100%;
    flex-wrap: nowrap;
    white-space: nowrap;
}
@media (max-width: 380px){
    .footer-contact-line a{
        font-size: 15px;
        gap: 6px;
    }
}

/* The footer's "Navegação" menu widget was exported with the mobile/tablet
   burger-toggle behavior (nav hidden until a toggle button is clicked) but no
   toggle button was ever added to its markup, so the menu was just permanently
   invisible below 1024px, leaving a dead gap under the heading. Simplest correct
   fix for a 3-link footer list: never collapse it, always show it. */
@media (max-width: 1024px){
    .elementor-element-52ecc50 .elementor-nav-menu--main{
        display: block !important;
    }
    .elementor-element-52ecc50 .elementor-nav-menu{
        display: flex !important;
        flex-direction: column;
        gap: 4px;
    }
    /* The link's own left padding (40px) pushed "Sobre/Catálogo/Contatos" out of
       alignment with the "Navegação" heading and the Contato column next to it */
    .elementor-element-52ecc50 .elementor-nav-menu a{
        padding: 6px 0 !important;
    }
}

/* The WhatsApp bubble is position:fixed at bottom:40px/right:40px, so it sits on
   top of whatever is scrolled beneath it. On mobile the copyright line was the
   last thing on the page and had no reserved clearance, so the button covered
   part of its text. Give that row enough bottom padding to clear the button. */
@media (max-width: 600px){
    .elementor-10 .elementor-element.elementor-element-ee0bba1{
        padding-bottom: 96px !important;
    }
}

/* ===== Mobile hero test =====
   On mobile only: bring back the Gemini key graphic (normally desktop-only,
   absolutely positioned) as a normal centered image shown before the
   "Do sonho à chave" text, and simplify the top bar down to just the
   centered logo (no nav menu, no "Encontrar Imóvel" button). The photo
   strip band (imagem.jpg) stays exactly where it already was. */
@media (max-width: 1024px){
    .elementor-10 .elementor-element.elementor-element-e66e4d4{
        display: flex !important;
        order: -1;
        margin-bottom: 20px;
    }
    .elementor-10 .elementor-element.elementor-element-f0c373f{
        position: static !important;
        left: auto !important;
        right: auto !important;
        top: auto !important;
        text-align: center;
    }
    .elementor-10 .elementor-element.elementor-element-f0c373f img{
        width: 220px !important;
        max-width: 60% !important;
        margin: 0 auto;
    }

    .elementor-10 .elementor-element.elementor-element-4aea43e,
    .elementor-10 .elementor-element.elementor-element-cebebac{
        display: none !important;
    }
    .elementor-10 .elementor-element.elementor-element-bb6661e{
        justify-content: center !important;
    }
}
