@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;1,400&display=swap');:root{--black:#141414;--gold:#c99b49;--cream:#f8f6f1;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:#262626;font-family:'DM Sans',Arial,sans-serif}button,select{font:inherit}a{text-decoration:none;color:inherit}.header{position:absolute;z-index:5;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:17px 5%;color:white;background:linear-gradient(#090909bb,#09090900)}.brand img{width:185px;height:145px;object-fit:contain;filter:none;display:block}nav{display:flex;gap:32px;align-items:center}nav a{font-size:14px;transition:color .2s}nav a:hover,.header-phone:hover{color:var(--gold)}.header-phone{font-size:14px;color:#e5bd75}.menu-toggle{display:none}.hero{min-height:750px;position:relative;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(90deg,#080b0fdc 0%,#0d101385 46%,#0d101314 100%),linear-gradient(0deg,#0a0a0ae0,transparent 40%),url('https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=85') center/cover;color:#fff}.hero-content{width:min(1240px,90%);margin:0 auto 78px}.eyebrow{font-size:12px;letter-spacing:5px;color:#e4e0d9;font-weight:600}.eyebrow.gold{color:var(--gold);letter-spacing:3px}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:clamp(44px,5.3vw,85px);line-height:1.12;margin:22px 0}h1 em,h2 em{color:#e0b76d;font-weight:400}.gold-line{width:85px;height:3px;background:var(--gold);margin:28px 0}.hero-content p{font-size:19px;max-width:540px;line-height:1.65;color:#e8e8e8}.search-wrap{width:min(1300px,94%);margin:0 auto -35px;z-index:2}.search-bar{padding:15px;display:grid;grid-template-columns:1fr 1fr 1fr 1.2fr auto;gap:8px;background:#181818;border:1px solid #947039;border-radius:12px;box-shadow:0 15px 40px #0006}.search-bar label{background:#fff;color:#777;padding:8px 14px;border-radius:5px;font-size:11px;display:flex;flex-direction:column;gap:4px}.search-bar select{border:0;background:#fff;outline:0;color:#222;width:100%;font-size:14px;cursor:pointer}.search-bar button{background:linear-gradient(135deg,#b88435,#e4b45f);color:white;border:0;border-radius:6px;padding:0 25px;cursor:pointer;font-weight:600}.values{padding:85px 5% 40px;background:#171717;color:#fff;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.values>div{display:grid;grid-template-columns:50px 1fr;align-items:center;gap:3px 10px;border-right:1px solid #454545}.values>div:last-child{border:0}.values span{grid-row:span 2;font-size:35px;color:var(--gold)}.values strong{font-size:14px;font-weight:500}.values small{font-size:12px;color:#aaa}.section{padding:110px max(5%,calc((100% - 1240px)/2));scroll-margin-top:50px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px}.section h2{font-size:clamp(35px,4vw,58px);margin:13px 0 18px;line-height:1.2}.section p{color:#777;line-height:1.8}.section h2 em{color:#b98939}.clear{border:1px solid #c6bba7;background:transparent;padding:12px 16px;cursor:pointer}.count{font-size:13px;margin:25px 0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.property{background:#fff;box-shadow:0 7px 28px #0000000c;overflow:hidden;cursor:pointer;transition:transform .2s}.property:hover{transform:translateY(-4px)}.property .photo{height:235px;background-position:center;background-size:cover;position:relative}.tag{position:absolute;top:16px;left:16px;background:#181818d9;color:#e5b86a;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:1px}.property .info{padding:22px}.property h3{font-size:19px;margin:8px 0 12px;font-weight:500}.property .price{color:#a7782c;font-size:23px;font-weight:600}.property .meta{font-size:13px;color:#777;margin-top:15px}.property .place{font-size:12px;color:#999}.demo-note{font-size:12px;margin-top:25px}.about{background:#171717;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.about-image{height:460px;background:url('https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=1200&q=85') center/cover}.about p{color:#bcbcbc}.outline{display:inline-block;border:1px solid var(--gold);color:var(--gold);padding:13px 24px;margin-top:18px}.team{text-align:center}.agents{display:flex;justify-content:center;gap:25px;margin-top:40px}.agents article{background:#fff;padding:40px;min-width:280px;box-shadow:0 8px 25px #0000000b}.avatar{margin:auto;width:95px;height:95px;border-radius:50%;background:#1b1b1b;color:var(--gold);display:grid;place-items:center;font:32px Georgia}.agents h3{margin:20px 0 0}.agents p{font-size:13px}.agents a{color:#a7782c;font-weight:600}.contact{background:#222;color:white;display:grid;grid-template-columns:1.2fr 1fr;gap:50px}.contact p{color:#c6c6c6}.contact-details{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.contact-details a:not(.outline){font-size:20px}.contact-details small{color:#aaa;font-size:11px;margin-top:-10px}.contact-details p{margin:10px 0}footer{background:#0e0e0e;color:#d6d6d6;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:25px 5%;font-size:13px}footer img{width:190px;height:150px;object-fit:contain;display:block;}footer small{color:#777}dialog{border:0;padding:0;max-width:800px;width:92%;max-height:90vh;overflow:auto;box-shadow:0 25px 90px #0008}dialog::backdrop{background:#000b}.close{position:sticky;top:12px;float:right;margin:12px 12px -50px 0;z-index:2;border:0;border-radius:50%;width:38px;height:38px;font-size:25px;cursor:pointer;background:#fff}#detail-content{padding-bottom:28px}#detail-content img{width:100%;height:330px;object-fit:cover}#detail-content .inner{padding:0 30px}#detail-content h2{font:38px Georgia;margin-bottom:10px}#detail-content .agents-mini{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}#detail-content .agents-mini a{background:#1a1a1a;color:#d8aa5c;padding:12px 18px;font-size:13px}.empty{grid-column:1/-1;padding:40px;background:#fff;text-align:center;color:#666}@media(max-width:900px){.header{padding:8px 5%}.brand img{width:125px;height:100px}.menu-toggle{display:block;background:none;border:0;color:white;font-size:27px;cursor:pointer}nav{display:none;position:absolute;top:85px;left:0;width:100%;background:#151515;padding:22px;flex-direction:column;gap:23px}nav.open{display:flex}.header-phone{margin-left:auto;margin-right:20px;font-size:12px}.hero{min-height:730px}.hero-content{margin-bottom:130px}.search-bar{grid-template-columns:repeat(2,1fr)}.search-bar button{min-height:48px;grid-column:1/-1}.values{grid-template-columns:repeat(2,1fr);padding-top:125px}.cards{grid-template-columns:repeat(2,1fr)}.about{gap:25px}}@media(max-width:620px){.header-phone{display:none}.hero{min-height:790px;background-position:58% center}.hero-content{margin-bottom:235px}.hero-content p{font-size:15px}.eyebrow{letter-spacing:3px}.search-wrap{margin-bottom:-120px}.search-bar{padding:10px;gap:7px}.search-bar label{padding:7px;font-size:10px}.search-bar select{font-size:12px}.values{padding-top:170px;grid-template-columns:1fr 1fr;gap:25px 12px}.values>div{grid-template-columns:1fr;border:0}.values span{grid-row:auto}.values strong{font-size:12px}.values small{font-size:10px}.section{padding:70px 5%}.section-top{align-items:start;flex-direction:column}.cards{grid-template-columns:1fr}.about,.contact{grid-template-columns:1fr}.about-image{height:280px}.agents{flex-direction:column}.agents article{min-width:0}footer{flex-direction:column;text-align:center}.contact-details a:not(.outline){font-size:17px}}

