/* =========================
   TOKENS & TEMA
   ========================= */
:root{
  --bg:#fff; --text:#111; --muted:#666; --muted-2:#888; --light:#ccc;
  --brand:#00c37e; --brand-700:#00a46b; --dark:#111;
  --radius:12px; --shadow-sm:0 2px 8px rgba(0,0,0,.08); --shadow-md:0 6px 20px rgba(0,0,0,.12);
  --container:1200px; --space-1:.5rem; --space-2:1rem; --space-3:1.5rem; --space-4:2rem; --space-6:3rem; --space-8:4rem;
}
/* Páginas internas (fundo escuro com contraste) */
.pagina-interna{ --bg:#111; --text:#f2f2f2; --muted:#b5b5b5; --light:#9a9a9a; }

/* =========================
   RESET & BASE
   ========================= */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:Arial, sans-serif; line-height:1.6;
  background:var(--bg); color:var(--text);
  min-height:100vh; display:flex; flex-direction:column;
}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
img{max-width:100%;height:auto;display:block}
figure{margin:0}

/* Utilitários */
.img-16x9{aspect-ratio:16/9;object-fit:cover}
.img-4x3{aspect-ratio:4/3;object-fit:cover}
.img-1x1{aspect-ratio:1/1;object-fit:cover}
.img-link{display:block}

