@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Manrope:wght@400;500;600;700;800&display=swap');
/* MoradaOS — identidade pública, sem dependência de build NPM */
body.morada-public-body{
 --mp-ink:#263530;--mp-moss:#426e59;--mp-forest:#294538;
 --mp-muted:#808e84;--mp-cream:#f6f5f0;--mp-paper:#fff;
 --mp-border:#e1e7df;--mp-peach:#c47a60;--mp-mint:#e7f0e9;
 background:var(--mp-cream);color:var(--mp-ink);
 font-family:'Manrope',system-ui,-apple-system,Segoe UI,sans-serif;
 font-size:14px;min-height:100vh;
}
.morada-public-body a{color:var(--mp-forest)}
.morada-public-body a:hover{color:var(--mp-moss)}
.morada-public-body h1,.morada-public-body h2,.morada-public-body h3{color:var(--mp-ink)}
.morada-public-body header.site-header{
 background:#fbfbf8;border-bottom:1px solid var(--mp-border);
 padding:15px max(24px,calc((100vw - 1240px)/2));
 min-height:77px;box-shadow:none
}
.morada-public-body header.site-header .brand{
 color:var(--mp-forest);font-size:24px;font-weight:850;letter-spacing:-1.2px;text-transform:lowercase;line-height:1
}
.morada-public-body header.site-header .brand span{color:#769d84}
.morada-public-body .site-nav{gap:23px}
.morada-public-body .site-nav>a:not(.btn){font-weight:700;color:#596f60;font-size:12px}
.morada-public-body .site-nav .btn,.morada-public-body .btn{
 border:0;border-radius:6px;box-shadow:none;background:var(--mp-moss);
 color:white!important;font-size:12px;font-weight:750;min-height:38px;
 padding:10px 16px
}
.morada-public-body .site-nav .btn.secondary,.morada-public-body .btn.secondary{
 background:#e5eee8;color:var(--mp-forest)!important
}
.morada-public-body .site-nav .btn:hover,.morada-public-body .btn:hover{background:var(--mp-forest)}
.morada-public-body .site-nav .btn.secondary:hover,.morada-public-body .btn.secondary:hover{background:#d3e5d9}
.morada-public-body main{max-width:1240px;padding:34px 24px 60px}
.morada-public-body footer{color:#8a988e;border-top:1px solid var(--mp-border);font-size:11px;background:#f7f7f3;margin-top:35px}
.morada-public-body .box{border:1px solid var(--mp-border);border-radius:10px;box-shadow:0 5px 26px #2a433006}
.morada-public-body .muted{color:var(--mp-muted)}
.morada-public-body .alert{background:#e8f2e9;border:1px solid #cfe2d2;border-radius:6px;color:#305843}
.morada-public-body .alert.error{background:#fff0eb;color:#a0473c;border-color:#edc9be}
.morada-public-body input:not([type=checkbox]),.morada-public-body select,.morada-public-body textarea{
 border:1px solid #d9e2db;border-radius:5px;background:#fff;color:var(--mp-ink);
}
.morada-public-body input:focus,.morada-public-body select:focus,.morada-public-body textarea:focus{outline-color:#729a7d}
.morada-public-body label{color:#354c3e}
.morada-public-body .estate-public{color:var(--mp-ink)}
.morada-public-body .estate-public h1,.morada-public-body .estate-public h2,
.morada-public-body .estate-public h3{letter-spacing:-.035em}
.morada-public-body .estate-hero{
 position:relative;padding:56px 0 0;isolation:isolate
}
.morada-public-body .estate-hero:before{
 content:'';position:absolute;top:0;right:3%;width:250px;height:225px;
 border-radius:65% 35% 65% 35%;border:1px solid #cadbd0;transform:rotate(-18deg);
 opacity:.75;pointer-events:none;z-index:-1;
}
.morada-public-body .estate-hero-text{max-width:800px}
.morada-public-body .estate-eyebrow{
 color:var(--mp-moss);font-size:11px;font-weight:800;letter-spacing:.16em
}
.morada-public-body .estate-hero h1{
 font:normal clamp(39px,5.4vw,68px)/1.05 'DM Serif Display',Georgia,serif;
 max-width:790px;letter-spacing:-.035em;margin:16px 0 18px;
}
.morada-public-body .estate-hero-text>p{
 color:#74857a;font-size:15px;line-height:1.75;max-width:610px
}
.morada-public-body .estate-search{
 border:1px solid var(--mp-border);border-radius:11px;
 background:#fff;box-shadow:0 9px 28px #253f300a;
 padding:20px 23px;margin:35px 0 51px;
 grid-template-columns:1fr 1.15fr auto;gap:15px
}
.morada-public-body .estate-field label{color:#5e7366;font-size:11px;font-weight:800;margin-bottom:8px}
.morada-public-body .estate-field input,.morada-public-body .estate-field select{
 border-color:#dbe3dc;height:46px;border-radius:5px;font-size:13px
}
.morada-public-body .estate-search-btn,.morada-public-body .estate-contact-button,
.morada-public-body .estate-contact-strip a{
 background:var(--mp-moss);color:#fff!important;border:0;
 border-radius:5px;font-weight:800;box-shadow:none;font-size:12px
}
.morada-public-body .estate-search-btn{height:46px}
.morada-public-body .estate-search-btn:hover,.morada-public-body .estate-contact-button:hover,
.morada-public-body .estate-contact-strip a:hover{background:var(--mp-forest)}
.morada-public-body .estate-section-title{margin-bottom:22px}
.morada-public-body .estate-section-title h2{
 font:normal clamp(26px,3vw,37px)/1.2 'DM Serif Display',Georgia,serif;
 letter-spacing:-.025em;margin:9px 0 8px
}
.morada-public-body .estate-section-title p{font-size:12px;color:#88968b}
.morada-public-body .estate-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}
.morada-public-body .estate-card{
 border:1px solid var(--mp-border);border-radius:12px;
 box-shadow:0 3px 13px #23392d05;
}
.morada-public-body .estate-card:hover{
 box-shadow:0 16px 35px #1f3c2915;transform:translateY(-3px)
}
.morada-public-body .estate-card-image{height:226px;background:#e9eee7}
.morada-public-body .estate-purpose{background:#e6f0e9;color:#315745;border-radius:6px;padding:7px 12px}
.morada-public-body .estate-card-body{padding:21px 22px}
.morada-public-body .estate-code{color:#94a097;font-size:10px;letter-spacing:.015em}
.morada-public-body .estate-card h3{font-size:17px;margin:10px 0 10px}
.morada-public-body .estate-card h3 a{color:#293d30}
.morada-public-body .estate-location{color:#88978d;font-size:12px}
.morada-public-body .estate-features{gap:12px;color:#7d8b80}
.morada-public-body .estate-card-footer{border-top-color:var(--mp-border)}
.morada-public-body .estate-price-caption{color:#94a197}
.morada-public-body .estate-card-footer strong{color:var(--mp-forest);font-size:18px}
.morada-public-body .estate-card-footer strong small{color:#8c998f}
.morada-public-body .estate-details-link{font-size:12px;font-weight:800;color:var(--mp-forest)}
.morada-public-body .estate-empty{
 border:1px dashed #cdd9cf;background:#fff;border-radius:10px
}
.morada-public-body .estate-contact-strip{
 background:#e5efe8;border:1px solid #d7e5da;
 border-radius:10px;padding:27px 30px
}
.morada-public-body .estate-contact-strip strong{font-size:16px;color:#2c4b3a}
.morada-public-body .estate-contact-strip p{color:#7b8d81}
.morada-public-body .estate-breadcrumb{color:#819084;font-size:12px}
.morada-public-body .estate-breadcrumb a{color:#486f57}
.morada-public-body .estate-detail-head{margin:30px 0 23px}
.morada-public-body .estate-detail-head h1{
 font:normal clamp(35px,4.6vw,59px)/1.12 'DM Serif Display',Georgia,serif;
 margin:13px 0;
}
.morada-public-body .estate-purpose-static{background:#e3eee6;color:#456c55}
.morada-public-body .estate-gallery{border-radius:12px;gap:8px;grid-auto-rows:167px}
.morada-public-body .estate-gallery a{cursor:zoom-in}
.morada-public-body .estate-gallery>a:only-child{grid-column:1/-1;grid-row:span 2}
.morada-public-body .estate-gallery>a:first-child:nth-last-child(2){grid-column:span 3}
.morada-public-body .estate-gallery>a:first-child:nth-last-child(3){grid-column:span 2}
.morada-public-body .estate-gallery-empty{background:#e5ede7}
.morada-public-body .estate-detail-panel,.morada-public-body .estate-detail-side{
 background:#fff;border-color:var(--mp-border);border-radius:12px;box-shadow:0 5px 24px #253f3008;
}
.morada-public-body .estate-detail-panel h2{
 font:normal 27px 'DM Serif Display',Georgia,serif;letter-spacing:-.02em
}
.morada-public-body .estate-specs strong{color:#294839}
.morada-public-body .estate-specs span{color:#86978b}
.morada-public-body .estate-highlights span{background:#edf2ee;color:#546f5b}
.morada-public-body .estate-description{color:#586a5d}
.morada-public-body .estate-detail-price{color:#315744}
.morada-public-body .estate-detail-side p{color:#6f8074}
.morada-public-body .estate-detail-side>small{color:#91a096}
.morada-public-body .estate-no-contact{background:#edf3ed;color:#54715a}
.morada-public-body .estate-lightbox{background:#101b17f2}
.morada-public-body .estate-lightbox button{background:#fff2}
.morada-public-body .estate-pagination a{color:#3a6951}
@media(max-width:950px){
 .morada-public-body .estate-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .morada-public-body .estate-detail-grid{grid-template-columns:minmax(0,1fr) 290px}
 .morada-public-body .estate-gallery{grid-auto-rows:128px}
 .morada-public-body .estate-hero h1{font-size:clamp(38px,5vw,58px)}
}
@media(max-width:700px){
 .morada-public-body header.site-header{padding:13px 18px;gap:12px;min-height:67px}
 .morada-public-body header.site-header .brand{font-size:21px}
 .morada-public-body .site-nav{gap:10px;flex-wrap:wrap;justify-content:flex-end}
 .morada-public-body .site-nav>a:not(.btn){font-size:11px}
 .morada-public-body main{padding:20px 17px 42px}
 .morada-public-body .estate-hero{padding:25px 0 0}
 .morada-public-body .estate-hero:before{width:140px;height:120px;opacity:.35}
 .morada-public-body .estate-hero h1{font-size:clamp(36px,9vw,47px)}
 .morada-public-body .estate-hero-text>p{font-size:13px}
 .morada-public-body .estate-search{grid-template-columns:1fr;padding:18px;margin:27px 0 35px}
 .morada-public-body .estate-list{grid-template-columns:1fr}
 .morada-public-body .estate-card-image{height:240px}
 .morada-public-body .estate-gallery{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:128px}
 .morada-public-body .estate-gallery>a:first-child{grid-column:span 2;grid-row:span 2}
 .morada-public-body .estate-gallery>a:first-child:nth-last-child(2),.morada-public-body .estate-gallery>a:first-child:nth-last-child(3){grid-column:span 2}
 .morada-public-body .estate-detail-grid{grid-template-columns:1fr}
 .morada-public-body .estate-detail-side{position:static}
 .morada-public-body .estate-contact-strip{padding:21px}
}
@media(max-width:380px){
 .morada-public-body .site-nav{gap:7px}
 .morada-public-body .site-nav .btn{padding:8px 11px}
}

/* Mapa na página pública do imóvel */
.morada-public-body .estate-map-panel{padding:24px}
.morada-public-body .estate-map-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}
.morada-public-body .estate-map-heading h2{margin:7px 0 0;font:normal 27px 'DM Serif Display',Georgia,serif;letter-spacing:-.02em}
.morada-public-body .estate-map-open{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:800;font-size:12px;color:var(--mp-forest);border:1px solid #d6e4d9;border-radius:6px;padding:10px 13px;background:#f1f6f1}
.morada-public-body .estate-map-open:hover{background:#e2eee6}
.morada-public-body .estate-map-address{font-size:13px;line-height:1.7;color:#6e8173;margin:0 0 17px}
.morada-public-body .estate-map-address>span{font-size:17px;color:#527a61;margin-right:5px}
.morada-public-body .estate-map-frame{background:#e8eee8;border:1px solid var(--mp-border);border-radius:9px;overflow:hidden;position:relative;width:100%;height:325px}
.morada-public-body .estate-map-frame iframe{display:block;border:0;width:100%;height:100%}
.morada-public-body .estate-map-note{color:#829288;font-size:11px;line-height:1.6;margin:12px 0 0}
@media(max-width:700px){
 .morada-public-body .estate-map-panel{padding:18px}
 .morada-public-body .estate-map-heading{align-items:flex-start;flex-direction:column;gap:12px}
 .morada-public-body .estate-map-frame{height:275px}
 .morada-public-body .estate-map-open{white-space:normal}
}


/* Conversão de visitantes da página pública do imóvel */
.morada-public-body .estate-inquiry{margin-top:23px;padding-top:24px;border-top:1px solid var(--mp-border)}
.morada-public-body .estate-inquiry h2{font:normal 26px/1.15 'DM Serif Display',Georgia,serif;margin:9px 0 11px;color:var(--mp-ink)}
.morada-public-body .estate-inquiry-intro{display:block;font-size:12px;line-height:1.75;color:#697f70;margin:0 0 16px}
.morada-public-body .estate-inquiry-description{background:#f3f7f1;border:1px solid #e1eae0;border-radius:8px;padding:13px 14px;margin:0 0 16px}
.morada-public-body .estate-inquiry-description strong{display:block;font-size:12px;color:#315844;margin-bottom:5px}
.morada-public-body .estate-inquiry-description p{display:block;font-size:12px;line-height:1.7;margin:0;color:#697e70}
.morada-public-body .estate-inquiry-whatsapp{display:flex;justify-content:center;align-items:center;gap:8px;background:#28764c;color:#fff!important;padding:13px;border-radius:6px;font-weight:800;font-size:13px;margin:0 0 20px}
.morada-public-body .estate-inquiry-whatsapp:hover{background:#1c5d39;color:#fff}
.morada-public-body .estate-inquiry-form{display:flex;flex-direction:column;gap:7px}
.morada-public-body .estate-inquiry-form label{margin:7px 0 0;font-size:11px;font-weight:800;color:#435b4c}
.morada-public-body .estate-inquiry-form label small{font-size:10px;color:#89978d;font-weight:500}
.morada-public-body .estate-inquiry-form input,.morada-public-body .estate-inquiry-form select,.morada-public-body .estate-inquiry-form textarea{font-size:12px;padding:10px 11px;border-radius:6px;width:100%}
.morada-public-body .estate-inquiry-form textarea{resize:vertical}
.morada-public-body .estate-inquiry-submit{background:#365f48;color:#fff;border:0;border-radius:6px;padding:13px 16px;margin-top:9px;display:flex;align-items:center;justify-content:space-between;font-weight:800;font-size:12px;cursor:pointer}
.morada-public-body .estate-inquiry-submit:hover{background:#294a37}
.morada-public-body .estate-inquiry-privacy{font-size:10px;line-height:1.5;color:#8b998e;margin-top:5px}
.morada-public-body .estate-inquiry-error{font-size:11px;color:#a43b35}
.morada-public-body .estate-inquiry-success{background:#e6f4ea;color:#255337;border:1px solid #b4d9bf;border-radius:6px;font-size:12px;line-height:1.6;padding:11px 12px;margin-bottom:13px}
.morada-public-body .estate-inquiry-trap{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
@media(max-width:700px){.morada-public-body .estate-inquiry{margin-top:20px}.morada-public-body .estate-inquiry h2{font-size:25px}}
