/* =====================================================
   Gabriela Alves | Corretora de Imóveis — Estilos v3.0
   Ícones: Lucide via CDN (substituídos emojis por SVG icons)
   ===================================================== */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Jost:wght@300;400;500;600&display=swap');

:root {
  --terra:      #603a23;
  --terra-dark: #452a18;
  --terra-lite: #8a5c3f;
  --areia:      #c9a987;
  --creme:      #f5ede4;
  --creme-dark: #ede0d4;
  --branco:     #faf7f4;
  --texto:      #2c1e15;
  --muted:      #7a6358;
  --sombra:     rgba(96,58,35,.12);
  --radius:     14px;
  --transition: .25s cubic-bezier(.4,0,.2,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: var(--branco); color: var(--texto); font-family: 'Jost', sans-serif; font-weight: 400; line-height: 1.6; }

h1, h2, h3, h4, h5, .serif { font-family: 'Cormorant Garamond', Georgia, serif; font-weight: 500; line-height: 1.2; }

/* NAVBAR */
.navbar { background: var(--terra) !important; padding: 0 1.5rem; min-height: 68px; box-shadow: 0 2px 20px var(--sombra); }
.navbar-brand img { height: 42px; border-radius: 50%; object-fit: cover; }
.navbar-brand span { font-family: 'Cormorant Garamond', serif; font-size: 1.25rem; font-weight: 500; color: #fff; letter-spacing: .05em; }
.nav-link { color: rgba(255,255,255,.85) !important; font-size: .88rem; letter-spacing: .08em; text-transform: uppercase; padding: .5rem 1rem !important; transition: color var(--transition); }
.nav-link:hover, .nav-link.active { color: var(--areia) !important; }
.navbar-toggler { border-color: rgba(255,255,255,.4); }
.navbar-toggler-icon { filter: invert(1); }

/* HERO */
.hero { position: relative; min-height: 580px; background: linear-gradient(135deg, var(--terra-dark) 0%, var(--terra) 50%, var(--terra-lite) 100%); display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.hero-content { position: relative; z-index: 1; padding: 2rem; }
.hero-logo { height: 90px; width: 90px; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255,255,255,.3); }
.hero-content h1 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.5rem, 6vw, 4.5rem); color: #fff; font-weight: 300; margin-bottom: .5rem; }
.hero-content p { color: var(--areia); font-size: 1.1rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 300; margin-bottom: 2rem; }

/* BOTOES */
.btn-terra { background: var(--terra); color: #fff; border: none; padding: .65rem 1.8rem; border-radius: 50px; font-size: .88rem; letter-spacing: .08em; text-transform: uppercase; transition: all var(--transition); text-decoration: none; display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; }
.btn-terra:hover { background: var(--terra-dark); color: #fff; transform: translateY(-1px); box-shadow: 0 6px 20px var(--sombra); }
.btn-terra-outline { background: transparent; color: var(--terra); border: 1.5px solid var(--terra); padding: .6rem 1.8rem; border-radius: 50px; font-size: .88rem; letter-spacing: .08em; text-transform: uppercase; transition: all var(--transition); text-decoration: none; display: inline-flex; align-items: center; gap: .5rem; }
.btn-terra-outline:hover { background: var(--terra); color: #fff; }
.btn-ghost-white { background: rgba(255,255,255,.15); color: #fff; border: 1.5px solid rgba(255,255,255,.5); padding: .65rem 2rem; border-radius: 50px; font-size: .88rem; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; transition: all var(--transition); display: inline-flex; align-items: center; }
.btn-ghost-white:hover { background: #fff; color: var(--terra); }
.btn-ghost-white-outline { background: transparent; color: rgba(255,255,255,.85); border: 1.5px solid rgba(255,255,255,.4); padding: .65rem 2rem; border-radius: 50px; font-size: .88rem; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; display: inline-flex; align-items: center; transition: all var(--transition); }
.btn-ghost-white-outline:hover { background: rgba(255,255,255,.15); color: #fff; }

/* CARDS IMOVEIS */
.card-imovel { display: flex; flex-direction: column; border-radius: var(--radius); overflow: hidden; box-shadow: 0 4px 20px var(--sombra); background: #fff; transition: transform var(--transition), box-shadow var(--transition); text-decoration: none; color: inherit; height: 100%; }
.card-imovel:hover { transform: translateY(-4px); box-shadow: 0 12px 40px var(--sombra); }
.card-imovel__img { position: relative; aspect-ratio: 4/3; overflow: hidden; background: var(--creme); }
.card-imovel__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.card-imovel:hover .card-imovel__img img { transform: scale(1.04); }
.sem-foto { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: 3rem; }
.badge-tipo { position: absolute; top: .75rem; left: .75rem; background: var(--terra); color: #fff; font-size: .72rem; letter-spacing: .07em; text-transform: uppercase; padding: .3rem .75rem; border-radius: 50px; }
.badge-status { position: absolute; top: .75rem; right: .75rem; font-size: .72rem; padding: .3rem .75rem; border-radius: 50px; }
.card-imovel__body { padding: 1.25rem; display: flex; flex-direction: column; flex: 1; gap: .4rem; }
.card-imovel__titulo { font-family: 'Cormorant Garamond', serif; font-size: 1.15rem; font-weight: 500; line-height: 1.3; margin: 0; color: var(--texto); }
.card-imovel__local { font-size: .82rem; color: var(--muted); margin: 0; }
.card-imovel__atributos { display: flex; gap: .75rem; flex-wrap: wrap; }
.card-imovel__atributos span { font-size: .82rem; color: var(--muted); }
.card-imovel__valor{
    font-family:'Montserrat',sans-serif  ;
    font-size:1.7rem;
    font-weight:700;
    color:var(--terra);
    letter-spacing:-0.5px;
}
.card-imovel__codigo { font-size: .72rem; color: var(--areia); margin-top: .15rem; }

/* CARD SLIDER (pagina inicial) */
.card-imovel__slider { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--creme); }
.card-imovel__slider .slides { display:flex; width:100%; height:100%; transition:transform .35s cubic-bezier(.4,0,.2,1); will-change:transform; }
.card-imovel__slider .slide { width:100%; height:100%; flex:0 0 100%; overflow:hidden; }
.card-imovel__slider .slide img { width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; }
.slider-btn { position:absolute; top:50%; transform:translateY(-50%); background:rgba(96,58,35,.75); color:#fff; border:none; width:32px; height:32px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; z-index:5; transition:background .2s; opacity:0; }
.card-imovel__slider:hover .slider-btn { opacity:1; }
.slider-btn:hover { background:var(--terra); }
.slider-btn.prev { left:.5rem; }
.slider-btn.next { right:.5rem; }
.slider-dots { position:absolute; bottom:.4rem; left:0; right:0; display:flex; justify-content:center; gap:.3rem; z-index:5; }
.slider-dots span { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; transition:background .2s; display:block; }
.slider-dots span.active { background:#fff; }

/* TARJA VENDIDO */
.tarja-vendido { position: absolute; top: 0; left: 0; right: 0; background: linear-gradient(135deg, rgba(220,38,38,.9), rgba(185,28,28,.9)); color: #fff; text-align: center; font-weight: 700; font-size: .85rem; letter-spacing: .15em; padding: .4rem; z-index:3; }
.tarja-vendido-detalhe { position: absolute; bottom: 1rem; left: 1rem; right: 1rem; background: rgba(220,38,38,.9); color: #fff; text-align: center; font-weight: 700; font-size: 1.2rem; letter-spacing: .2em; padding: .5rem; border-radius: 8px; }

/* STATUS */
.status-disponivel { background: #dcfce7 !important; color: #15803d !important; }
.status-reservado  { background: #fef9c3 !important; color: #854d0e !important; }
.status-vendido    { background: #fee2e2 !important; color: #991b1b !important; }

/* FILTROS */
.filtros-wrapper { background: #fff; border-radius: var(--radius); padding: 1.5rem; box-shadow: 0 2px 12px var(--sombra); }
.filtro-label { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-bottom: .3rem; }

/* DETALHE IMOVEL */
.imovel-atributos { display: flex; gap: 1rem; flex-wrap: wrap; margin: 1.5rem 0; }
.atrib-box { text-align: center; padding: .75rem 1.25rem; background: var(--creme); border-radius: 12px; min-width: 80px; }
.atrib-icon { font-size: 1.3rem; }
.atrib-val { font-family: 'Cormorant Garamond', serif; font-size: 1.5rem; font-weight: 600; color: var(--terra); line-height: 1; }
.atrib-label { font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); margin-top: .2rem; }

/* GALERIA */
.galeria-thumbs img { transition: opacity .2s; cursor:pointer; }
.galeria-thumbs img:hover { opacity: .8; }
.galeria-thumbs img.ativa { box-shadow: 0 0 0 2px var(--terra); }

/* LIGHTBOX */
#lightbox { display:none; position:fixed; inset:0; z-index:9999; background:rgba(0,0,0,.92); align-items:center; justify-content:center; flex-direction:column; }
#lightbox.ativo { display:flex; }
#lightbox img { max-width:92vw; max-height:82vh; object-fit:contain; border-radius:8px; box-shadow:0 8px 40px rgba(0,0,0,.5); user-select:none; }
#lightbox-close { position:absolute; top:1rem; right:1rem; background:rgba(255,255,255,.15); border:none; color:#fff; width:44px; height:44px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1.3rem; transition:background .2s; }
#lightbox-close:hover { background:rgba(255,255,255,.3); }
#lightbox-prev, #lightbox-next { position:absolute; top:50%; transform:translateY(-50%); background:rgba(255,255,255,.15); border:none; color:#fff; width:50px; height:50px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:1.5rem; transition:background .2s; }
#lightbox-prev { left:1rem; }
#lightbox-next { right:1rem; }
#lightbox-prev:hover, #lightbox-next:hover { background:var(--terra); }
#lightbox-counter { position:absolute; bottom:1rem; left:50%; transform:translateX(-50%); color:rgba(255,255,255,.7); font-size:.85rem; background:rgba(0,0,0,.4); padding:.3rem 1rem; border-radius:20px; }

/* SECAO HEADER */
.section-header { text-align: center; margin-bottom: 3rem; }
.section-header h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.8rem, 4vw, 2.5rem); }
.section-divider { width: 60px; height: 2px; background: var(--areia); margin: 1rem auto; }
.section-header p { color: var(--muted); }

/* CLIENTE HEADER */
.cliente-header { background: linear-gradient(135deg, var(--terra-dark), var(--terra)); color: #fff; text-align: center; padding: 3rem 1rem; }
.cliente-header h1 { font-family: 'Cormorant Garamond', serif; font-size: clamp(1.8rem, 4vw, 2.5rem); }
.cliente-header p { color: var(--areia); }

/* FOOTER */
footer { background: var(--terra-dark); color: rgba(255,255,255,.7); padding: 3rem 0 2rem; margin-top: 4rem; }
.footer-logo { height: 48px; width: 48px; border-radius: 50%; object-fit: cover; filter: brightness(0) invert(1); margin-bottom: .75rem; }
footer h5 { font-family: 'Cormorant Garamond', serif; font-size: 1.3rem; color: #fff; }
.footer-copy { font-size: .78rem; color: rgba(255,255,255,.4); margin-top: 1.5rem; }

/* FORM CARD */
.form-card { background: #fff; border-radius: var(--radius); padding: 2rem; box-shadow: 0 4px 20px var(--sombra); }

/* LOGIN */
.login-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; background: var(--creme); }
.login-card { background: #fff; border-radius: var(--radius); padding: 2.5rem; width: 100%; max-width: 400px; box-shadow: 0 8px 40px var(--sombra); text-align: center; }
.login-card img { height: 80px; width: 80px; border-radius: 50%; object-fit: cover; margin-bottom: 1rem; }
.login-card h2 { font-family: 'Cormorant Garamond', serif; margin-bottom: 1.5rem; color: var(--terra); }
.senha-wrapper { position:relative; }
.senha-toggle { position:absolute; right:.75rem; top:50%; transform:translateY(-50%); background:none; border:none; cursor:pointer; padding:.2rem; color:var(--muted); display:flex; align-items:center; transition:color .2s; }
.senha-toggle:hover { color:var(--terra); }

/* ADMIN LAYOUT */
.admin-sidebar { position: fixed; top: 0; left: 0; bottom: 0; width: 240px; background: var(--terra); color: #fff; padding: 1rem 0; display: flex; flex-direction: column; z-index: 200; overflow-y: auto; }
.logo-area { display: flex; align-items: center; gap: .75rem; padding: 1rem 1.25rem 1.5rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.logo-area img { height: 40px; width: 40px; border-radius: 50%; object-fit: cover; }
.logo-area span { font-family: 'Cormorant Garamond', serif; font-size: 1.1rem; color: #fff; }
.admin-sidebar nav { flex: 1; padding: .5rem 0; }
.admin-sidebar .nav-item a { display: flex; align-items: center; gap: .6rem; padding: .65rem 1.25rem; color: rgba(255,255,255,.8); text-decoration: none; font-size: .88rem; transition: all .2s; }
.admin-sidebar .nav-item a:hover, .admin-sidebar .nav-item a.ativo { background: rgba(255,255,255,.12); color: #fff; }
.admin-sidebar .icon { font-size: 1.1rem; display:flex; align-items:center; }
.admin-sidebar .icon svg { width:18px; height:18px; stroke: currentColor; fill:none; stroke-width:1.8; }

.admin-main { margin-left: 240px; min-height: 100vh; background: #f9f5f1; padding: 2rem; }
.admin-topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.5rem; flex-wrap: wrap; gap: 1rem; }
.admin-topbar h1 { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; color: var(--terra); display:flex; align-items:center; gap:.5rem; }
.admin-topbar h1 svg { width:26px; height:26px; stroke:var(--terra); fill:none; stroke-width:1.6; }

/* Botao hamburguer mobile */
.admin-toggle { display:none; position:fixed; bottom:1.5rem; right:1.5rem; z-index:300; width:52px; height:52px; border-radius:50%; background:var(--terra); color:#fff; border:none; cursor:pointer; box-shadow:0 4px 20px var(--sombra); align-items:center; justify-content:center; }
.admin-toggle svg { width:24px; height:24px; stroke:#fff; fill:none; stroke-width:2; }
.admin-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:99; }

/* STAT CARDS */
.stat-card { background: #fff; border-radius: var(--radius); padding: 1.25rem; display: flex; align-items: center; gap: 1rem; box-shadow: 0 2px 12px var(--sombra); }
.stat-icon { width: 48px; height: 48px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.stat-icon svg { width:22px; height:22px; stroke:currentColor; fill:none; stroke-width:1.8; }
.stat-val { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; font-weight: 600; color: var(--terra); line-height: 1; }
.stat-label { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }

/* ADMIN TABLE */
.admin-table { background: #fff; border-radius: var(--radius); box-shadow: 0 2px 12px var(--sombra); overflow: hidden; }
.table th { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); font-weight: 500; background: var(--creme); border-bottom: none; padding: .85rem 1rem; }
.table td { padding: .85rem 1rem; vertical-align: middle; border-bottom: 1px solid var(--creme); font-size: .9rem; }
.table tbody tr:hover { background: var(--branco) !important; }

/* BADGE NOTIFICACAO */
.badge-notif { background: #ef4444; color: #fff; font-size: .65rem; font-weight: 700; padding: 2px 6px; border-radius: 10px; margin-left: 4px; }

/* TIMELINE */
.timeline { position: relative; padding-left: 2rem; }
.timeline::before { content: ''; position: absolute; left: .65rem; top: 0; bottom: 0; width: 2px; background: var(--creme-dark); }
.timeline-item { position: relative; margin-bottom: 1.25rem; }
.timeline-icon { position: absolute; left: -2.1rem; width: 28px; height: 28px; background: var(--creme); border: 2px solid var(--areia); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .85rem; }
.timeline-content { background: var(--creme); border-radius: 8px; padding: .65rem .85rem; }

/* FORMULARIOS */
.form-control, .form-select { border-color: var(--creme-dark); font-size: .9rem; }
.form-control:focus, .form-select:focus { border-color: var(--areia); box-shadow: 0 0 0 3px rgba(201,169,135,.2); }
.form-label { font-size: .82rem; font-weight: 500; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; margin-bottom: .3rem; }

/* GALERIA ADMIN — foto cards com controle de capa */
.foto-card { position:relative; border-radius:10px; overflow:hidden; aspect-ratio:4/3; background:var(--creme); box-shadow:0 2px 8px var(--sombra); }
.foto-card img { width:100%; height:100%; object-fit:cover; display:block; cursor:pointer; transition:transform .3s; }
.foto-card:hover img { transform:scale(1.04); }
.foto-card .foto-actions { position:absolute; top:.35rem; right:.35rem; display:flex; gap:.3rem; }
.btn-foto { width:28px; height:28px; border-radius:50%; border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.btn-excluir { background:rgba(220,38,38,.85); color:#fff; }
.btn-excluir:hover { background:#dc2626; }
.btn-capa { background:rgba(96,58,35,.8); color:#fff; }
.btn-capa:hover { background:var(--terra); }
.btn-foto svg { width:13px; height:13px; stroke:#fff; fill:none; stroke-width:2.5; }
.capa-badge { position:absolute; bottom:.35rem; left:.35rem; background:var(--terra); color:#fff; font-size:.6rem; padding:2px 7px; border-radius:20px; letter-spacing:.05em; text-transform:uppercase; }

/* MEUS IMOVEIS — linha expansivel */
.imovel-row td { cursor:pointer; }
.imovel-row:hover td { background:var(--creme) !important; }
.fotos-expandido { display:none; }
.fotos-expandido.aberto { display:table-row; }

/* RESPONSIVO MOBILE */
@media (max-width: 768px) {
  .admin-sidebar { transform: translateX(-100%); transition: transform .3s; width:260px; }
  .admin-sidebar.aberta { transform: translateX(0); box-shadow:4px 0 20px rgba(0,0,0,.3); }
  .admin-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:99; }
  .admin-overlay.ativo { display:block; }
  .admin-toggle { display:flex; }
  .admin-main { margin-left: 0; padding: 1rem; padding-bottom: 5rem; }
  .hero { min-height: 420px; }
  .hide-mobile { display:none !important; }
  .stat-card { padding: .85rem; }
  .stat-val { font-size: 1.4rem; }
  .form-card { padding: 1.2rem; }
  .admin-topbar h1 { font-size: 1.4rem; }
  #lightbox-prev { left:.3rem; }
  #lightbox-next { right:.3rem; }
  .slider-btn { opacity:.7; }
}
@media (max-width:480px) {
  .admin-topbar { flex-direction:column; align-items:flex-start; }
}
/* =====================================================
   GALERIA PROFISSIONAL
===================================================== */

.galeria-container{
    margin-bottom:2rem;
}

.foto-principal-box{
    position:relative;
}

.foto-principal{
    width:100%;
    height:520px;
    object-fit:cover;
    border-radius:18px;
    cursor:pointer;
    display:block;
}

.galeria-thumbs{
    display:flex;
    gap:10px;
    margin-top:12px;
    overflow:auto;
    padding-bottom:5px;
}

.thumb-galeria{
    width:110px;
    height:80px;
    object-fit:cover;
    border-radius:10px;
    cursor:pointer;
    border:3px solid transparent;
    transition:.2s;
    flex-shrink:0;
}

.thumb-galeria:hover{
    transform:scale(1.03);
}

.thumb-ativa{
    border-color:var(--terra);
}

.galeria-seta{
    position:absolute;
    top:50%;
    transform:translateY(-50%);

    width:44px;
    height:44px;

    border:none;
    border-radius:50%;

    background:rgba(0,0,0,.45);

    color:#fff;

    font-size:22px;

    cursor:pointer;

    z-index:5;
}

.galeria-prev{
    left:15px;
}

.galeria-next{
    right:15px;
}

/* LIGHTBOX */

.lightbox{
    display:none;

    position:fixed;
    inset:0;

    background:rgba(0,0,0,.96);

    z-index:99999;

    justify-content:center;
    align-items:center;
}

.lightbox img{
    max-width:92%;
    max-height:88vh;

    border-radius:14px;
}

.lightbox-fechar{
    position:absolute;

    top:18px;
    right:28px;

    color:#fff;

    font-size:48px;

    cursor:pointer;
}

.lightbox-nav{
    position:absolute;

    top:50%;
    transform:translateY(-50%);

    width:56px;
    height:56px;

    border:none;
    border-radius:50%;

    background:rgba(255,255,255,.12);

    color:#fff;

    font-size:28px;

    cursor:pointer;
}

.lightbox-prev{
    left:20px;
}

.lightbox-next{
    right:20px;
}

/* MOBILE */

@media(max-width:768px){

    .foto-principal{
        height:320px;
    }

    .thumb-galeria{
        width:80px;
        height:60px;
    }
}

.viewer-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.92);
  z-index:99999;

  display:none;
  align-items:center;
  justify-content:center;
}

.viewer-overlay.ativo{
  display:flex;
}

.viewer-image{
  max-width:92%;
  max-height:92%;
  border-radius:12px;
  box-shadow:0 10px 40px rgba(0,0,0,.5);

  animation:zoomViewer .2s ease;
}

@keyframes zoomViewer{
  from{
    transform:scale(.95);
    opacity:.5;
  }
  to{
    transform:scale(1);
    opacity:1;
  }
}

.viewer-close{
  position:absolute;
  top:20px;
  right:25px;

  width:45px;
  height:45px;

  border:none;
  border-radius:50%;

  background:#fff;
  color:#000;

  font-size:1.3rem;
  cursor:pointer;
}

.viewer-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);

  border:none;

  width:55px;
  height:55px;

  border-radius:50%;

  background:rgba(255,255,255,.15);
  color:#fff;

  font-size:2rem;
  cursor:pointer;

  backdrop-filter:blur(4px);
}

.viewer-nav:hover{
  background:rgba(255,255,255,.3);
}

.viewer-nav.prev{
  left:20px;
}

.viewer-nav.next{
  right:20px;
}

/* Mobile */
@media(max-width:768px){

  .viewer-nav{
    width:45px;
    height:45px;
    font-size:1.5rem;
  }

}

/* MINI SLIDER (tabela meus-imoveis) */
.mini-slider { position:relative; cursor:pointer; }
.mini-slider img { pointer-events:auto; }

/* ESTRELAS AVALIAÇÃO (cliente.php) */
.estrelas-selector label:hover .estrela-icon,
.estrelas-selector label:hover ~ label .estrela-icon { color:#d1d5db; }

/* IMOVEL-CARD-CHECK */
.imovel-card-check { transition: border-color .15s, background .15s; }
.imovel-card-check.selecionado { background:#fffaf5 !important; }

/* Mobile: navbar abaixo dos modais */
@media (max-width:768px) {
  .navbar { z-index: 200; position: sticky; top: 0; }
}