/* Wrapper para thumbs */
.thumb{aspect-ratio:4/3;overflow:hidden;border-radius:12px;background:#f2f2f2}
.thumb img{width:100%;height:100%;object-fit:cover}

.container{width:92%;max-width:var(--container);margin:0 auto}
.section{padding:var(--space-8) var(--space-2)}
.section-sm{padding:var(--space-4) var(--space-2)}
.bg-dark{background:var(--dark); --text:#f2f2f2; --muted:#b5b5b5; color:var(--text)}
.bg-light{background:#f8f9fa;color:var(--text)}
.grid-2{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{display:grid;gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-auto{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* =========================
   TIPOGRAFIA
   ========================= */
h1,h2,h3{font-weight:700;margin-bottom:var(--space-2);line-height:1.2}
h1{font-size:clamp(2rem,4vw,3rem)}
h2{font-size:clamp(1.5rem,3vw,2rem)}
h3{font-size:clamp(1.1rem,2.2vw,1.35rem)}
p{margin-bottom:var(--space-2);color:var(--text)}
.text-light{color:var(--light)}
.muted{color:var(--muted)}
ul{padding-left:1rem}

/* =========================
   HEADER / NAV
   ========================= */
.header{background:var(--dark);color:#fff;padding:var(--space-2) 0;position:sticky;top:0;z-index:1000}
.header .container{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap}
.header a>img{max-height:110px;width:auto;display:block}
.nav ul{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none}
.nav a{color:#fff;font-weight:500;transition:color .2s ease}
.nav a:hover{color:var(--brand)}
.nav a[aria-current="page"]{text-decoration:underline 0.12em}
.menu-toggle{display:none;font-size:1.5rem;background:none;border:0;color:#fff;cursor:pointer}

/* =========================
   HERO
   ========================= */
.hero{background:linear-gradient(135deg,#0c0c0c,#1a1a1a);color:#fff;padding:var(--space-8) var(--space-2);text-align:center;position:relative;overflow:hidden}
.hero .muted{display:block;margin-top:.75rem}
.hero .container{position:relative;z-index:2}
.hero-media{position:absolute;inset:0;display:block}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:brightness(.4)}

/* =========================
   CARDS
   ========================= */
.cards{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{
  background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);
  padding:var(--space-3);text-align:center;transition:transform .2s ease,box-shadow .2s ease
}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.card h3{margin:.5rem 0;color:#111}
.card p{color:#111}
.card .media{aspect-ratio:4/3;overflow:hidden;border-radius:calc(var(--radius) - 4px);margin-bottom:var(--space-2)}
.card .media img{width:100%;height:100%;object-fit:cover}
.card>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:calc(var(--radius) - 4px);display:block}
@media (max-width:520px){.card>img{aspect-ratio:4/3}}
.pagina-interna .card{background:#1a1a1a;color:var(--text)}
.pagina-interna .card p{color:var(--muted)}

/* =========================
   SOBRE
   ========================= */
.sobre-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:center}
.sobre-texto p{color:#939393;font-size:1.05rem;line-height:1.7}
.sobre-grid img{border-radius:8px}

/* =========================
   BOTÕES
   ========================= */
.btn{
  display:inline-block;padding:.75rem 1.25rem;font-weight:700;text-align:center;border:0;cursor:pointer;
  border-radius:10px;transition:transform .15s ease,box-shadow .15s ease,background-color .2s ease
}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.btn:active{transform:translateY(0);box-shadow:none}
.btn-green{background:var(--brand);color:#fff}
.btn-green:hover{background:var(--brand-700)}
.btn-black{background:#000;color:#fff}
.btn-black:hover{background:#222}
.btn-outline{background:transparent;border:2px solid var(--brand);color:var(--brand)}
.btn-outline:hover{background:var(--brand);color:#fff}

/* =========================
   FORMULÁRIOS
   ========================= */
form{display:grid;gap:var(--space-2)}
.campo-form{display:flex;flex-direction:column;gap:.4rem}
.campo-form label{font-weight:600;color:#333}
input,select,textarea{
  width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid #e9ecef;border-radius:8px;background:#fff;color:var(--text);
  transition:border-color .2s ease,box-shadow .2s ease
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,195,126,.15)}
input::placeholder,textarea::placeholder{color:#9aa0a6}
input[type="file"]{background:#fff;color:#000;border:0}
/* Internas (dark) */
.pagina-interna input,.pagina-interna select,.pagina-interna textarea{background:#1a1a1a;color:#eaeaea;border-color:#2a2a2a}
.pagina-interna input::placeholder,.pagina-interna textarea::placeholder{color:#8c8c8c}
/* Blocos padrão */
.trabalhe-conosco,.simulacao,.contato{max-width:800px;margin:0 auto;padding:var(--space-4) var(--space-2)}
.titulo-pagina{text-align:center;font-size:2rem;margin-bottom:var(--space-3)}
.bloco-descricao{font-size:1.05rem;margin-bottom:var(--space-3);text-align:justify}

/* =========================
   SIMULADOR (escopo local)
   ========================= */
.hero-simulacao{background:linear-gradient(135deg,#2c5aa0 0%,#1e3a5f 100%);color:#fff;text-align:center;padding:4rem 0}
.hero-simulacao h1{font-size:2.5rem;margin-bottom:1rem}
.hero-simulacao p{font-size:1.2rem;opacity:.9}
.simulador-container{max-width:800px;margin:0 auto;background:#fff;border-radius:15px;box-shadow:0 10px 30px rgba(0,0,0,.1);overflow:hidden}
.etapas-simulador{display:flex;background:#f8f9fa;border-bottom:1px solid #e9ecef}
.etapa{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem;cursor:pointer;transition:.3s ease;border-right:1px solid #e9ecef}
.etapa:last-child{border-right:0}
.etapa.ativa{background:#2c5aa0;color:#fff}
.etapa .numero{width:30px;height:30px;border-radius:50%;background:#dee2e6;color:#495057;display:flex;align-items:center;justify-content:center;font-weight:700;margin-right:.5rem;transition:.3s}
.etapa.ativa .numero{background:#fff;color:#2c5aa0}
.etapa .titulo{font-weight:500}
.formulario-simulacao{padding:2rem}
.etapa-conteudo{display:none}
.etapa-conteudo.ativa{display:block}
.etapa-conteudo h2{color:#2c5aa0;margin-bottom:.5rem}
.subtitulo{color:#6c757d;margin-bottom:2rem}
.campo-grupo{margin-bottom:1.5rem}
.campo-grupo label{display:block;font-weight:600;margin-bottom:.5rem;color:#495057}
.campo-grupo input,.campo-grupo select{width:100%;padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:border-color .3s ease}
.campo-grupo input:focus,.campo-grupo select:focus{outline:0;border-color:#2c5aa0;box-shadow:0 0 0 3px rgba(44,90,160,.1)}
.campo-grupo small{display:block;color:#6c757d;font-size:.875rem;margin-top:.25rem}
.botoes-navegacao{display:flex;gap:1rem;margin-top:2rem}
/* Outline do simulador (sem interferir no global) */
.simulador-container .btn-outline{background:transparent;border:2px solid #2c5aa0;color:#2c5aa0}
.simulador-container .btn-outline:hover{background:#2c5aa0;color:#fff}
.resultado-container{background:#f8f9fa;border-radius:10px;padding:2rem;margin:1rem 0}
.resultado-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid #e9ecef}
.resultado-item:last-child{border-bottom:0}
.resultado-label{font-weight:600;color:#495057}
.resultado-valor{font-size:1.1rem;font-weight:700;color:#2c5aa0}
.info-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem}
.info-card{background:#fff;padding:1.5rem;border-radius:10px;box-shadow:0 5px 15px rgba(0,0,0,.1);transition:transform .3s}
.info-card:hover{transform:translateY(-5px)}
.info-card h3{color:#2c5aa0;margin-bottom:1rem}
/* Internas (dark) */
.pagina-interna .simulador-container{background:#151515}
.pagina-interna .info-card{background:#151515;color:var(--text)}
.pagina-interna .bg-light{background:#0f0f0f;color:var(--text)}
.pagina-interna .resultado-container{background:#141414;color:var(--text)}

/* =========================
   CARROSSEL OBRAS & CLIENTES
   ========================= */
.titulo-area{margin-bottom:1rem}
.titulo-area p{color:#8a8a8a}
.carrossel-wrapper{position:relative;margin-top:1.5rem}
.carrossel-container{position:relative;overflow:hidden;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.10);background:#0f0f0f}
.carrossel-track{display:flex;gap:20px;transition:transform .3s ease;padding:20px}
.carrossel-item{flex:0 0 calc(33.333% - 14px);background:#111;border-radius:10px;overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,.12);transition:transform .25s ease,box-shadow .25s ease}
.carrossel-item:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.18)}
.carrossel-item img{width:100%;height:200px;object-fit:cover;display:block}
.carrossel-info{padding:1rem 1rem 1.2rem}
.carrossel-info h3{font-size:1.05rem;margin:0 0 .5rem;color:#fff}
.tipo-obra{display:inline-block;padding:.25rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}
.tipo-obra.publica{background:linear-gradient(135deg,#4CAF50,#45a049);color:#fff}
.tipo-obra.privada{background:linear-gradient(135deg,#2196F3,#1976D2);color:#fff}
.carrossel-btn{
  position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;
  background:rgba(255,255,255,.9);color:#222;font-size:1.35rem;cursor:pointer;
  box-shadow:0 5px 15px rgba(0,0,0,.12);transition:transform .2s ease,box-shadow .2s ease,background .2s ease;z-index:2
}
.carrossel-btn:hover{transform:translateY(-50%) scale(1.07);box-shadow:0 8px 24px rgba(0,0,0,.18);background:#fff}
.carrossel-btn.prev{left:12px}
.carrossel-btn.next{right:12px}

/* =========================
   NOTÍCIAS
   ========================= */
.noticia-grid{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2rem}
.noticia-texto{flex:1;min-width:280px}
.rss-placeholder{flex:1;min-width:280px;background:#111;padding:1rem;border-radius:10px}
.noticia-grid .muted{margin:0}

/* =========================
   EMPREENDIMENTOS (cards)
   ========================= */
.empreendimentos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem}
.empreendimento-card{background:#111;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.18);transition:transform .2s ease,box-shadow .2s ease}
.empreendimento-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.22)}
.empreendimento-card img{width:100%;height:200px;object-fit:cover;display:block}
.empreendimento-info{padding:1rem}
.empreendimento-info h3{margin:0 0 .4rem}
.empreendimento-info p{color:#cfcfcf}
.empreendimento-detalhes{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0 1rem}
.badge{display:inline-block;padding:.35rem .7rem;border-radius:999px;font-size:.8rem;font-weight:600}
.badge.valor{background:#0f5132;color:#d1f7e5}
.badge.medidas{background:#1b1b1b;color:#dcdcdc;border:1px solid #2a2a2a}
.badge.tipo{color:#fff}
.badge.tipo.venda{background:linear-gradient(135deg,#4CAF50,#2e7d32)}
.badge.tipo.aluguel{background:linear-gradient(135deg,#2196F3,#1565c0)}
.endereco{color:#9a9a9a;font-size:.92rem;margin:.25rem 0 1rem;display:flex;align-items:center;gap:.4rem}
.endereco::before{content:"📍";font-size:.85rem}

/* =========================
   CONTATO
   ========================= */
.contato-lista{list-style:none;padding:0;margin:0 0 1rem}
.contato-lista li{margin:.35rem 0;color:#cfcfcf}
.formulario-contato .campo-form + .campo-form{margin-top:1rem}

/* =========================
   404
   ========================= */
.erro404{max-width:760px;margin:0 auto;text-align:center}
.erro404 h1{font-size:2.25rem;margin:0 0 .5rem}
.erro404-acoes{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin:1rem 0 1.25rem}
.erro404-links ul{list-style:none;padding:0;margin:.5rem 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem}
.erro404-links a{color:#e5e5e5}
.erro404-links a:hover{text-decoration:underline}

/* =========================
   RODAPÉ
   ========================= */
main{flex:1 0 auto}
footer,.footer{
  display:block;background:var(--dark);
  --text:#fff; color:#fff;
  text-align:center;padding:var(--space-4) var(--space-2);font-size:.95rem
}
footer :where(p,li,small,span){color:inherit}
footer a,.footer a{color:var(--brand);text-decoration:none}
footer a:hover,.footer a:hover{text-decoration:underline}
footer.fade,.footer.fade{opacity:1;transform:none}

/* =========================
   ANIMAÇÕES
   ========================= */
.fade{opacity:1;transform:none}
.fade-in{opacity:0;transform:translateY(12px);animation:fadeIn .6s ease-out forwards}
@keyframes fadeIn{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.fade-in{animation:none;opacity:1;transform:none}}

/* =========================
   HOVER PADRÃO EM IMAGENS
   (exclui HERO e desativa por página quando necessário)
   ========================= */
img{
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
  will-change:transform;backface-visibility:hidden;transform-origin:center center;
}
img:hover{
  transform:translate3d(0,-6px,0) scale(1.02);
  box-shadow:0 16px 30px -12px rgba(0,0,0,.45);
  filter:saturate(1.05) contrast(1.03);
}
a:focus-visible img{
  transform:translate3d(0,-6px,0) scale(1.02);
  box-shadow:0 16px 30px -12px rgba(0,0,0,.45);
  outline:2px solid currentColor;outline-offset:2px;
}
/* Não aplicar no HERO (mantém LCP estável) */
.hero-media img,
.hero-media img:hover,
.hero picture img,
.hero img{transition:none !important;transform:none !important;box-shadow:none !important;filter:none !important}
/* Respeita redução de movimento */
@media (prefers-reduced-motion:reduce){
  img{transition:none !important}
  img:hover,a:focus-visible img{transform:none !important;box-shadow:none !important;filter:none !important}
}

/* =========================
   BREAKPOINTS
   ========================= */
@media (max-width:992px){.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}
@media (max-width:900px){.carrossel-item{flex:0 0 calc(50% - 10px)}}
@media (max-width:520px){
  .carrossel-item{flex:0 0 calc(100% - 20px)}
  .carrossel-item img{height:180px}
  .empreendimento-card img{height:180px}
  .erro404 h1{font-size:1.8rem}
}
@media (max-width:768px){
  .header .container{flex-direction:column;align-items:flex-start;gap:var(--space-2)}
  .menu-toggle{display:block;position:absolute;top:1rem;right:1rem}
  .nav ul{flex-direction:column;width:100%;margin-top:var(--space-2);display:none}
  .nav.open ul{display:flex}
  .sobre-grid{grid-template-columns:1fr;text-align:center}
}

/* =========================
   EMPREENDIMENTO — genérico
   (página interna de um empreendimento)
   ========================= */

/* Títulos genéricos da página de empreendimento */
.pagina-interna.empreendimento .titulo-empreendimento{
  font-size:clamp(2rem,4vw,3rem);
  font-weight:700;
  line-height:1.15;
  margin:0;
}
.pagina-interna.empreendimento .subtitulo-empreendimento{
  color:var(--muted);
  margin-top:.5rem;
}
.pagina-interna.empreendimento .bloco-titulo{
  font-size:clamp(1.5rem,3vw,2rem);
  font-weight:700;
  line-height:1.2;
  margin-bottom:var(--space-2);
}

/* Slider/Galeria (base CSS; JS faz enhancement)
   — compatível com radios (cvmsN/sN) e com JS que move o trilho */
.pagina-interna.empreendimento .slider{
  position:relative;
  max-width:1280px;
  margin:0 auto;
  overflow:hidden;
  border-radius:12px;
}
.pagina-interna.empreendimento .slider input{display:none}

/* trilho flex (1 slide = 100% da largura do slider) */
.pagina-interna.empreendimento .slides{
  display:flex;
  width:100%;
  will-change:transform;
  transition:transform .5s ease;
}
.pagina-interna.empreendimento .slide{
  flex:0 0 100%;
  box-sizing:border-box;
}

/* imagens da galeria — sem distorcer, com corte lateral permitido */
.pagina-interna.empreendimento .slide picture,
.pagina-interna.empreendimento .slide img{
  width:100%;
  height:clamp(200px, 50vh, 700px);
  object-fit:cover;
  border-radius:var(--radius);
  background:#0e0e0e;
}

/* Regras de radios (compatibilidade) */
#cvms1:checked ~ .slides, #s1:checked ~ .slides{transform:translateX(0%)}
#cvms2:checked ~ .slides, #s2:checked ~ .slides{transform:translateX(-100%)}
#cvms3:checked ~ .slides, #s3:checked ~ .slides{transform:translateX(-200%)}
#cvms4:checked ~ .slides, #s4:checked ~ .slides{transform:translateX(-300%)}

/* Setas — estrutura antiga (.nav-arrows > .arrow-set.sN) */
.pagina-interna.empreendimento .nav-arrows{pointer-events:none}
.pagina-interna.empreendimento .arrow-set{
  position:absolute;inset:0;display:none;align-items:center;justify-content:space-between;padding:0 8px;
}
#cvms1:checked ~ .nav-arrows .s1,
#cvms2:checked ~ .nav-arrows .s2,
#cvms3:checked ~ .nav-arrows .s3,
#cvms4:checked ~ .nav-arrows .s4{display:flex}
.pagina-interna.empreendimento .arrow-set .prev,
.pagina-interna.empreendimento .arrow-set .next{
  pointer-events:all;cursor:pointer;font-size:2rem;line-height:1;width:42px;height:42px;display:grid;place-items:center;
  color:#fff;background:rgba(0,0,0,.45);border-radius:50%;user-select:none;transition:opacity .2s ease;
}
.pagina-interna.empreendimento .arrow-set .prev:hover,
.pagina-interna.empreendimento .arrow-set .next:hover{opacity:.85}

/* Setas — estrutura atual (.navegacao > .seta) */
.pagina-interna.empreendimento .navegacao{
  pointer-events:none;position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:0 8px;
}
.pagina-interna.empreendimento .navegacao .seta{
  pointer-events:all;cursor:pointer;font-size:2rem;line-height:1;width:42px;height:42px;display:grid;place-items:center;
  color:#fff;background:rgba(0,0,0,.45);border-radius:50%;user-select:none;transition:opacity .2s ease;
}
.pagina-interna.empreendimento .navegacao .seta:hover{opacity:.85}

/* Dots — compat para <label> e suporte a <button.dot> com .ativo (JS) */
.pagina-interna.empreendimento .nav-dots{
  position:absolute;bottom:10px;left:0;right:0;display:flex;gap:8px;justify-content:center;align-items:center;
}
.pagina-interna.empreendimento .nav-dots label,
.pagina-interna.empreendimento .nav-dots .dot{
  width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,.55);
  cursor:pointer;border:0;display:inline-block;transition:transform .2s ease,background .2s ease;
}
.pagina-interna.empreendimento .nav-dots label:hover,
.pagina-interna.empreendimento .nav-dots .dot:hover{transform:scale(1.1)}
.pagina-interna.empreendimento .nav-dots .dot.ativo{background:#fff}
#cvms1:checked ~ .nav-dots label[for="cvms1"],
#cvms2:checked ~ .nav-dots label[for="cvms2"],
#cvms3:checked ~ .nav-dots label[for="cvms3"],
#cvms4:checked ~ .nav-dots label[for="cvms4"],
#s1:checked   ~ .nav-dots label[for="s1"],
#s2:checked   ~ .nav-dots label[for="s2"],
#s3:checked   ~ .nav-dots label[for="s3"],
#s4:checked   ~ .nav-dots label[for="s4"]{background:#fff}

/* Remover hover/flutuar nas imagens SOMENTE nesta página (evita instabilidade do LCP) */
.pagina-interna.empreendimento picture img,
.pagina-interna.empreendimento .slide img,
.pagina-interna.empreendimento .hero img{
  transform:none !important;transition:none !important;box-shadow:none !important;filter:none !important;
}

/* Helpers de mídia opcionais */
.pagina-interna.empreendimento .media-200 img{
  width:100%;
  height:clamp(160px, 32vh, 200px);
  object-fit:cover;
  border-radius:var(--radius);
  background:#0e0e0e;
}
.pagina-interna.empreendimento .media-250 img{
  width:100%;
  height:clamp(200px, 40vh, 250px);
  object-fit:cover;
  border-radius:var(--radius);
  background:#0e0e0e;
}

/* =========================
   GALERIA DE DETALHES — 590×420 máx (responsivo)
   ========================= */
.pagina-interna.empreendimento .galeria-detalhes{
  width:100%;
  max-width:590px;            /* largura máxima no desktop */
  margin:0 auto;
  border-radius:12px;
  overflow:hidden;
}
.pagina-interna.empreendimento .galeria-detalhes .slides{
  height:auto;                /* altura controlada pelo slide */
}
.pagina-interna.empreendimento .galeria-detalhes .slide{
  aspect-ratio:1/1;           /* torna o slide quadrado */
  min-height:200px;           /* mínimo solicitado */
  max-height:420px;           /* máximo solicitado */
}
.pagina-interna.empreendimento .galeria-detalhes .slide picture,
.pagina-interna.empreendimento .galeria-detalhes .slide img{
  width:100%;
  height:100%;
  max-width:590px;
  max-height:420px;
  object-fit:cover;           /* pode cortar bordas, sem distorcer */
  display:block;
  border-radius:12px;
}

/* Em telas menores o bloco encolhe naturalmente (mantém 1:1) */
@media (max-width:999px){
  .pagina-interna.empreendimento .galeria-detalhes{
    max-width:92vw;
  }
  .pagina-interna.empreendimento .galeria-detalhes .slide{
    max-height:min(92vw,420px);
  }
}

/* Responsivo (setas) */
@media (max-width:768px){
  .pagina-interna.empreendimento .navegacao .seta,
  .pagina-interna.empreendimento .arrow-set .prev,
  .pagina-interna.empreendimento .arrow-set .next{width:38px;height:38px;font-size:1.6rem}
}
