/* ================================
   SUEZ • Favoritos & Favoritar
   (SweetAlert2 – desktop central / mobile bottom‑sheet)
   ================================ */

:root{
  --suez-green:#2e7d32;
  --suez-green-weak:rgba(46,125,50,.12);
  --suez-text:#222;
}

/* Botões padrão do SweetAlert2 */
.swal2-popup{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}
.swal2-styled.swal2-confirm{
  background:var(--suez-green)!important;border-radius:10px!important;
  box-shadow:0 6px 18px rgba(46,125,50,.25)!important;
}
.swal2-styled.swal2-cancel{background:#eef2f3!important;color:#222!important;border-radius:10px!important}

/* =========================
   LISTA DE FAVORITOS (Swal)
   Use: customClass {container:'swz-fav-container', popup:'swz-fav'}
   ========================= */
.swal2-container.swz-fav-container{align-items:center!important}
.swal2-container.swz-fav-container>.swal2-popup.swz-fav{
  width:420px!important;max-width:92vw!important;margin:0!important;
  border-radius:16px!important;padding:16px 16px 12px!important;background:#fff!important;
  box-shadow:0 12px 40px rgba(0,0,0,.18)!important;
}
.swal2-container.swz-fav-container>.swal2-popup.swz-fav .swal2-title{
  font-size:20px!important;font-weight:800!important;margin:0 0 8px!important
}
.swal2-container.swz-fav-container>.swal2-popup.swz-fav .swal2-html-container{margin:0 0 10px!important}
.swal2-container.swz-fav-container>.swal2-popup.swz-fav .swal2-actions{gap:8px!important}

/* Mobile = bottom‑sheet */
@media (max-width:480px){
  .swal2-container.swz-fav-container{align-items:flex-end!important;padding:0!important}
  .swal2-container.swz-fav-container>.swal2-popup.swz-fav{
    width:100vw!important;max-width:100vw!important;margin:0!important;
    border-radius:16px 16px 0 0!important;
    padding:14px 14px calc(env(safe-area-inset-bottom,12px) + 12px)!important
  }
  .swal2-container.swz-fav-container>.swal2-popup.swz-fav .swal2-title{font-size:18px!important}
  .swal2-container.swz-fav-container>.swal2-popup.swz-fav .swal2-actions{width:100%!important;flex-direction:column!important}
}

/* Lista/cartões dentro da modal */
.fav-list{display:flex;flex-direction:column;gap:12px;max-height:65vh;overflow:auto;scrollbar-width:thin}
.fav-item{display:grid;grid-template-columns:120px 1fr;gap:12px;background:#fff;border:1px solid #eee;border-radius:12px;padding:10px}
.fav-img{width:120px;height:80px;background-size:cover;background-position:center;border-radius:8px}
.fav-info{display:flex;flex-direction:column;gap:6px}
.fav-title{font-weight:700;color:var(--suez-text);text-decoration:none;line-height:1.25}
.fav-title:hover{text-decoration:underline}
.fav-meta{font-size:13px;color:#555;display:flex;gap:12px;flex-wrap:wrap}
.fav-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.fav-actions .btn-wa,.fav-actions .btn-view,.fav-actions .btn-remove{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;
  font-size:13px;font-weight:700;border:1px solid transparent;text-decoration:none;cursor:pointer;
  transition:transform .12s,box-shadow .2s,background .2s,color .2s,border-color .2s
}
.fav-actions .btn-wa{background:#25D366;color:#fff;box-shadow:0 2px 10px rgba(37,211,102,.25)}
.fav-actions .btn-wa:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(37,211,102,.35)}
.fav-actions .btn-view{background:#fff;color:#1d4ed8;border-color:#cfe0ff}
.fav-actions .btn-view:hover{background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.fav-actions .btn-remove{background:#fff;color:#dc3545;border-color:#f2c2c6}
.fav-actions .btn-remove:hover{background:#dc3545;color:#fff;border-color:#dc3545}
.fav-topbar{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;margin-bottom:8px;border-bottom:1px dashed #e5e7eb;font-size:13px;color:#374151}
.fav-topbar a{color:#1d4ed8;text-decoration:none}
.fav-topbar a:hover{text-decoration:underline}

@media (max-width:480px){
  .fav-item{grid-template-columns:88px 1fr;padding:10px}
  .fav-img{width:88px;height:64px}
  .fav-actions{gap:6px}
  .fav-actions .btn-wa,.fav-actions .btn-view,.fav-actions .btn-remove{padding:8px 10px;font-size:12.5px}
}

/* =============================
   MODAL “FAVORITAR” (form/Sheet)
   Use: customClass {container:'swz-sheet-container', popup:'swz-sheet'}
   ============================= */
.swal2-container.swz-sheet-container{align-items:center!important}
.swal2-container.swz-sheet-container>.swal2-popup.swz-sheet{
  width:420px!important;max-width:92vw!important;margin:0!important;background:#fff!important;
  border-radius:16px!important;padding:18px 16px 14px!important;box-shadow:0 12px 40px rgba(0,0,0,.18)!important
}
.swal2-container.swz-sheet-container>.swal2-popup.swz-sheet .swal2-title{font-size:20px!important;font-weight:800!important;margin:0 0 8px!important}

@media (max-width:480px){
  .swal2-container.swz-sheet-container{align-items:flex-end!important;padding:0!important}
  .swal2-container.swz-sheet-container>.swal2-popup.swz-sheet{
    width:100vw!important;max-width:100vw!important;margin:0!important;border-radius:16px 16px 0 0!important;
    padding:14px 14px calc(env(safe-area-inset-bottom,12px) + 12px)!important
  }
}

.swz-sheet .swal2-input,
.swz-sheet input[type="text"], .swz-sheet input[type="tel"], .swz-sheet input[type="email"]{
  height:44px;font-size:16px;border-radius:10px;border:1px solid #d9d9d9;outline:none;box-shadow:none
}
.swz-sheet .swal2-input:focus,.swz-sheet input:focus{border-color:var(--suez-green);box-shadow:0 0 0 3px var(--suez-green-weak)}
.swz-sheet .swal2-actions{gap:8px!important}

/* Fallback anti-tema antigo: se algum CSS travar 800px, isso derruba no mobile */
@media (max-width:480px){
  .swal2-container.swz-fav-container>.swal2-popup.swz-fav,
  .swal2-container.swz-sheet-container>.swal2-popup.swz-sheet{
    width:100vw!important;max-width:100vw!important;margin:0!important
  }
}





  /* força centralização para qualquer modal que usar container 'swz-center' */

  .swal2-container.swz-center{
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
  }
  .swal2-container.swz-center > .swal2-popup{
    margin:0 !important;
    max-width:95vw !important;
    border-radius:16px;
  }
  @media (max-width:480px){
    .swal2-container.swz-center > .swal2-popup{
      width:92vw !important;
      max-width:92vw !important;
    }
  }





.btn-favorito{
  position:absolute; top:10px; right:10px;
  background: rgba(255,255,255,.9);
  border: 0; border-radius: 999px;
  width:40px; height:40px; display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,.15);
  transition: transform .12s ease, box-shadow .2s ease, background .2s ease;
}
.btn-favorito i { font-size:18px; color:#666; }
.btn-favorito:hover{ transform:translateY(-1px); box-shadow:0 6px 14px rgba(0,0,0,.18); }

.btn-favorito.favorited{
  background:#28a745;   /* verde do tema */
  color:#fff;
}
.btn-favorito.favorited i{
  color:#fff;
}
.btn-favorito .check-badge{
  position:absolute; bottom:-2px; right:-2px;
  width:16px; height:16px; border-radius:999px; background:#fff; display:none;
  align-items:center; justify-content:center; font-size:11px; color:#28a745; border:1px solid rgba(0,0,0,.1);
}
.btn-favorito.favorited .check-badge{ display:flex; }






/* ===== topo: botão Meus Favoritos ===== */
.btn-meus-favoritos{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:8px 14px; border-radius:999px;
  border:1px solid #2e7d32; color:#2e7d32; background:#fff;
  font-weight:600; transition:.2s ease;
}
.btn-meus-favoritos i{ font-size:15px }
.btn-meus-favoritos:hover{ background:#2e7d32; color:#fff }

/* ===== modal: ações ===== */
.fav-actions{ display:flex; gap:10px; margin-top:6px }
.fbtn{ 
  display:inline-flex; align-items:center; gap:8px;
  height:34px; padding:0 12px; border-radius:8px; 
  border:1px solid transparent; background:#fff;
  font-size:13px; font-weight:600; cursor:pointer;
  transition:.18s ease; text-decoration:none;
}

/* WhatsApp */
.btn-wa{ border-color:#25d366; color:#25d366 }
.btn-wa:hover{ background:#25d366; color:#fff }

/* Ver imóvel */
.btn-view{ border-color:#1e88e5; color:#1e88e5 }
.btn-view:hover{ background:#1e88e5; color:#fff }

/* Remover */
.btn-remove{ border-color:#dc3545; color:#dc3545 }
.btn-remove:hover{ background:#dc3545; color:#fff }

/* ícones */
.fbtn i{ font-size:14px }

/* cards da lista */
.fav-list{ display:flex; flex-direction:column; gap:12px; max-height:65vh; overflow:auto }
.fav-item{ display:grid; grid-template-columns:120px 1fr; gap:12px; background:#fff; border:1px solid #eee; border-radius:12px; padding:10px }
.fav-img{ width:120px; height:80px; background-size:cover; background-position:center; border-radius:8px }
.fav-title{ font-weight:600; color:#222; text-decoration:none }
.fav-title:hover{ text-decoration:underline }
.fav-meta{ font-size:13px; color:#555; display:flex; gap:12px; flex-wrap:wrap }



/* herda a cara dos outros links do menu */
.menu-link {
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  height:40px;                /* ajuste para bater com seus itens */
  padding:0 .875rem;
  font-weight:600;
  color:#2b3a2b;              /* verde-escuro do seu tema? ajuste */
  text-decoration:none;
  border-radius:10px;
  transition:background .2s, color .2s, box-shadow .2s;
}

/* estado normal do botão dos favoritos */
.favoritos-btn {
  background:#eaf6ea;         /* verdinho bem claro */
  border:1px solid #cfe8cf;
}

/* hover/active */
.menu-link:hover { 
  background:#dff1df; 
  color:#183818; 
  box-shadow:0 2px 6px rgba(0,0,0,.06);
}

/* ícone */
.favoritos-btn i { font-size:15px; color:#2e7d32; }

/* versão compacta (opcional, em telas menores) */
@media (max-width: 768px){
  .menu-link { height:36px; padding:0 .75rem; border-radius:8px; }
  .favoritos-btn span { display:none; }   /* só coração + tooltip se quiser */
}



.fav-actions { display:flex; gap:8px; flex-wrap:wrap; }

.btn-wa, .btn-view, .btn-remove{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:8px 12px; border-radius:10px; font-size:13px;
  border:1px solid transparent; text-decoration:none; cursor:pointer;
  transition:transform .08s ease, box-shadow .2s ease, background .2s, color .2s;
}

/* WhatsApp */
.btn-wa { background:#e8f7ee; border-color:#c8eccf; color:#1e7f38; }
.btn-wa:hover { background:#dbf1e3; box-shadow:0 2px 8px rgba(0,0,0,.05); }

/* Ver imóvel */
.btn-view { background:#f0f6ff; border-color:#cfe1ff; color:#1f5fbf; }
.btn-view:hover { background:#e6f0ff; box-shadow:0 2px 8px rgba(0,0,0,.05); }

/* Remover */
.btn-remove { background:#fff5f5; border-color:#f3c9c9; color:#b4232c; }
.btn-remove:hover { background:#ffe9e9; box-shadow:0 2px 8px rgba(0,0,0,.05); }

/* micro-interação */
.btn-wa:active, .btn-view:active, .btn-remove:active { transform:translateY(1px); }



/* container dos botões */
.fav-actions{
  display:flex; gap:10px; flex-wrap:wrap; margin-top:6px;
}

/* base */
.fbtn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:8px 12px; border-radius:10px; font-size:13px; line-height:1;
  border:1px solid transparent; text-decoration:none; cursor:pointer;
  transition:transform .08s ease, box-shadow .2s ease, background .2s, color .2s, border-color .2s;
}
.fbtn i{ font-size:14px; }

/* WhatsApp */
.btn-wa{ background:#e8f7ee; border-color:#cfe9d6; color:#1f7a34; }
.btn-wa:hover{ background:#dbf1e3; box-shadow:0 2px 8px rgba(0,0,0,.05); }

/* Ver imóvel */
.btn-view{ background:#eef4ff; border-color:#d3e1ff; color:#1f5fbf; }
.btn-view:hover{ background:#e6f0ff; box-shadow:0 2px 8px rgba(0,0,0,.05); }

/* Remover */
.btn-remove{ background:#fff5f5; border-color:#f3c9c9; color:#b4232c; }
.btn-remove:hover{ background:#ffe9e9; box-shadow:0 2px 8px rgba(0,0,0,.05); }

/* micro feedback */
.fbtn:active{ transform:translateY(1px); }

/* estado “processando” (opcional) */
.fbtn.is-loading{ pointer-events:none; opacity:.7; }