@media(max-width:620px){footer img{width:160px;height:125px}}

/* Identidade CR: logótipo recortado, sem caixa e com dimensões proporcionais */
.header .brand{display:flex;align-items:center;flex-shrink:0}
.header .brand img{width:190px;height:auto;max-height:150px;object-fit:contain;display:block}
footer img{width:205px;height:auto;max-height:165px;object-fit:contain;display:block}
@media(max-width:900px){.header .brand img{width:142px;height:auto;max-height:115px}}
@media(max-width:620px){.header .brand img{width:128px;height:auto;max-height:104px}footer img{width:190px;height:auto;max-height:155px}}

/* Rodapé dourado — Imobiliária CR */
footer, footer a, footer small { color:#c99b49; }
footer a:hover { color:#f0cc83; }
footer .cf-credit { display:inline-block; margin-top:9px; font-size:12px; color:#c99b49; text-decoration:none; }

/* Galeria de fotografias do imóvel */
.detail-gallery>img{width:100%;height:min(55vh,520px);object-fit:contain;background:#161616;display:block}.detail-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:12px;background:#f4f1ec;max-height:260px;overflow:auto}.detail-thumbs button{padding:0;border:0;cursor:pointer;background:transparent;aspect-ratio:4/3}.detail-thumbs img{width:100%;height:100%;object-fit:cover}.detail-thumbs button:focus-visible{outline:3px solid #b78b45}@media(max-width:600px){.detail-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Galeria: deslize nativo no telemóvel e setas no computador */
#detail{width:min(1120px,96vw);max-width:1120px;max-height:94dvh}
.detail-gallery{position:relative;background:#161616}
.photo-slider{display:flex;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x pan-y}
.photo-slider::-webkit-scrollbar{display:none}
.photo-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;height:min(72vh,720px);display:flex;align-items:center;justify-content:center}
#detail-content .photo-slide img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);border:0;border-radius:50%;background:#111b;color:white;width:48px;height:48px;font-size:25px;cursor:pointer;z-index:1}
.gallery-prev{left:14px}.gallery-next{right:14px}
.gallery-counter{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:#111b;color:#fff;border-radius:18px;padding:5px 13px;font-size:13px;pointer-events:none}
@media(max-width:620px){#detail{width:100vw;max-width:100vw;max-height:100dvh;margin:0 auto}.photo-slide{height:min(65dvh,540px)}.gallery-arrow{width:35px;height:35px;font-size:18px;background:#1118}.gallery-prev{left:7px}.gallery-next{right:7px}#detail-content .inner{padding:0 18px}}

/* Contactos dos consultores nas fichas dos imóveis */
#detail-content .agents-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}
#detail-content .agent-contact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:#f8f6f1;border:1px solid #e8e1d6;border-radius:8px}
#detail-content .agent-contact-name{font-weight:600;font-size:15px;color:#262626}
#detail-content .agent-actions{display:flex;gap:9px;flex-shrink:0}
#detail-content .agents-mini .agent-actions a{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #c99b49;border-radius:50%;background:white;color:#9e752e;transition:background .2s,color .2s}
#detail-content .agents-mini .agent-actions a:hover{background:#c99b49;color:#fff}
#detail-content .agent-actions svg{width:20px;height:20px}
@media(max-width:620px){#detail-content .agents-mini{grid-template-columns:1fr}#detail-content .agent-contact{padding:12px 14px}}

/* Limpar filtros compacto, integrado na pesquisa */
.search-bar{grid-template-columns:1fr 1fr 1fr 1.2fr auto auto;align-items:stretch}
.search-bar .clear-search{background:transparent;color:#d9c3a0;border:0;border-radius:5px;padding:0 9px;font-size:11px;font-weight:500;white-space:nowrap;box-shadow:none;cursor:pointer}
.search-bar .clear-search:hover{color:#fff;text-decoration:underline}
@media(max-width:900px){.search-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.search-bar button[type=submit]{grid-column:1/-1}.search-bar .clear-search{grid-column:1/-1;min-height:25px;padding:2px 6px;justify-self:center}}

/* Ajuste final: rodapé alinhado ao centro no PC e logo mais discreto */
@media(min-width:621px){footer{position:relative;justify-content:center;text-align:center;min-height:115px;padding:22px 5%}footer img{position:absolute;left:5%;top:50%;transform:translateY(-50%);width:105px;height:auto;max-height:85px}footer>div{text-align:center}}
@media(max-width:620px){footer img{width:115px;height:auto;max-height:95px}}

/* Página própria para catálogo e destaques na página inicial */
.view-all-wrap{text-align:center;margin-top:38px}.view-all{display:inline-block;border:1px solid #b98939;color:#8f6429;padding:13px 25px;font-weight:600;font-size:13px}.view-all:hover{background:#b98939;color:white}
.listing-page{background:#f8f6f1}.listing-banner{padding:185px 5% 90px;text-align:center;background:#171717;color:white}.listing-banner h1{font-size:clamp(44px,5vw,72px);margin:15px 0}.listing-banner p{color:#ccc}.listing-filters{padding:0 5%;margin-top:-33px;position:relative;z-index:2}.listing-filters .search-wrap{margin:0 auto}.listing-page .listings{padding-top:95px}.listing-page .search-bar{box-shadow:0 15px 40px #0003}
/* Telefone branco em todas as dimensões, incluindo mobile */
.header-phone,.header-phone:visited,.contact-details a[href^="tel:"],.contact-details a[href^="tel:"]:visited{color:#fff}
/* Remover setas decorativas de botões e links (preservar apenas galeria) */
a.outline::after,button:not(.gallery-arrow)::after,.view-all::after{content:none!important}
@media(max-width:620px){.listing-banner{padding:155px 5% 75px}.listing-filters{margin-top:-20px}.listing-page .listings{padding-top:75px}.header-phone{display:inline-block;margin-right:12px;font-size:11px}}

/* Cabeçalho limpo e menu à direita no mobile */
.header .menu-toggle{margin-left:auto;flex-shrink:0}
.header nav{margin-left:auto}
@media(max-width:900px){.header .menu-toggle{margin-left:auto;order:2}.header nav{margin-left:0;order:3}}
.contact-details a[href^="tel:"]{display:inline-flex;align-items:center;gap:9px;color:#fff!important}
.contact-phone-icon{width:20px;height:20px;flex:none;stroke:#fff!important}

/* Fotografias da equipa: retratos uniformes */
.agents .avatar-photo{display:block;width:120px;height:120px;aspect-ratio:1/1;object-fit:cover;object-position:center 25%;border-radius:50%;margin:0 auto 20px;background:#eee;border:3px solid #d6b778;}

/* Grelha de características dos imóveis: apenas dados confirmados */
#detail-content .property-features{margin:25px 0 26px;padding:24px 22px;border:1px solid #e8e1d6;border-radius:12px;background:#faf8f4}
#detail-content .property-features>h3{margin:0 0 20px;font-size:17px;font-weight:600;color:#242424}
#detail-content .property-features-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}
#detail-content .property-feature{display:flex;align-items:center;flex-direction:column;justify-content:flex-start;gap:5px;text-align:center;min-width:0}
#detail-content .property-feature-icon{display:grid;place-items:center;width:39px;height:39px;color:#ae843e}
#detail-content .property-feature-icon svg{width:28px;height:28px}
#detail-content .property-feature-value{font-size:14px;line-height:1.3;font-weight:650;color:#292929;overflow-wrap:anywhere}
#detail-content .property-feature-label{font-size:11px;line-height:1.35;color:#756d62}
#detail-content .property-description-heading{font-size:18px;margin:18px 0 10px;color:#242424}
@media(min-width:760px){#detail-content .property-features-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:420px){#detail-content .property-features{padding:20px 12px}.property-feature-value{font-size:13px}}
