/* Página de Listagem de Imóveis */
/* Hero de Imóveis seguindo exatamente o padrão de "Nossa Estrutura" */
.ne-hero { position:relative; overflow:visible; width:100vw; max-width:100vw; margin-left: calc(50% - 50vw); min-height:370px; }
.ne-hero__bg { height:150px; background: linear-gradient(90deg, #089EF4 0%, #2E69C6 50%, #0F3553 100%); box-shadow: 0 2px 0 rgba(0,0,0,.12) inset; }
.ne-hero__underlay { height:220px; background: linear-gradient(90deg, #0F3553 0%, #2E69C6 50%, #089EF4 100%); }
.ne-hero__content { position:absolute; z-index:2; top:0; left:50%; transform:translateX(-50%); width:100%; max-width:1170px; min-height:150px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-align:center; padding:20px 24px; box-sizing:border-box; }
.ne-hero__title { margin:0 0 6px; color:#fff; font-family:'Poppins', Arial, sans-serif; font-weight:900; letter-spacing:1px; font-size:44px; text-transform:uppercase; line-height:1.1; }
.ne-hero__content-under { position:absolute; z-index:2; top:150px; left:50%; transform:translateX(-50%); width:100%; max-width:1170px; min-height:220px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; margin:0; padding:20px 24px; box-sizing:border-box; }
.ne-hero__subtitle { margin:0; color:#fff; text-align:center; font-family:'Poppins', Arial, sans-serif; font-weight:900; text-transform:uppercase; font-size:24px; letter-spacing:.5px; line-height:1.1; }
.ne-hero__copy { display:block; margin:12px auto 0; max-width:940px; color:#fff; font-size:15px; line-height:1.7; }
.ne-hero__copy p { margin:0; }

/* Responsivo do hero (evitar overflow em mobile) */
@media (max-width: 768px) {
  .ne-hero { min-height: 560px; margin-bottom: 8px; }
  .ne-hero__bg { height: 120px; }
  .ne-hero__underlay { height: 300px; }
  .ne-hero__content-under { top: 120px; padding: 16px 20px; }
  .ne-hero__title { font-size: 30px; }
  .ne-hero__subtitle { font-size: 22px; }
  .ne-hero__copy { max-width: 95%; font-size:14px; line-height:1.6; }
}

@media (max-width: 580px) {
  .ne-hero__title { font-size:28px; }
  .ne-hero__subtitle { font-size:28px; }
}
.im-list-hero { 
  background: #0b3a5a;
  background: linear-gradient(90deg,#0b3a5a 0%, #0e5c8f 42%, #147fd0 72%, #29a9ff 100%);
  color:#fff; 
  position:relative;
  overflow:visible;
}

/* Bico à direita com azul claro */
.im-list-hero::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: min(12vw, 200px);
  height: 100%;
  background: #29a9ff;
  clip-path: polygon(45% 0, 100% 0, 100% 100%, 0 100%);
}

/* Camada de brilho sutil sobre o gradiente */
.im-list-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(20,127,208,0.35) 55%, rgba(41,169,255,0.65) 100%);
  pointer-events: none;
}

.im-list-hero .container { height:86px; display:flex; align-items:center; justify-content:center; padding:0; position:relative; z-index:1; }
.im-hero-title { margin:0; text-align:center; font-family:'Poppins', Arial, sans-serif; font-weight:900; font-size:36px; letter-spacing:1px; text-transform:uppercase; }
.im-hero-bottom { height:8px; background: rgba(6,34,58,.5); }

/* Seção de Subtítulo com fundo amarelo */
.im-subtitle {
  background: #fef08a;
  background: linear-gradient(135deg, #fef08a 0%, #fde047 100%);
  padding: 24px 0;
  position: relative;
  overflow: hidden;
}

.im-subtitle::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, rgba(250,204,21,0.2) 0%, rgba(253,224,71,0.3) 50%, rgba(250,204,21,0.2) 100%);
  pointer-events: none;
}

.im-subtitle .container {
  max-width: 1400px;
  padding: 0 40px;
  position: relative;
  z-index: 1;
}

.im-subtitle-text {
  color: #1a1a1a;
  font-size: 17px;
  line-height: 1.65;
  margin: 0 0 12px 0;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.2px;
}

.im-subtitle-text:last-child {
  margin-bottom: 0;
}

@media (max-width: 768px) {
  .im-subtitle {
    padding: 20px 0;
  }
  
  .im-subtitle .container {
    padding: 0 20px;
  }
  
  .im-subtitle-text {
    font-size: 15px;
    line-height: 1.6;
  }
}

.im-list { padding:24px 0 40px; }
.im-wrap { display:grid; grid-template-columns: 300px 1fr; gap:28px; }

.im-filter { background:transparent; border-radius:0; padding:0; color:#243a4d; }
.im-filter-form { display:block; }
.im-field { margin-bottom:22px; display:flex; flex-direction:column; }
.im-field-row { display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
.im-field label { font-size:18px; color:#163b57; font-weight:800; margin-bottom:10px; }
.im-field input, .im-field select { background:#ffffff; color:#1b2d3d; border:2px solid #224b69; border-radius:4px; padding:10px 12px; font-size:16px; height:44px; box-sizing:border-box; }
.im-field input::placeholder { color:#8ca4b8; }
.im-field input:focus, .im-field select:focus { outline:none; border-color:#2e6fb1; }
.im-input-search { position:relative; display:flex; }
.im-input-search input { width:100%; padding-right:40px; }
.im-search-ico { position:absolute; right:12px; top:50%; transform:translateY(-50%); color:#224b69; font-size:18px; pointer-events:none; }

.im-input-icon { position:relative; }
.im-input-icon .im-ico { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:#7e9db6; }
.im-input-icon input { padding-left:34px; }

.im-select-icon { position:relative; }
.im-select-icon .im-ico { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:#7e9db6; }
.im-select-icon select { width:100%; padding-left:38px; appearance:none; background:#ffffff; height:44px; }
.im-select-icon .im-caret { position:absolute; right:12px; top:50%; transform:translateY(-50%); color:#224b69; pointer-events:none; }

/* Badges para campos de input (R$ e m²) */
.im-badge-left, .im-badge-right { position:relative; display:flex; align-items:center; }
.im-badge-left input, .im-badge-right input { width:100%; border:2px solid #224b69; border-radius:4px; height:44px; }
.im-badge-left .im-badge { position:absolute; left:0; top:0; height:100%; width:48px; background:#2e6fb1; color:#fff; font-weight:800; font-size:12px; display:flex; align-items:center; justify-content:center; border-right:2px solid #224b69; border-radius:4px 0 0 4px; z-index:1; }
.im-badge-left input { padding-left:60px; }
.im-badge-right .im-badge { position:absolute; right:0; top:0; height:100%; width:48px; background:#2e6fb1; color:#fff; font-weight:800; font-size:12px; display:flex; align-items:center; justify-content:center; border-left:2px solid #224b69; border-radius:0 4px 4px 0; z-index:1; }
.im-badge-right input { padding-right:60px; }

/* CTA lateral: Fale com nossos corretores */
.im-cta-side { margin-top:16px; }
.im-cta-call {
  display:flex; align-items:center; justify-content:center;
  gap:10px; width:100%; height:52px; padding:0 12px;
  background: linear-gradient(90deg,
    var(--brandBlueDark, #0e3b62) 0%,
    var(--brandBlueMid, #0c619a) 50%,
    var(--brandBlueLight, #069cf1) 100%);
  color:#ffffff; text-decoration:none; font-family:'Poppins', Arial, sans-serif; font-weight:800; letter-spacing:.4px; text-transform:uppercase; border-radius:6px;
  box-shadow:0 8px 20px rgba(14,59,98,.18); transition:transform .15s ease, filter .15s ease;
}
.im-cta-call:hover { filter:brightness(1.05); transform: translateY(-1px); }
.im-cta-call-ico { font-size:16px; }

/* Centralização e responsividade do CTA em telas menores */
@media (max-width: 1080px) {
  .im-cta-side { display:flex; justify-content:center; }
  .im-cta-call { max-width: 420px; width: 100%; }
}

@media (max-width: 1080px) {
  .im-wrap { grid-template-columns: 1fr; }
  .im-cta-side { margin: 16px auto 0; }
}

/* Desktop: reduzir porte do CTA */
@media (min-width: 1081px) {
  .im-cta-call { height: 44px; padding: 0 10px; font-size: 14px; letter-spacing: .2px; gap: 8px; width:auto; display:inline-flex; }
}

.im-submit { display:grid; grid-template-columns: 1fr 56px; gap:0; align-items:center; }
.im-btn-main {
  background: linear-gradient(90deg,
    var(--brandBlueDark, #0e3b62) 0%,
    var(--brandBlueMid, #0c619a) 50%,
    var(--brandBlueLight, #069cf1) 100%);
  color:#fff;
  font-family:'Poppins', Arial, sans-serif;
  font-weight:400;
  font-size:18px;
  letter-spacing:.4px;
  text-transform:uppercase;
  padding:0 12px;
  border:0;
  border-radius:0;
  height:48px;
  text-align:left;
  line-height:1;
}
.im-btn-icon {
  background: linear-gradient(90deg,
    var(--brandBlueDark, #0e3b62) 0%,
    var(--brandBlueMid, #0c619a) 50%,
    var(--brandBlueLight, #069cf1) 100%);
  color:#fff;
  height:48px;
  border:0;
  border-radius:0;
  font-size:18px;
  line-height:1;
  padding:0 12px;
}

.im-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:20px; align-items:start; }
.id-card { display:flex; flex-direction:column; text-decoration:none; background:#0f2d44; border-radius:6px; overflow:hidden; box-shadow:0 10px 24px rgba(0,0,0,.12); transition:transform 0.2s ease, box-shadow 0.2s ease; height:100%; }
.id-card:hover { transform:translateY(-4px); box-shadow:0 14px 32px rgba(0,0,0,.18); }
.id-thumb { background-size:cover; background-position:center; height:140px; flex-shrink:0; }
.id-info { background:rgba(8, 24, 39, 0.85); padding:12px 14px; color:#d8ecf7; flex:1; display:flex; flex-direction:column; min-height:110px; }
.id-badges { display:flex; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.id-badge { display:inline-block; padding:4px 10px; font-weight:700; font-size:0.75rem; letter-spacing:0.5px; border-radius:3px; }
.id-badge-tipo { background:#0e466e; color:#ffffff; }
.id-badge-negocio { background:#2ea1d4; color:#ffffff; }
.id-comodos { color:#8ad5ff; font-size:0.8rem; margin-bottom:6px; font-weight:600; letter-spacing:0.3px; }
.id-endereco { color:#d8ecf7; font-size:0.85rem; margin-bottom:8px; font-weight:500; }
.id-descricao { color:#d8ecf7; font-size:0.9rem; line-height:1.4; display:-webkit-box; -webkit-line-clamp:3; line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; flex:1; }

/* MOBILE: REMOVER LIMITAÇÃO DE LINHAS */
@media (max-width: 768px) {
  .id-descricao {
    -webkit-line-clamp: unset;
    line-clamp: unset;
    display: block;
    overflow: visible;
    white-space: normal;
    word-wrap: break-word;
  }
  
  /* GARANTIR QUE CARDS NÃO CORTEM TEXTO */
  .id-card {
    overflow: visible;
    height: auto;
    min-height: auto;
  }
  
  .id-info {
    min-height: auto;
    overflow: visible;
  }
  
  /* AJUSTAR ESPAÇAMENTO PARA TEXTO COMPLETO */
  .id-card {
    margin-bottom: 20px;
  }
}
.id-info .id-descricao { padding-top:8px; padding-bottom:8px; }
/* Parágrafos dentro de cada card/quadro */
.id-card p { padding-top:10px; padding-bottom:10px; }
.id-preco-wrap { display:flex; align-items:stretch; background:#2ea1d4; flex-shrink:0; margin-top:auto; }
.id-preco { flex:1; color:#ffffff; font-weight:800; font-size:1.15rem; padding:12px 14px; display:flex; align-items:center; }
.id-extras { display:flex; flex-direction:column; justify-content:center; gap:4px; padding:8px 12px; font-size:0.7rem; color:#ffffff; background:rgba(0,0,0,0.2); border-left:1px solid rgba(255,255,255,0.2); min-width:120px; }
.id-extra-item { display:block; line-height:1.3; white-space:nowrap; }
.im-pagination { grid-column: 1 / -1; margin-top:10px; }
.im-pagination .screen-reader-text { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0; }
.im-pagination ul.page-numbers { display:flex; align-items:center; justify-content:center; gap:8px; list-style:none; padding:14px 0 0; margin:0; }
.im-pagination ul.page-numbers li { display:inline-flex; }
.im-pagination .page-numbers a,
.im-pagination .page-numbers span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:42px;
  height:42px;
  padding:0 14px;
  border-radius:0;
  font-family:'Poppins', Arial, sans-serif;
  font-weight:700;
  letter-spacing:.3px;
  text-transform:uppercase;
  text-decoration:none;
  border:0;
  box-shadow:0 6px 16px rgba(14,59,98,.15);
}
.im-pagination .page-numbers a { 
  background: linear-gradient(90deg,
    var(--brandBlueDark, #0e3b62) 0%,
    var(--brandBlueMid, #0c619a) 50%,
    var(--brandBlueLight, #069cf1) 100%);
  color:#ffffff;
}
.im-pagination .page-numbers a:hover { filter:brightness(1.05); transform:translateY(-1px); }
.im-pagination .page-numbers .current {
  background:#ffffff;
  color:#0e3b62;
  border:2px solid #069cf1;
  box-shadow:0 6px 16px rgba(6,156,241,.18);
}
.im-pagination .page-numbers .dots { background:transparent; color:#0e3b62; box-shadow:none; padding:0 6px; min-width:auto; }
.im-pagination .im-page-ico { font-size:16px; line-height:1; }
.im-empty { grid-column: 1 / -1; color:#0b2741; }

/* CTA abaixo da listagem (sem background) */
.im-cta { position:relative; background:#ffffff; padding:42px 0 50px; overflow:hidden; }
.im-cta-top { display:block; height:86px; background: linear-gradient(90deg,#0b3a5a 0%, #2d7cc3 50%, #2d7cc3 70%, #0b3a5a 100%); box-shadow: 0 2px 0 rgba(0,0,0,0.05) inset; }
.im-cta-content { text-align:center; padding:86px 20px 0; }
.im-cta-title { margin:0; font-family:'Poppins', Arial, sans-serif; font-weight:900; font-size:36px; color:#f2fbff; letter-spacing:1px; text-transform:uppercase; position:absolute; top:86px; left:50%; transform:translate(-50%, -50%); width:100%; text-align:center; line-height:1; z-index:1; }
.im-cta-text { color:#123047; font-size:20px; line-height:1.8; max-width:980px; margin: 0 auto 16px; }
.im-cta-text--lead { margin: -12px auto 16px; }
.im-cta-claim { color:#2e6fb1; font-weight:900; font-size:36px; line-height:1.3; margin:28px 0 24px; }
.im-cta-form { display:flex; justify-content:center; }
.im-cta-input { display:flex; align-items:stretch; width: 720px; max-width:90%; margin:0 auto; box-sizing:border-box; }
.im-cta-input input { width:100%; height:52px; border:2px solid #224b69; border-right:none; border-radius:6px 0 0 6px; padding:0 14px; color:#1b2d3d; box-sizing:border-box; outline:none; }
.im-cta-input input::placeholder { color:#87a2ba; }
.im-cta-send { display:flex; align-items:center; justify-content:center; height:52px; width:72px; background:#2e6fb1; border:2px solid #224b69; border-left:none; color:#ffffff; border-radius:0 6px 6px 0; font-size:18px; box-sizing:border-box; }
.im-cta-diag, .im-cta-diag--left, .im-cta-diag--right { display:none; }

/* Página Individual do Imóvel */
.single-imovel { max-width:1200px; margin:40px auto; padding:0 20px; }
.titulo-imovel { font-size:32px; color:#0e3b62; margin:0 0 20px; font-weight:700; }
.imovel-meta { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:30px; padding:20px; background:#f5f8fa; border-radius:8px; }
.meta-item { padding:8px 16px; background:#ffffff; border:2px solid #2ea1d4; border-radius:6px; font-size:14px; color:#0e3b62; font-weight:600; }
.meta-item.preco { background:#2ea1d4; color:#ffffff; font-size:18px; font-weight:800; }
.imovel-conteudo { margin-top:40px; line-height:1.8; color:#333; }
.imovel-conteudo p { margin-bottom:16px; }
.imovel-media { margin:30px 0; }
.imovel-media img { width:100%; height:auto; border-radius:8px; box-shadow:0 4px 12px rgba(0,0,0,0.1); }

/* Galeria de Fotos - Página Individual */
.imovel-galeria { margin:30px 0; }
.galeria-principal { position:relative; width:100%; max-width:900px; margin:0 auto 20px; aspect-ratio:16/10; background:#f0f0f0; border-radius:8px; overflow:hidden; box-shadow:0 4px 16px rgba(0,0,0,0.15); }
.galeria-img-principal { width:100%; height:100%; object-fit:cover; display:block; }
.galeria-fullscreen { position:absolute; top:15px; right:15px; background:rgba(0,0,0,0.6); color:#fff; border:none; padding:12px 16px; border-radius:6px; cursor:pointer; font-size:18px; transition:background 0.2s; z-index:2; }
.galeria-fullscreen:hover { background:rgba(0,0,0,0.8); }
.galeria-miniaturas { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; max-width:900px; margin:0 auto; }
.galeria-miniatura { width:100px; height:70px; object-fit:cover; border-radius:6px; cursor:pointer; opacity:0.6; transition:opacity 0.2s, transform 0.2s; border:3px solid transparent; }
.galeria-miniatura:hover { opacity:1; transform:scale(1.05); }
.galeria-miniatura.ativa { opacity:1; border-color:#2ea1d4; }

/* Modal Fullscreen */
.galeria-modal { display:none; position:fixed; z-index:9999; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.95); align-items:center; justify-content:center; }
.galeria-fechar { position:absolute; top:20px; right:40px; color:#fff; font-size:50px; font-weight:300; cursor:pointer; z-index:10001; transition:color 0.2s; }
.galeria-fechar:hover { color:#2ea1d4; }
.galeria-modal-conteudo { position:relative; max-width:90%; max-height:85vh; display:flex; align-items:center; justify-content:center; }
.galeria-modal-conteudo img { max-width:100%; max-height:85vh; object-fit:contain; border-radius:8px; }
.galeria-nav { position:absolute; background:rgba(0,0,0,0.5); color:#fff; border:none; padding:20px; font-size:30px; cursor:pointer; z-index:10000; transition:background 0.2s; border-radius:6px; }
.galeria-nav:hover { background:rgba(46,161,212,0.8); }
.galeria-prev { left:-60px; }
.galeria-next { right:-60px; }
.galeria-contador { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); color:#fff; font-size:18px; background:rgba(0,0,0,0.6); padding:10px 20px; border-radius:6px; z-index:10000; }

/* Modal do Imóvel na Listagem - DESIGN MELHORADO */
.modal-imovel { 
  display:none; 
  position:fixed; 
  z-index:99999; 
  left:0; 
  top:0; 
  width:100%; 
  height:100%; 
  background:rgba(0,0,0,0.9); 
  align-items:center; 
  justify-content:center;
  backdrop-filter:blur(5px);
  animation:modalFadeIn 0.3s ease-out;
}

@keyframes modalFadeIn {
  from { opacity:0; }
  to { opacity:1; }
}

.modal-imovel-conteudo { 
  position:relative; 
  max-width:900px; 
  max-height:85vh; 
  background:#fff; 
  border-radius:12px; 
  overflow:hidden; 
  display:flex; 
  flex-direction:column;
  box-shadow:0 15px 35px rgba(0,0,0,0.3);
  animation:modalSlideIn 0.4s ease-out;
}

@keyframes modalSlideIn {
  from { transform:translateY(50px) scale(0.9); opacity:0; }
  to { transform:translateY(0) scale(1); opacity:1; }
}

@keyframes modalSlideOut {
  from { transform:translateY(0) scale(1); opacity:1; }
  to { transform:translateY(-30px) scale(0.95); opacity:0; }
}

@keyframes modalFadeOut {
  from { opacity:1; }
  to { opacity:0; }
}

.modal-fechar { 
  position:absolute; 
  top:15px; 
  right:20px; 
  color:#fff; 
  font-size:24px; 
  font-weight:300; 
  cursor:pointer; 
  z-index:100001; 
  background:rgba(0,0,0,0.6); 
  width:40px; 
  height:40px; 
  border-radius:50%; 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  transition:all 0.3s ease;
  border:1px solid rgba(255,255,255,0.2);
}

.modal-fechar:hover { 
  background:rgba(231,76,60,0.9); 
  transform:scale(1.1);
  border-color:rgba(255,255,255,0.4);
}

.modal-info { 
  padding:12px 20px; 
  background:#f8f9fa;
  color:#495057;
  border-top:1px solid #dee2e6;
  position:relative;
}

.modal-info h2 { 
  margin:0 0 8px; 
  font-size:16px; 
  font-weight:600; 
  color:#212529;
  text-align:center;
}

.modal-meta { 
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px 15px;
  font-size:11px;
  line-height:1.4;
}

.modal-meta-row {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:4px 0;
  border-bottom:1px solid #e9ecef;
}

.modal-meta-row:last-child {
  border-bottom:none;
}

.modal-meta-label {
  font-weight:500;
  color:#6c757d;
  display:flex;
  align-items:center;
  gap:4px;
  font-size:10px;
}

.modal-meta-label i {
  font-size:10px;
  color:#adb5bd;
}

.modal-meta-value {
  font-weight:600;
  color:#212529;
  font-size:11px;
}

.modal-meta-preco {
  grid-column:1 / -1;
  text-align:center;
  padding:6px;
  background:linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%);
  border-radius:6px;
  margin-top:4px;
}

.modal-meta-preco .modal-meta-value {
  font-size:16px;
  font-weight:700;
  color:#1976d2;
}

.modal-galeria { 
  position:relative; 
  width:100%; 
  height:450px;
  display:flex; 
  align-items:center; 
  justify-content:center; 
  background:linear-gradient(45deg, #000 0%, #1a1a1a 100%);
  overflow:hidden;
}

.modal-galeria img { 
  max-width:100%; 
  max-height:100%; 
  object-fit:contain;
  border-radius:0;
  transition:all 0.4s ease;
  opacity:1;
}

.modal-galeria:hover img {
  transform:scale(1.02);
}

.modal-nav { 
  position:absolute; 
  background:rgba(0,0,0,0.7); 
  color:#fff; 
  border:none; 
  padding:12px; 
  font-size:20px; 
  cursor:pointer; 
  z-index:10000; 
  transition:all 0.3s ease; 
  border-radius:50%;
  width:45px;
  height:45px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,0.2);
}

.modal-nav:hover { 
  background:rgba(46,161,212,0.8); 
  transform:scale(1.05);
  border-color:rgba(255,255,255,0.3);
  box-shadow:0 3px 10px rgba(46,161,212,0.3);
}

.modal-prev { left:20px; }
.modal-next { right:20px; }

.modal-contador { 
  padding:8px; 
  text-align:center; 
  background:linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); 
  color:#6c757d; 
  font-size:11px; 
  font-weight:500;
  border-top:1px solid rgba(0,0,0,0.08);
  position:relative;
}

.modal-contador::before {
  content:'';
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  width:40px;
  height:2px;
  background:linear-gradient(135deg, #2ea1d4 0%, #1e88e5 100%);
  border-radius:0 0 2px 2px;
}

@media (max-width: 1080px) {
  .im-wrap { grid-template-columns: 1fr; }
  .galeria-prev { left:10px; }
  .galeria-next { right:10px; }
  .modal-prev { left:15px; }
  .modal-next { right:15px; }
  .modal-imovel-conteudo { max-width:95%; }
  .modal-galeria { height:400px; }
}

@media (max-width: 920px) {
  .im-grid { grid-template-columns: repeat(2, 1fr); }
  .modal-info { padding:10px 15px; }
  .modal-info h2 { font-size:14px; }
  .modal-meta { 
    grid-template-columns:1fr;
    gap:4px;
  }
  .modal-meta-preco .modal-meta-value { font-size:14px; }
  .modal-galeria { height:350px; }
}

@media (max-width: 768px) {
  .modal-imovel-conteudo { 
    max-width:98%; 
    max-height:95vh;
    border-radius:15px;
  }
  .modal-galeria { height:320px; }
  .modal-nav { 
    width:40px; 
    height:40px; 
    font-size:18px; 
    padding:10px;
  }
  .modal-fechar { 
    width:35px; 
    height:35px; 
    font-size:20px; 
    top:12px; 
    right:15px;
  }
}

@media (max-width: 560px) {
  .im-grid { grid-template-columns: 1fr; }
  .galeria-miniatura { width:80px; height:60px; }
  .galeria-nav { padding:15px; font-size:24px; }
  
  .modal-info { 
    padding:8px 12px; 
  }
  .modal-info h2 { 
    font-size:13px; 
    margin-bottom:6px;
  }
  .modal-meta { 
    grid-template-columns:1fr;
    gap:3px;
  }
  .modal-meta-row {
    padding:3px 0;
  }
  .modal-meta-preco .modal-meta-value { 
    font-size:14px;
  }
  .modal-galeria { height:280px; }
  .modal-nav { 
    width:35px; 
    height:35px; 
    font-size:16px;
  }
  .modal-prev { left:8px; }
  .modal-next { right:8px; }
  .modal-contador { 
    padding:6px; 
    font-size:10px;
  }
}

