/* =======================================================
   CASA À VENDA CUIABÁ – STYLE REFACTORED
   ======================================================= */

/* -------------------------
   ROOT & GLOBAL
   ------------------------- */

:root {
  --cvc-bg: #f5f5f7;
  --cvc-bg-soft: #ffffff;

  /* Paleta da marca (logo) */
  --cvc-primary: #6c2bd9;
  /* roxo "Casa"      */
  --cvc-primary-soft: #ede9fe;
  /* lilás suave      */
  --cvc-orange: #f28c00;
  /* laranja "Venda"  */
  --cvc-green: #7ed957;
  /* verde casinha    */
  --cvc-accent: #7ed957;

  --cvc-text: #111827;
  --cvc-muted: #6b7280;
  --cvc-border: #e5e7eb;

  --cvc-radius-lg: 1.25rem;
  --cvc-radius-md: 0.9rem;
  --cvc-radius-sm: 0.6rem;

  /* Cores por tipo de anunciante */
  --cvc-owner-color: #16a34a;
  /* proprietário */
  --cvc-owner-bg: #ecfdf3;

  --cvc-broker-color: #4f46e5;
  /* corretor     */
  --cvc-broker-bg: #eef2ff;

  --cvc-agency-color: #c2410c;
  /* imobiliária  */
  --cvc-agency-bg: #fef3c7;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Poppins", system-ui, -apple-system, BlinkMacSystemFont,
    "Segoe UI", sans-serif;
  background-color: var(--cvc-bg);
  color: var(--cvc-text);
}

/* Utilitários menores */

.text-help {
  font-size: 0.78rem;
  color: #6b7280;
}

/* =======================================================
   HEADER / NAVBAR & LOGO
   ======================================================= */

.cvc-header {
  background-color: #ffffff;
  border-bottom: 1px solid rgba(229, 231, 235, 0.8);
}

.cvc-header .navbar {
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
}

/* Logo */

.cvc-logo-img {
  height: 38px;
  width: auto;
}

@media (min-width: 992px) {
  .cvc-logo-img {
    height: 44px;
  }
}

/* =======================================================
   NAVBAR DESKTOP (links / botões)
   ======================================================= */

@media (min-width: 992px) {
  .cvc-nav-desktop {
    display: flex;
    align-items: center;
    gap: 1.5rem;
  }

  .cvc-nav-desktop .cvc-nav-link {
    position: relative;
    padding: 0;
    font-size: 0.9rem;
    font-weight: 500;
    color: #374151;
    text-decoration: none;
  }

  .cvc-nav-desktop .cvc-nav-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.25rem;
    width: 0;
    height: 2px;
    border-radius: 999px;
    background: var(--cvc-primary);
    transition: width 0.18s ease;
  }

  .cvc-nav-desktop .cvc-nav-link:hover {
    color: #111827;
  }

  .cvc-nav-desktop .cvc-nav-link:hover::after {
    width: 100%;
  }

  .cvc-header .navbar-nav .btn,
  .cvc-nav-desktop .btn {
    font-size: 0.85rem;
    padding-block: 0.45rem;
    padding-inline: 1rem;
    border-radius: 999px;
  }

  .cvc-header .btn-outline-dark {
    border-radius: 999px;
    border-color: #d1d5db;
    color: #374151;
    background-color: #ffffff;
  }

  .cvc-header .btn-outline-dark:hover {
    background-color: #111827;
    border-color: #111827;
    color: #ffffff;
  }

  /* Esconde hambúrguer no desktop */
  .cvc-nav-toggle {
    display: none;
  }
}

/* Avatar / pill do usuário (desktop) */

.cvc-nav-user-btn,
.cvc-user-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.2rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.7);
  background-color: #ffffff;
  font-size: 0.85rem;
  font-weight: 500;
  color: #111827;
}

/* tira aquele fundo do btn do Bootstrap */
.cvc-user-pill.btn {
  background-color: #ffffff;
}

.cvc-nav-user-btn:hover,
.cvc-nav-user-btn:focus,
.cvc-user-pill:hover,
.cvc-user-pill:focus {
  background-color: #f9fafb;
  border-color: rgba(129, 140, 248, 0.9);
}

/* bolinha com inicial */

.cvc-nav-avatar,
.cvc-user-pill__avatar {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--cvc-primary), var(--cvc-orange));
  color: #ffffff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.9rem;
  font-weight: 600;
}

.cvc-user-pill__avatar {
  width: 30px;
  height: 30px;
}

/* textos ao lado da bolinha */

.cvc-nav-user-text,
.cvc-user-pill__info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.1;
}

.cvc-nav-user-name,
.cvc-user-pill__name {
  font-size: 0.8rem;
  font-weight: 600;
}

.cvc-nav-user-type,
.cvc-user-pill__role {
  font-size: 0.7rem;
  color: var(--cvc-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* =======================================================
   BOTÕES GERAIS
   ======================================================= */

.cvc-btn-primary {
  background-color: var(--cvc-primary);
  border-color: var(--cvc-primary);
  color: #fff;
  border-radius: 999px;
  padding-inline: 1.5rem;
  font-weight: 500;
}

.cvc-btn-primary:hover {
  background-color: #5a21c2;
  border-color: #5a21c2;
  color: #fff;
}

.cvc-btn-whatsapp {
  border-radius: 999px;
  font-weight: 500;
}

.cvc-btn-whatsapp i {
  font-size: 1rem;
}

.cvc-btn-lg {
  padding-inline: 1.6rem;
  padding-block: 0.55rem;
  font-size: 0.9rem;
}

/* =======================================================
   HERO (HOME) – TÍTULOS & BADGES
   ======================================================= */

.cvc-hero {
  padding: 1.5rem 0 2.5rem;
}

@media (min-width: 992px) {
  .cvc-hero {
    padding: 2.5rem 0 3rem;
  }
}

.cvc-badge-pill {
  border-radius: 999px;
  background-color: var(--cvc-primary-soft);
  color: var(--cvc-primary);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 0.35rem 0.85rem;
  font-weight: 600;
}

.cvc-hero-title {
  font-size: 1.6rem;
  font-weight: 600;
}

@media (min-width: 992px) {
  .cvc-hero-title {
    font-size: 2rem;
  }
}

.cvc-hero-subtitle {
  font-size: 0.9rem;
  color: var(--cvc-muted);
}

/* =======================================================
   HERO – CARD DE BUSCA PRINCIPAL
   ======================================================= */

.cvc-search-card {
  background-color: #fff;
  border-radius: var(--cvc-radius-lg);
  padding: 1rem;
  border: 1px solid var(--cvc-border);
}

/* versão hero (cartão principal) */

.cvc-search-card--hero {
  background:
    radial-gradient(circle at top left, rgba(124, 58, 237, 0.06), transparent 60%),
    radial-gradient(circle at bottom right, rgba(94, 234, 212, 0.05), transparent 60%),
    #ffffff;
  border-radius: 1.75rem;
  padding: 1.1rem 1.25rem 1.4rem;
  border: 1px solid rgba(209, 213, 219, 0.9);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}

@media (min-width: 768px) {
  .cvc-search-card--hero {
    padding: 1.3rem 1.5rem 1.4rem;
  }
}

/* header do card */

.cvc-search-card-header {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 0.75rem;
}

.cvc-search-card-icon {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: linear-gradient(135deg, #6c2bd9, #9333ea);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.95rem;
}

.cvc-search-card-text {
  display: flex;
  flex-direction: column;
}

.cvc-search-card-kicker {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--cvc-muted);
}

.cvc-search-card-title {
  font-size: 0.9rem;
  font-weight: 600;
  margin: 0;
}

.cvc-search-card-body {
  margin-top: 0.35rem;
}

/* labels & inputs */

.cvc-label-small,
.cvc-search-inline .form-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--cvc-muted);
  margin-bottom: 0.2rem;
}

.cvc-input-with-icon {
  position: relative;
}

.cvc-input-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  font-size: 0.85rem;
  pointer-events: none;
}

.cvc-input-hero {
  border-radius: 999px;
  padding-left: 2.3rem;
  padding-right: 0.9rem;
  height: 2.6rem;
  font-size: 0.9rem;
  border: 1px solid #e5e7eb;
}

.cvc-input-hero:focus {
  border-color: rgba(108, 43, 217, 0.9);
  box-shadow: 0 0 0 1px rgba(108, 43, 217, 0.18);
}

/* botão principal (buscar) */

.cvc-search-btn-main,
.cvc-btn-hero {
  border-radius: 999px;
  height: 2.7rem;
  font-size: 0.95rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
}

.cvc-search-btn-main i {
  font-size: 1rem;
}

.cvc-search-hint,
.cvc-search-helper {
  margin-top: 0.35rem;
  font-size: 0.75rem;
  color: #6b7280;
  text-align: center;
}

/* mobile hero card */

@media (max-width: 767.98px) {
  .cvc-search-card--hero {
    padding: 1rem 1rem 1.3rem;
    border-radius: 1.4rem;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.14);
  }

  .cvc-search-card__badge {
    width: 100%;
    justify-content: center;
  }

  .cvc-btn-hero {
    width: 100%;
  }
}

/* =======================================================
   PRICE RANGE (USADO NO HERO E NA BUSCA)
   ======================================================= */

.cvc-range-wrapper {
  margin-top: 0.1rem;
}

.cvc-range-labels {
  display: flex;
  justify-content: space-between;
  font-size: 0.72rem;
  color: var(--cvc-muted);
  margin-bottom: 0.1rem;
}

.cvc-price-range-wrapper {
  padding-top: 0.15rem;
}

.cvc-price-range {
  position: relative;
  height: 32px;
  padding: 0.6rem 0.1rem 0.2rem;
}

.cvc-price-range-track {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 4px;
  border-radius: 999px;
  background: #e5e7eb;
}

.cvc-price-range input[type="range"] {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  pointer-events: none;
  -webkit-appearance: none;
  background: transparent;
}

/* WebKit */

.cvc-price-range input[type="range"]::-webkit-slider-thumb {
  pointer-events: auto;
  -webkit-appearance: none;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: #7c3aed;
  border: 2px solid #fff;
  box-shadow: 0 0 0 1px rgba(124, 58, 237, 0.4);
  margin-top: -6px;
}

.cvc-price-range input[type="range"]::-webkit-slider-runnable-track {
  height: 4px;
  border-radius: 999px;
  background: transparent;
}

/* Firefox */

.cvc-price-range input[type="range"]::-moz-range-thumb {
  pointer-events: auto;
  height: 16px;
  width: 16px;
  border-radius: 50%;
  background: #7c3aed;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 1px rgba(124, 58, 237, 0.4);
}

.cvc-price-range input[type="range"]::-moz-range-track {
  height: 4px;
  border-radius: 999px;
  background: transparent;
}

.cvc-range-values {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.78rem;
  color: #6b7280;
}

/* =======================================================
   HERO – PRÉVIA LATERAL (LISTA DE CARDS)
   ======================================================= */

.cvc-hero-preview {
  background-color: #fff;
  border-radius: var(--cvc-radius-lg);
  overflow: hidden;
}

.cvc-hero-preview-header {
  padding: 0.85rem 1rem;
  border-bottom: 1px solid var(--cvc-border);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.cvc-hero-preview-badge {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--cvc-muted);
}

.cvc-hero-preview-sub {
  font-size: 0.8rem;
  color: var(--cvc-muted);
}

.cvc-hero-preview-link {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--cvc-primary);
  text-decoration: none;
}

.cvc-hero-preview-link:hover {
  text-decoration: underline;
}

.cvc-hero-preview-body {
  padding: 0.75rem 0.9rem 0.9rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}

.cvc-hero-preview-body>a+a .cvc-card-hero {
  border-top: 1px solid #f3f4f6;
  padding-top: 0.6rem;
}

/* legenda dos tipos */

.cvc-hero-preview-legend {
  border-top: 1px dashed var(--cvc-border);
  margin: 0 1rem 0.7rem;
  padding-top: 0.55rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
}

.cvc-hero-legend-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.73rem;
  color: var(--cvc-muted);
}

.cvc-hero-legend-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
}

.cvc-hero-legend-dot--owner {
  background-color: var(--cvc-owner-color);
}

.cvc-hero-legend-dot--corretor {
  background-color: var(--cvc-broker-color);
}

.cvc-hero-legend-dot--imobiliaria {
  background-color: var(--cvc-agency-color);
}

/* card lateral */

.cvc-card-hero {
  display: flex;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: var(--cvc-radius-md);
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.cvc-card-hero:hover {
  background-color: #f9fafb;
  transform: translateY(-2px);
}

.cvc-card-hero-img {
  width: 110px;
  min-width: 110px;
  height: 80px;
  border-radius: var(--cvc-radius-md);
  background-size: cover;
  background-position: center;
}

.cvc-card-hero-content {
  flex: 1;
}

.cvc-card-hero-title {
  font-size: 0.9rem;
  margin: 0;
  font-weight: 600;
}

.cvc-card-hero-meta {
  font-size: 0.75rem;
  color: var(--cvc-muted);
  margin-bottom: 0.15rem;
}

.cvc-card-hero-price {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--cvc-primary);
}

/* =======================================================
   CHIPS (TIPO DE ANUNCIANTE / DESTAQUE)
   ======================================================= */

.cvc-card-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.2rem 0.7rem;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 500;
  margin-bottom: 0.2rem;
  background-color: #f3f4f6;
  color: #374151;
}

.cvc-card-chip i {
  font-size: 0.8rem;
}

/* proprietário */

.cvc-card-chip--owner,
.cvc-card-imovel--owner .cvc-card-chip {
  background-color: var(--cvc-owner-bg);
  color: var(--cvc-owner-color);
}

/* corretor */

.cvc-card-chip--broker,
.cvc-card-imovel--broker .cvc-card-chip {
  background-color: var(--cvc-broker-bg);
  color: var(--cvc-broker-color);
}

/* imobiliária */

.cvc-card-chip--agency {
  background-color: var(--cvc-agency-bg);
  color: var(--cvc-agency-color);
}

/* destaque */

.cvc-card-imovel--highlight {
  border-width: 2px;
  border-color: rgba(249, 115, 22, 0.35);
}

.cvc-card-chip--destaque {
  background-color: #ffedd5;
  color: #c2410c;
}

/* =======================================================
   LISTAGEM DE IMÓVEIS – CARD BASE
   ======================================================= */

.cvc-section-title {
  font-size: 1.1rem;
  font-weight: 600;
}

.cvc-link-view-all {
  font-size: 0.85rem;
  color: var(--cvc-primary);
  text-decoration: none;
}

.cvc-link-view-all:hover {
  text-decoration: underline;
}

/* =========================================
   CARD DE IMÓVEL – ESPAÇAMENTO E LEITURA
   ========================================= */

/* Card geral */
.cvc-card-imovel {
  position: relative;
  background-color: #ffffff;
  border-radius: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.3);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 100%;
  cursor: pointer;
  box-shadow: 0 16px 32px rgba(15, 23, 42, 0.06);
  transition:
    transform 0.18s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease;
}

.cvc-card-imovel:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 45px rgba(15, 23, 42, 0.12);
  border-color: rgba(108, 43, 217, 0.35);
}

/* Imagem */

.cvc-card-imovel-img {
  width: 100%;
  height: 210px;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}

/* Corpo do card */

.cvc-card-imovel-body {
  padding: 0.85rem 1rem 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

/* Tag “Corretor / Imobiliária / Direto com proprietário” */

.cvc-card-imovel-body .cvc-card-chip {
  margin-bottom: 0.1rem;
}

/* Título */

.cvc-card-imovel-title {
  font-size: 0.98rem;
  font-weight: 600;
  margin: 0.1rem 0 0.2rem;
  letter-spacing: -0.01em;
}

/* Meta (bairro, área, quartos, vagas) – uma linha, com respiro */

.cvc-card-imovel-meta {
  font-size: 0.8rem;
  color: var(--cvc-muted);
  line-height: 1.4;
  margin-bottom: 0.35rem;
  white-space: nowrap;
  /* evita quebrar no “2 vg” sozinho */
  overflow: hidden;
  text-overflow: ellipsis;
  /* se ficar muito longo, corta com … */
}

.cvc-card-imovel-meta i {
  font-size: 0.8rem;
  color: var(--cvc-muted);
  margin-right: 0.25rem;
}

/* Preço – bem destacado, com linha separando */

.cvc-card-imovel-price {
  margin-top: auto;
  padding-top: 0.55rem;
  border-top: 1px dashed rgba(209, 213, 219, 0.8);
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--cvc-primary);
}

/* Variações por tipo de anunciante (mantém tua paleta) */

.cvc-card-imovel--owner .cvc-card-chip {
  background-color: var(--cvc-owner-bg);
  color: var(--cvc-owner-color);
}

.cvc-card-imovel--broker .cvc-card-chip {
  background-color: var(--cvc-broker-bg);
  color: var(--cvc-broker-color);
}

.cvc-card-imovel--highlight {
  border-width: 2px;
  border-color: rgba(249, 115, 22, 0.35);
}

.cvc-card-chip--destaque {
  background-color: #ffedd5;
  color: #c2410c;
}

/* Ajuste específico para a grid da home */

.cvc-imoveis-grid--home .cvc-card-imovel-img {
  height: 210px;
}


/* opcional: 4 cards por linha em desktop */

@media (min-width: 1200px) {
  .cvc-card-grid>[class*="col-"] {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

/* CTA genérico */

.cvc-cta-card {
  background-color: #fff;
  border-radius: var(--cvc-radius-lg);
  padding: 1.25rem 1.25rem;
  border: 1px solid var(--cvc-border);
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}

@media (min-width: 768px) {
  .cvc-cta-card {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 1.5rem 1.75rem;
  }
}

/* =======================================================
   PÁGINA DO IMÓVEL – HEADER & GALERIA
   ======================================================= */

.cvc-imovel-header {
  background-color: #f3f4f6;
}

.cvc-imovel-header-card {
  background-color: #ffffff;
  border-radius: var(--cvc-radius-lg);
  padding: 1rem 1.25rem;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(148, 163, 184, 0.35);
}

.cvc-breadcrumb a {
  font-size: 0.8rem;
}

.cvc-imovel-title {
  font-size: 1.4rem;
  font-weight: 600;
}

@media (min-width: 992px) {
  .cvc-imovel-title {
    font-size: 1.7rem;
  }
}

.cvc-imovel-location {
  font-size: 0.85rem;
  color: var(--cvc-muted);
}

/* galeria */

.cvc-imovel-gallery {
  margin-bottom: 1.5rem;
}

.cvc-imovel-main-photo {
  width: 100%;
  border-radius: 1.2rem;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 220px;
  cursor: pointer;
  background-color: #e5e7eb;
}

@media (min-width: 768px) {
  .cvc-imovel-main-photo {
    min-height: 320px;
  }
}

.cvc-imovel-thumbs {
  display: flex;
  gap: 0.5rem;
}

.cvc-imovel-thumb {
  flex: 1;
  border-radius: 0.8rem;
  background-size: cover;
  background-position: center;
  min-height: 70px;
  cursor: pointer;
  opacity: 0.9;
  background-color: #e5e7eb;
}

.cvc-imovel-thumb:hover {
  opacity: 1;
}

/* setas da galeria */

.cvc-galeria-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  background: rgba(15, 23, 42, 0.7);
  color: #fff;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  cursor: pointer;
  z-index: 5;
}

.cvc-galeria-arrow:hover {
  background: rgba(15, 23, 42, 0.9);
}

.cvc-galeria-arrow-prev {
  left: 10px;
}

.cvc-galeria-arrow-next {
  right: 10px;
}

/* card lateral (informações / contato) */

.cvc-imovel-sidecard {
  background-color: #fff;
  border-radius: var(--cvc-radius-lg);
  padding: 1.2rem 1.3rem;
  border: 1px solid var(--cvc-border);
}

.cvc-imovel-price {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--cvc-orange, #f97316);
}

.cvc-feature-item {
  padding: 0.5rem 0.6rem;
  border-radius: var(--cvc-radius-md);
  background-color: #f9fafb;
}

.cvc-feature-label {
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--cvc-muted);
}

.cvc-feature-value {
  font-size: 0.9rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.cvc-feature-icon {
  font-size: 0.9rem;
  color: var(--cvc-muted);
}

.cvc-imovel-safety {
  line-height: 1.4;
}

/* =======================================================
   FILTRO / BUSCAR – CÁPSULA COM RANGE
   ======================================================= */

/* base do filtro */
.cvc-search-inline {
  background-color: #ffffff;
  border-radius: 10px;
  /* máximo 10px */
  padding: 1rem 1.5rem;
  border: 1px solid var(--cvc-border);
  overflow: hidden;
}

.cvc-search-inline .row {
  margin-left: 0;
  margin-right: 0;
  --bs-gutter-x: 0.75rem;
}

.cvc-search-inline--buscar {
  max-width: 100%;
  border-radius: 1.25rem;
}

.cvc-search-btn {
  padding-inline: 1.75rem;
}

/* mobile */

@media (max-width: 767.98px) {
  .cvc-search-inline {
    border-radius: var(--cvc-radius-lg);
    padding: 0.85rem 0.85rem 1rem;
    border: 1px solid var(--cvc-border);
    overflow: visible;
  }

  .cvc-search-inline .row {
    --bs-gutter-x: 0.5rem;
  }

  .cvc-search-inline .col-12,
  .cvc-search-inline .col-6 {
    margin-bottom: 0.35rem;
  }

  .cvc-search-btn {
    width: 100%;
    border-radius: 999px;
  }
}

/* desktop – buscar mais forte, tipo cápsula */

@media (min-width: 992px) {
  .cvc-search-inline--buscar {
    max-width: 1120px;
    width: 100%;
    margin-inline: auto;
    margin-bottom: 1.5rem;
    border-radius: 10px;
    padding: 1.1rem 2rem;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  }

  .cvc-search-inline--buscar .form-control {
    height: 2.8rem;
    font-size: 0.9rem;
  }

  .cvc-search-inline--buscar .cvc-price-range-wrapper {
    padding-top: 0.3rem;
  }

  .cvc-search-inline--buscar .cvc-search-btn {
    height: 2.8rem;
    font-weight: 600;
  }
}

/* =======================================================
   BUSCAR – LISTA HORIZONTAL (IMAGEM 30% / TEXTO 70%)
   ======================================================= */

/* base: mobile continua vertical (já definido em cvc-card-imovel)
   aqui só mexemos a partir do desktop para a página BUSCAR */

@media (min-width: 992px) {
  .cvc-imoveis-grid--buscar .cvc-card-imovel {
    flex-direction: row;
    align-items: stretch;
  }

  .cvc-imoveis-grid--buscar .cvc-card-imovel-img {
    width: 32%;
    min-width: 220px;
    height: auto;
    aspect-ratio: 4 / 3;
  }

  .cvc-imoveis-grid--buscar .cvc-card-imovel-body {
    width: 68%;
    padding: 0.9rem 1rem 0.9rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .cvc-imoveis-grid--buscar .cvc-card-imovel-title {
    font-size: 1rem;
    line-height: 1.25;
    margin-bottom: 0.25rem;
  }

  .cvc-imoveis-grid--buscar .cvc-card-imovel-meta {
    font-size: 0.8rem;
    margin-bottom: 0.4rem;
  }

  .cvc-imoveis-grid--buscar .cvc-card-imovel-price {
    margin-top: 0.25rem;
    font-size: 1rem;
  }
}

/* =======================================================
   PÁGINA ANUNCIE GRÁTIS
   ======================================================= */

.cvc-anuncie-hero {
  background:
    radial-gradient(circle at top left, rgba(124, 58, 237, 0.08), transparent 55%),
    radial-gradient(circle at bottom right, rgba(250, 204, 21, 0.12), transparent 55%);
}

.cvc-anuncie-tag {
  border-radius: 999px;
  background-color: rgba(124, 58, 237, 0.08);
  color: var(--cvc-primary);
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.35rem 0.9rem;
  font-weight: 600;
}

.cvc-anuncie-title {
  font-size: 1.6rem;
  font-weight: 700;
}

@media (min-width: 992px) {
  .cvc-anuncie-title {
    font-size: 2rem;
  }
}

.cvc-anuncie-subtitle {
  font-size: 0.9rem;
  color: var(--cvc-muted);
}

.cvc-anuncie-bullets {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.cvc-anuncie-bullets li {
  font-size: 0.85rem;
  color: var(--cvc-text);
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  margin-bottom: 0.35rem;
}

.cvc-anuncie-bullets i {
  color: var(--cvc-green);
  margin-top: 0.15rem;
}

.cvc-anuncie-note {
  font-size: 0.8rem;
  color: var(--cvc-muted);
}

/* mini painel / highlight */

.cvc-anuncie-highlight-card {
  background-color: #fff;
  border-radius: var(--cvc-radius-lg);
  padding: 1.2rem 1.3rem;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.12);
  border: 1px solid rgba(148, 163, 184, 0.35);
}

.cvc-anuncie-highlight-title {
  font-size: 1rem;
  font-weight: 600;
}

.cvc-anuncie-highlight-sub {
  font-size: 0.8rem;
  color: var(--cvc-muted);
}

.cvc-anuncie-pill {
  border-radius: 999px;
  background-color: rgba(15, 23, 42, 0.04);
  padding: 0.35rem 0.8rem;
  font-size: 0.75rem;
  color: #111827;
}

/* estatísticas */

.cvc-anuncie-stat-card {
  background-color: #f9fafb;
  border-radius: var(--cvc-radius-md);
  padding: 0.6rem 0.7rem;
}

.cvc-anuncie-stat-label {
  font-size: 0.7rem;
  color: var(--cvc-muted);
}

.cvc-anuncie-stat-value {
  font-size: 1.1rem;
  font-weight: 700;
}

.cvc-anuncie-stat-badge {
  display: inline-flex;
  align-items: center;
  margin-top: 0.2rem;
  padding: 0.15rem 0.5rem;
  border-radius: 999px;
  background-color: rgba(124, 58, 237, 0.08);
  font-size: 0.7rem;
  color: var(--cvc-primary);
}

.cvc-anuncie-stat-badge--green {
  background-color: rgba(34, 197, 94, 0.08);
  color: var(--cvc-green);
}

/* leads preview (mini tabela) */

.cvc-anuncie-leads-preview {
  margin-top: 0.7rem;
  border-radius: var(--cvc-radius-md);
  border: 1px dashed rgba(148, 163, 184, 0.6);
  padding: 0.7rem 0.8rem;
}

.cvc-anuncie-leads-title {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--cvc-muted);
}

.cvc-anuncie-leads-filter {
  font-size: 0.75rem;
  color: var(--cvc-text);
}

.cvc-anuncie-lead-item {
  display: flex;
  justify-content: space-between;
  gap: 0.6rem;
  padding-top: 0.4rem;
  margin-top: 0.4rem;
  border-top: 1px solid rgba(229, 231, 235, 0.8);
}

.cvc-anuncie-lead-item strong {
  font-size: 0.8rem;
}

.cvc-anuncie-lead-item small {
  font-size: 0.75rem;
}

.cvc-anuncie-lead-time {
  font-size: 0.75rem;
  color: var(--cvc-muted);
}

/* seções & steps */

.cvc-anuncie-section {
  border-top: 1px solid rgba(229, 231, 235, 0.8);
}

.cvc-anuncie-steps {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.cvc-anuncie-steps li {
  display: flex;
  gap: 0.6rem;
  margin-bottom: 0.8rem;
}

.cvc-anuncie-step-number {
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background-color: var(--cvc-primary);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 600;
}

.cvc-anuncie-steps p {
  font-size: 0.8rem;
  margin-bottom: 0;
  color: var(--cvc-muted);
}

/* cards de benefício / perfis / planos */

.cvc-anuncie-feature-card,
.cvc-anuncie-profile-card,
.cvc-anuncie-plan-card {
  background-color: #fff;
  border-radius: var(--cvc-radius-lg);
  border: 1px solid var(--cvc-border);
  padding: 0.9rem 1rem;
  height: 100%;
}

.cvc-anuncie-feature-icon {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background-color: rgba(124, 58, 237, 0.08);
  color: var(--cvc-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
}

.cvc-anuncie-feature-card h3,
.cvc-anuncie-profile-card h3,
.cvc-anuncie-plan-card h3 {
  font-size: 0.95rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.cvc-anuncie-feature-card p,
.cvc-anuncie-profile-card p {
  font-size: 0.8rem;
  color: var(--cvc-muted);
}

/* perfis */

.cvc-anuncie-profile-card {
  padding: 1.1rem 1.1rem;
}

.cvc-anuncie-profile-tag {
  display: inline-flex;
  border-radius: 999px;
  background-color: rgba(148, 163, 184, 0.12);
  font-size: 0.7rem;
  padding: 0.25rem 0.7rem;
  margin-bottom: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: #4b5563;
}

.cvc-anuncie-profile-card ul {
  padding-left: 1rem;
  margin-bottom: 0;
}

.cvc-anuncie-profile-card li {
  font-size: 0.8rem;
  color: var(--cvc-text);
  margin-bottom: 0.25rem;
}

/* planos */

.cvc-anuncie-plan-card {
  padding: 1.1rem 1.2rem;
}

.cvc-anuncie-plan-card--free {
  border-width: 2px;
  border-color: rgba(124, 58, 237, 0.35);
  box-shadow: 0 18px 40px rgba(124, 58, 237, 0.12);
}

.cvc-anuncie-plan-card--soon {
  opacity: 0.9;
}

.cvc-anuncie-plan-pill {
  display: inline-flex;
  border-radius: 999px;
  padding: 0.25rem 0.7rem;
  font-size: 0.7rem;
  margin-bottom: 0.5rem;
  background-color: rgba(124, 58, 237, 0.08);
  color: var(--cvc-primary);
}

.cvc-anuncie-plan-price {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
}

.cvc-anuncie-plan-card ul {
  padding-left: 1rem;
  margin-bottom: 0;
}

.cvc-anuncie-plan-card li {
  font-size: 0.8rem;
  color: var(--cvc-text);
  margin-bottom: 0.25rem;
}

/* CTA final */

.cvc-anuncie-cta-final {
  background-color: #fff;
  border-radius: var(--cvc-radius-lg);
  border: 1px solid var(--cvc-border);
  padding: 1.2rem 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

@media (min-width: 768px) {
  .cvc-anuncie-cta-final {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 1.4rem 1.8rem;
  }
}

/* =======================================================
   AUTH PAGES (LOGIN / CRIAR CONTA)
   ======================================================= */

.cvc-auth-section {
  padding: 3rem 0;
  background:
    radial-gradient(circle at top, #ede9fe 0, #f5f5f7 40%, #f5f5f7 100%);
}

@media (min-width: 992px) {
  .cvc-auth-section {
    padding: 4.5rem 0;
  }
}

.cvc-auth-layout {
  max-width: 1040px;
  margin: 0 auto;
}

/* coluna de texto */

.cvc-auth-hero-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.1rem 0.7rem;
  border-radius: 999px;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  background-color: #ede9fe;
  color: #6c2bd9;
  font-weight: 600;
  margin-bottom: 0.65rem;
}

.cvc-auth-hero-title {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 0.6rem;
}

@media (min-width: 992px) {
  .cvc-auth-hero-title {
    font-size: 1.9rem;
  }
}

.cvc-auth-hero-text {
  font-size: 0.9rem;
  color: var(--cvc-muted);
  max-width: 420px;
}

.cvc-auth-hero-list {
  list-style: none;
  padding-left: 0;
  margin-top: 1rem;
  font-size: 0.9rem;
  color: var(--cvc-muted);
}

.cvc-auth-hero-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.45rem;
  margin-bottom: 0.45rem;
}

.cvc-auth-hero-bullet {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, #6c2bd9, #8b5cf6);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  flex-shrink: 0;
}

/* card principal */

.cvc-auth-card {
  position: relative;
  background-color: #ffffff;
  border-radius: 1.5rem;
  padding: 1.75rem 1.5rem;
  border: 1px solid rgba(148, 163, 184, 0.4);
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
}

@media (min-width: 768px) {
  .cvc-auth-card {
    padding: 2rem 2rem;
  }
}

.cvc-auth-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  border-top: 4px solid #6c2bd9;
  pointer-events: none;
}

.cvc-auth-title {
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin-bottom: 0.3rem;
}

.cvc-auth-subtitle {
  font-size: 0.9rem;
  color: var(--cvc-muted);
  margin-bottom: 1.25rem;
}

/* form */

.cvc-auth-form .form-label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--cvc-muted);
  margin-bottom: 0.25rem;
}

.cvc-auth-form .form-control {
  border-radius: 0.85rem;
  border-color: #e5e7eb;
  font-size: 0.9rem;
  padding: 0.55rem 0.75rem;
}

.cvc-auth-form .form-control:focus {
  border-color: rgba(108, 43, 217, 0.8);
  box-shadow: 0 0 0 1px rgba(108, 43, 217, 0.25);
}

.cvc-auth-form small.text-help {
  font-size: 0.75rem;
  color: var(--cvc-muted);
}

/* botões / links */

.cvc-auth-primary-btn {
  border-radius: 999px;
  width: 100%;
  padding: 0.7rem 1rem;
  font-weight: 600;
  font-size: 0.95rem;
  background: linear-gradient(135deg, #6c2bd9, #8b5cf6);
  border: none;
  color: #fff;
}

.cvc-auth-primary-btn:hover {
  filter: brightness(1.03);
  color: #fff;
}

.cvc-auth-secondary-link {
  font-size: 0.85rem;
  color: #6c2bd9;
  text-decoration: none;
}

.cvc-auth-secondary-link:hover {
  text-decoration: underline;
}

.cvc-auth-footer-text {
  font-size: 0.85rem;
  color: var(--cvc-muted);
  margin-top: 1rem;
}

.cvc-auth-footer-text a {
  font-weight: 500;
}

/* lembrar login / termos / confiança */

.cvc-login-remember {
  font-size: 0.8rem;
  color: var(--cvc-muted);
}

.cvc-auth-terms {
  font-size: 0.8rem;
  color: var(--cvc-muted);
}

.cvc-auth-terms a {
  color: #6c2bd9;
  text-decoration: underline;
  text-decoration-thickness: 1px;
}

.cvc-auth-trust {
  margin-top: 0.75rem;
  font-size: 0.8rem;
  color: var(--cvc-muted);
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
}

.cvc-auth-trust-icon {
  font-size: 0.9rem;
  color: #16a34a;
  margin-top: 1px;
}

/* tabs tipo de conta */

.cvc-account-type-toggle {
  display: inline-flex;
  padding: 0.2rem;
  border-radius: 999px;
  background-color: #f3f4f6;
  margin-bottom: 1.25rem;
}

.cvc-account-type-btn {
  position: relative;
  border: none;
  background: transparent;
  padding: 0.4rem 0.9rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--cvc-muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.cvc-account-type-btn span.icon {
  font-size: 0.9rem;
}

.cvc-account-type-btn.active {
  background-color: #f5f3ff;
  color: #6c2bd9;
  box-shadow: 0 0 0 1px rgba(108, 43, 217, 0.35);
}

/* radios reais escondidos */

.cvc-account-type-toggle input[type="radio"] {
  display: none;
}

/* responsivo auth */

@media (max-width: 767.98px) {
  .cvc-auth-card {
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.14);
  }

  .cvc-auth-section {
    padding-top: 2.5rem;
  }

  .cvc-auth-hero-title {
    font-size: 1.4rem;
  }

  .cvc-auth-layout {
    max-width: 100%;
  }
}

@media (max-width: 480px) {
  .cvc-account-type-toggle {
    flex-direction: column;
    align-items: stretch;
    padding: 8px;
    border-radius: 16px;
  }

  .cvc-account-type-btn {
    width: 100%;
    justify-content: flex-start;
    font-size: 0.9rem;
    padding: 0.45rem 0.75rem;
  }

  .cvc-account-type-btn .icon {
    margin-right: 0.5rem;
  }
}

/* =======================================================
   PAINEL (DASHBOARD)
   ======================================================= */

.cvc-panel-section {
  background-color: #f5f5f7;
  min-height: calc(100vh - 80px);
}

.cvc-panel-header {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.cvc-panel-user {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.cvc-panel-avatar {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: linear-gradient(135deg, #6c2bd9, #f28c00);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
  font-size: 1.1rem;
}

.cvc-panel-user-name {
  font-weight: 600;
  font-size: 0.95rem;
}

.cvc-panel-user-role {
  font-size: 0.8rem;
  color: #6b7280;
}

.cvc-panel-welcome {
  font-size: 0.85rem;
  color: #4b5563;
  margin-bottom: 0;
}

/* cards de ação */

.cvc-panel-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
  margin-top: 1.5rem;
}

.cvc-panel-action-card {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.9rem 0.95rem;
  border-radius: 1rem;
  background-color: #ffffff;
  border: 1px solid #e5e7eb;
  text-decoration: none;
  color: #111827;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.04);
}

.cvc-panel-action-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}

.cvc-panel-action-icon {
  font-size: 1.2rem;
}

.cvc-panel-action-title {
  font-weight: 600;
  font-size: 0.9rem;
}

.cvc-panel-action-text {
  font-size: 0.8rem;
  color: #6b7280;
}

@media (min-width: 768px) {
  .cvc-panel-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .cvc-panel-section {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

/* cartão genérico de anúncio dentro do painel */

.cvc-card-anuncio {
  background: #ffffff;
  border-radius: 1rem;
  border: 1px solid rgba(148, 163, 184, 0.25);
}

/* =======================================================
   TOGGLES / CHIPS COMPARTILHADOS
   ======================================================= */

.cvc-toggle-group {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.35rem;
  flex-wrap: wrap;
}

.cvc-toggle-btn {
  flex: 1 1 48%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.6);
  padding: 0.45rem 0.8rem;
  background: #ffffff;
  font-size: 0.82rem;
  font-weight: 500;
  color: #111827;
  transition: all 0.18s ease;
  cursor: pointer;
  white-space: nowrap;
}

.cvc-toggle-btn .icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 999px;
  background: #eef2ff;
  color: #4f46e5;
  font-size: 0.9rem;
}

.cvc-toggle-btn.active {
  border-color: #6d28d9;
  background: linear-gradient(135deg, #4f46e5, #7c3aed);
  color: #ffffff;
  box-shadow: 0 10px 20px rgba(88, 28, 135, 0.25);
}

.cvc-toggle-btn.active .icon {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
}

.cvc-toggle-btn:disabled {
  opacity: 0.9;
  cursor: default;
}

.cvc-toggle-input {
  display: none;
}

/* chips numéricos (quartos, suítes etc.) */

.cvc-chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.25rem;
}

.cvc-chip-option {
  flex: 1 1 22%;
  min-width: 3rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.7);
  background: #ffffff;
  padding: 0.35rem 0.3rem;
  font-size: 0.82rem;
  font-weight: 500;
  text-align: center;
  color: #111827;
  transition: all 0.15s ease;
  cursor: pointer;
}

.cvc-chip-option.active {
  background: #4f46e5;
  border-color: #4f46e5;
  color: #ffffff;
  box-shadow: 0 8px 16px rgba(79, 70, 229, 0.35);
}

.cvc-chip-option:active {
  transform: translateY(1px) scale(0.99);
}

/* =======================================================
   NOVO ANÚNCIO – FORMULÁRIO
   ======================================================= */

.cvc-section-new-imovel {
  background:
    radial-gradient(circle at top left, rgba(124, 58, 237, 0.08), transparent 55%),
    radial-gradient(circle at bottom right, rgba(96, 165, 250, 0.08), transparent 55%),
    #f3f4f6;
  min-height: 100vh;
}

.cvc-section-new-imovel .cvc-section-title {
  font-size: 1.4rem;
  font-weight: 700;
}

@media (min-width: 768px) {
  .cvc-section-new-imovel .cvc-section-title {
    font-size: 1.8rem;
  }
}

.cvc-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: rgba(124, 58, 237, 0.08);
  color: #6d28d9;
  margin-bottom: 0.25rem;
}

/* card do formulário */

.cvc-card-form {
  background: #ffffff;
  border-radius: 1.25rem;
  padding: 1.25rem 1.25rem 1.5rem;
  box-shadow:
    0 18px 35px rgba(15, 23, 42, 0.08),
    0 0 0 1px rgba(148, 163, 184, 0.18);
}

@media (min-width: 768px) {
  .cvc-card-form {
    padding: 1.5rem 1.75rem 1.75rem;
  }
}

.cvc-card-form-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.cvc-card-form-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

.cvc-card-form-subtitle {
  font-size: 0.85rem;
  color: #6b7280;
  margin: 0.1rem 0 0;
}

.cvc-step-pill {
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  font-size: 0.75rem;
  background: #f3e8ff;
  color: #6d28d9;
  font-weight: 600;
}

/* campos */

.cvc-input-lg {
  height: 2.75rem;
  font-size: 0.95rem;
}

.cvc-textarea {
  border-radius: 0.9rem;
}

/* info plano (anúncio grátis etc.) */

.cvc-plan-info {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.5rem;
  padding: 0.6rem 0.9rem;
  border-radius: 10px;
  background: #f5f3ff;
  border: 1px dashed rgba(124, 58, 237, 0.35);
}

.cvc-plan-badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.15rem 0.6rem;
  border-radius: 999px;
  background-color: #ffffff;
  color: var(--cvc-primary);
  white-space: nowrap;
}

.cvc-plan-desc {
  font-size: 0.75rem;
  color: var(--cvc-muted);
}

/* mobile – botões 100% */

@media (max-width: 575.98px) {
  .cvc-section-new-imovel .btn {
    border-radius: 999px;
  }
}

/* =======================================================
   EDIÇÃO DE IMÓVEL – ESTILO ESPECÍFICO
   ======================================================= */

.cvc-section-edit-imovel {
  background: linear-gradient(180deg, #fff7ed 0, #f9fafb 180px, #f9fafb 100%);
}

.cvc-section-edit-imovel .cvc-kicker {
  color: #c2410c;
  background-color: #fffbeb;
  border-radius: 999px;
  padding: 0.15rem 0.75rem;
  font-weight: 600;
}

.cvc-section-edit-imovel .cvc-card-form {
  border-left: 3px solid #f97316;
}

.cvc-section-edit-imovel .cvc-card-form-header {
  border-bottom: 1px solid #e5e7eb;
}

.cvc-section-edit-imovel .cvc-step-pill {
  background-color: #f97316;
  color: #fff;
  font-weight: 600;
}

.cvc-section-edit-imovel .cvc-card-form-subtitle,
.cvc-section-edit-imovel p.text-muted,
.cvc-section-edit-imovel small.text-help {
  color: #6b7280;
}

.cvc-section-edit-imovel .cvc-btn-primary {
  background-color: #f97316;
  border-color: #f97316;
}

.cvc-section-edit-imovel .cvc-btn-primary:hover {
  background-color: #ea580c;
  border-color: #ea580c;
}

/* imagens da edição */

.cvc-imagem-thumb-wrapper {
  position: relative;
  border-radius: 0.75rem;
  overflow: hidden;
  background-color: #f3f4f6;
  border: 1px solid #e5e7eb;
}

.cvc-imagem-thumb {
  display: block;
  width: 100%;
  height: 160px;
  object-fit: cover;
}

/* botões (estrela + lixeira) no canto superior direito */

.cvc-imagem-actions {
  position: absolute;
  top: 6px;
  right: 6px;
  display: flex;
  gap: 4px;
}

.cvc-imagem-cap-btn,
.cvc-imagem-delete-btn {
  padding: 0.15rem 0.4rem;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
  font-size: 0.7rem;
}

/* estado ativo: capa selecionada */

.cvc-imagem-cap-btn--active {
  background-color: #f97316;
  color: #fff;
  border-color: #f97316;
}

/* =======================================================
   NAV MOBILE / HAMBURGER
   ======================================================= */

.cvc-nav-toggle {
  border: none;
  background: #ffffff;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.12);
  padding: 0;
}

.cvc-nav-toggle__bar {
  width: 20px;
  height: 2px;
  border-radius: 999px;
  background: #111827;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.cvc-nav-toggle.is-open .cvc-nav-toggle__bar:nth-child(1) {
  transform: translateY(3px) rotate(45deg);
}

.cvc-nav-toggle.is-open .cvc-nav-toggle__bar:nth-child(2) {
  opacity: 0;
}

.cvc-nav-toggle.is-open .cvc-nav-toggle__bar:nth-child(3) {
  transform: translateY(-3px) rotate(-45deg);
}

/* overlay mobile */

body.cvc-nav-open {
  overflow: hidden;
}

.cvc-nav-mobile {
  position: fixed;
  inset: 0;
  z-index: 1050;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.cvc-nav-mobile.is-open {
  pointer-events: auto;
  opacity: 1;
}

.cvc-nav-mobile__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.3);
}

/* painel lateral */

.cvc-nav-mobile__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 340px;
  height: 100%;
  background: #f9fafb;
  box-shadow: -10px 0 30px rgba(15, 23, 42, 0.18);
  border-radius: 1.4rem 0 0 1.4rem;
  padding: 1rem 1.25rem 1.25rem;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.22s ease;
}

.cvc-nav-mobile.is-open .cvc-nav-mobile__panel {
  transform: translateX(0);
}

/* header */

.cvc-nav-mobile__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
}

.cvc-nav-close {
  border: none;
  background: #ffffff;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
  padding: 0;
  position: relative;
}

.cvc-nav-close span {
  position: absolute;
  width: 16px;
  height: 2px;
  border-radius: 999px;
  background: #111827;
}

.cvc-nav-close span:nth-child(1) {
  transform: rotate(45deg);
}

.cvc-nav-close span:nth-child(2) {
  transform: rotate(-45deg);
}

/* user card */

.cvc-nav-mobile__user-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0.85rem;
  border-radius: 1rem;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
  margin-bottom: 1rem;
}

.cvc-nav-mobile__avatar {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: linear-gradient(135deg, #6c2bd9, #f97316);
  color: #ffffff;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cvc-nav-mobile__user-name {
  font-size: 0.9rem;
  font-weight: 600;
}

.cvc-nav-mobile__user-role {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6b7280;
}

/* links */

.cvc-nav-mobile__links {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin-bottom: 1.25rem;
}

.cvc-nav-mobile__link {
  display: block;
  padding: 0.65rem 0.25rem;
  border-radius: 0.8rem;
  font-size: 0.9rem;
  text-decoration: none;
  color: #111827;
}

.cvc-nav-mobile__link:hover {
  background: #ffffff;
}

/* footer */

.cvc-nav-mobile__footer {
  margin-top: auto;
  padding: 1rem 1.5rem 1.5rem;
  border-top: 1px solid rgba(148, 163, 184, 0.25);
  background: #f9fafb;
  box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.12);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.cvc-nav-mobile__footer a {
  display: block;
  text-align: center;
  padding: 0.75rem 1rem;
  border-radius: 999px;
  font-weight: 500;
  text-decoration: none;
}

/* meu painel */

.cvc-nav-mobile__footer a.cvc-nav-btn-painel {
  background: #4f46e5;
  color: #fff;
}

/* sair */

.cvc-nav-mobile__footer a.cvc-nav-btn-sair {
  background: #fee2e2;
  color: #b91c1c;
}

/* botões genéricos se usar as classes .btn */

.cvc-nav-mobile__btn-primary {
  background: #6c2bd9;
  border-radius: 999px;
  border-color: #6c2bd9;
  color: #ffffff;
  font-weight: 500;
}

.cvc-nav-mobile__btn-primary:hover {
  background: #5a21c2;
  border-color: #5a21c2;
  color: #ffffff;
}

.cvc-nav-mobile__btn-outline {
  border-radius: 999px;
  border: 1px solid #6b7280;
  color: #111827;
  background: #ffffff;
  font-weight: 500;
}

.cvc-nav-mobile__btn-outline:hover {
  background: #f3f4f6;
}

/* esconde nav mobile no desktop */

@media (min-width: 992px) {
  .cvc-nav-mobile {
    display: none;
  }
}

/* =======================================================
   FOOTER / MAIN HEIGHT
   ======================================================= */

.cvc-footer {
  background-color: #fff;
}

.cvc-main {
  min-height: calc(100vh - 80px);
}

/* ============================
   CARD IMÓVEL – HIERARQUIA NOVA
   ============================ */

/* Título um pouquinho maior */
.cvc-card-imovel-title {
  font-size: 1.05rem;
  /* antes menor */
  font-weight: 600;
  line-height: 1.25;
  margin-bottom: 0.25rem;
}

/* Localização mais discreta */
.cvc-card-imovel-meta {
  font-size: 0.8rem;
  color: var(--cvc-muted);
  margin-bottom: 0.35rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.cvc-card-imovel-meta i {
  font-size: 0.8rem;
  color: #9ca3af;
  /* cinza claro */
}

/* Tabela 2x2 – m² / quartos / banheiros / vagas */
.cvc-card-imovel-specs {
  width: 100%;
  margin: 0.2rem 0 0.6rem;
  font-size: 0.82rem;
  border-collapse: collapse;
}

.cvc-card-imovel-specs td {
  width: 50%;
  padding: 0.15rem 0.1rem;
  vertical-align: middle;
  white-space: nowrap;
}

.cvc-card-imovel-specs i {
  width: 18px;
  text-align: center;
  margin-right: 0.35rem;
  font-size: 0.8rem;
  color: #9ca3af;
  /* ícones em cinza claro discreto */
}

.cvc-card-imovel-specs span {
  color: #4b5563;
  /* cinza 600 – bom contraste sem “gritar” */
}

/* Linha separando specs do preço (bem suave) */
.cvc-card-imovel-price {
  font-size: 1rem;
  font-weight: 700;
  color: var(--cvc-primary);
  padding-top: 0.55rem;
  border-top: 1px dashed #e5e7eb;
  margin-top: 0.2rem;
}

/* === PREVIEW DE FOTOS (NOVO ANÚNCIO) === */

/* container de cada miniatura */
.cvc-preview-item {
  position: relative;
  /* >>> IMPORTANTE: base para o X absoluto */
  width: 180px;
  border-radius: 16px;
  overflow: hidden;
  background: #0f172a;
}

/* imagem da miniatura */
.cvc-preview-item img {
  width: 100%;
  height: 140px;
  object-fit: cover;
  display: block;
}

/* botão de remover (X) */
.cvc-preview-remove {
  position: absolute;
  /* >>> agora fica “flutuando” sobre a imagem */
  top: 6px;
  right: 6px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: none;
  background: rgba(15, 23, 42, 0.8);
  color: #f9fafb;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.15s ease;
}

.cvc-preview-remove:hover {
  background: rgba(30, 64, 175, 0.95);
  transform: scale(1.05);
}

/* grid de previews */
.cvc-preview-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Miniaturas de fotos no cadastro de novo imóvel */
.cvc-preview-thumb {
  position: relative;
  border-radius: 1.2rem;
  overflow: hidden;
  background: #f3f4ff;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.12);
}

.cvc-preview-thumb img {
  width: 100%;
  height: 160px;
  object-fit: cover;
  display: block;
}

.cvc-preview-remove-btn {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 0;
  background: rgba(15, 23, 42, 0.9);
  color: #fff;
  font-size: 18px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.5);
}

.cvc-preview-remove-btn:hover {
  transform: translateY(-1px);
  opacity: 0.9;
}

/* [NOVO] Pré-visualização de fotos no cadastro de imóvel */
.cvc-preview-imagem-grid .cvc-imagem-thumb-wrapper {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  background: #f3f4ff;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}

.cvc-preview-imagem-grid .cvc-imagem-thumb {
  width: 100%;
  height: 150px;
  object-fit: cover;
  display: block;
}

.cvc-preview-imagem-grid .cvc-imagem-delete-btn {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.25);
}

/* Botão de capa no preview do novo imóvel */
.cvc-preview-imagem-grid .cvc-imagem-cap-btn {
  position: absolute;
  top: 0.5rem;
  left: 0.5rem;
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.25);
}

/* Quando estiver marcada como capa */
.cvc-preview-imagem-grid .cvc-imagem-cap-btn--active {
  background: #fbbf24;
  /* um "douradinho" suave, ajusta pra tua paleta */
  color: #111827;
}

.cvc-input-readonly[readonly] {
  background-color: #f5f5f9;
  color: #6b7280;
  cursor: not-allowed;
}

/* Se quiser tirar o foco azul */
.cvc-input-readonly[readonly]:focus {
  box-shadow: none;
}

.cvc-input-readonly[readonly] {
  background-color: #f5f5f9;
  color: #6b7280;
  cursor: not-allowed;
}

.cvc-input-readonly[readonly]:focus {
  box-shadow: none;
}

.cvc-card-imovel-img {
  background-color: #f3f4f6;
  /* esqueleto cinza claro */
  background-size: cover;
  background-position: center;
}

.cvc-link-back {
  font-size: 0.875rem;
  text-decoration: none;
  color: #6c757d;
}

.cvc-link-back:hover {
  text-decoration: underline;
  color: #343a40;
}

.cvc-avatar-wrap {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto;
  background: #f3f4f6;
}

.cvc-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cvc-user-pill__avatar--image {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cvc-user-avatar-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cvc-panel-avatar-img {
  width: 56px;
  height: 56px;
  border-radius: 999px;
  object-fit: cover;
  display: block;
}


.cvc-panel-metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.cvc-panel-metric-card {
  background: #ffffff;
  border-radius: 18px;
  padding: 16px 18px;
  box-shadow: 0 18px 35px rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(148, 163, 184, 0.25);
}

.cvc-panel-metric-label {
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: #9ca3af;
  margin-bottom: 6px;
}

.cvc-panel-metric-value {
  font-size: 1.6rem;
  font-weight: 700;
  color: #111827;
}

.cvc-panel-metric-foot {
  margin-top: 4px;
  font-size: 0.8rem;
  color: #6b7280;
}

/* ===========================
   OVERLAY - CONECTANDO WHATSAPP
   =========================== */

.cvc-overlay {
  position: fixed;
  inset: 0;
  display: none;
  /* começa oculto */
  align-items: center;
  justify-content: center;
  z-index: 9999;
  font-family: inherit;
}

.cvc-overlay.is-active {
  display: flex;
}

.cvc-overlay-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, 0.65);
  /* fundo escuro translúcido */
  backdrop-filter: blur(4px);
}

.cvc-overlay-card {
  position: relative;
  max-width: 360px;
  width: 90%;
  padding: 22px 20px;
  border-radius: 18px;
  background: #0f172a;
  color: #f9fafb;
  box-shadow: 0 20px 40px rgba(15, 23, 42, 0.8);
  text-align: center;
}

.cvc-overlay-spinner {
  width: 40px;
  height: 40px;
  margin: 0 auto 14px;
  border-radius: 999px;
  border: 3px solid rgba(148, 163, 184, 0.45);
  border-top-color: #a855f7;
  /* pode ajustar pra cor da sua marca */
  animation: cvc-spin 0.8s linear infinite;
}

@keyframes cvc-spin {
  to {
    transform: rotate(360deg);
  }
}

.cvc-overlay-title {
  font-size: 1.05rem;
  font-weight: 600;
  margin-bottom: 4px;
}

.cvc-overlay-text {
  font-size: 0.9rem;
  color: #cbd5f5;
  margin: 0;
}

@media (max-width: 575.98px) {
  .cvc-overlay-card {
    padding: 18px 16px;
  }

  .cvc-overlay-title {
    font-size: 1rem;
  }

  .cvc-overlay-text {
    font-size: 0.86rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cvc-overlay-spinner {
    animation: none;
  }
}

.cvc-whats-redirect {
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cvc-dashboard-card {
  border-radius: 18px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.05);
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
  padding: 18px 20px;
}

.cvc-dashboard-card--table {
  padding: 20px 22px;
}

.cvc-dashboard-label {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #9ca3af;
}

.cvc-dashboard-value {
  font-size: 1.6rem;
  font-weight: 700;
  color: #111827;
}

.cvc-dashboard-hint {
  font-size: 0.8rem;
  color: #9ca3af;
}

.cvc-table-leads thead th {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #9ca3af;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.cvc-table-leads tbody td {
  font-size: 0.9rem;
  vertical-align: top;
  border-bottom-color: rgba(15, 23, 42, 0.03);
}

.cvc-link-imovel {
  font-weight: 600;
  color: #111827;
  text-decoration: none;
}

.cvc-link-imovel:hover {
  text-decoration: underline;
}

.cvc-btn-whats-lead {
  border-radius: 999px;
  font-weight: 600;
}

/* Página de leads ---------------------------------------------------- */
.cvc-page-leads {
  background-color: #f4f4fb;
}

.cvc-page-leads .cvc-page-title {
  font-size: 2.1rem;
  font-weight: 700;
}

.cvc-page-leads .cvc-page-subtitle {
  color: #6b7280;
  font-size: 0.95rem;
}

/* Busca */
.cvc-leads-search {
  background: #ffffff;
  border-radius: 999px;
  padding: 4px 14px 4px 10px;
  border: 1px solid rgba(148, 163, 184, 0.5);
  max-width: 320px;
}

.cvc-leads-search input {
  border: none;
  box-shadow: none !important;
  font-size: 0.9rem;
}

.cvc-leads-search input:focus {
  outline: none;
}

.cvc-leads-search-icon {
  color: #9ca3af;
  margin-right: 6px;
}

/* Métricas */
.cvc-leads-metrics .cvc-leads-metric-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 14px 14px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  box-shadow: 0 10px 25px rgba(15, 23, 42, 0.04);
}

.cvc-leads-metric-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  flex-shrink: 0;
}

.cvc-leads-metric-icon--purple {
  background: linear-gradient(135deg, #7c3aed, #a855f7);
}

.cvc-leads-metric-icon--green {
  background: linear-gradient(135deg, #16a34a, #22c55e);
}

.cvc-leads-metric-icon--orange {
  background: linear-gradient(135deg, #f97316, #f59e0b);
}

.cvc-leads-metric-label {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #9ca3af;
}

.cvc-leads-metric-value {
  font-size: 1.5rem;
  font-weight: 700;
  display: block;
  color: #111827;
}

.cvc-leads-metric-helper {
  font-size: 0.8rem;
  color: #6b7280;
}

/* Tabela */
.cvc-leads-table {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.25);
}

.cvc-leads-table table {
  font-size: 0.9rem;
}

.cvc-leads-table thead {
  background: #f9fafb;
}

.cvc-leads-table th {
  font-weight: 600;
  color: #6b7280;
  border-bottom-color: rgba(148, 163, 184, 0.3) !important;
}

.cvc-lead-row td {
  border-top-color: rgba(243, 244, 246, 1) !important;
}

/* Avatar / info principal */
.cvc-lead-main {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cvc-lead-avatar {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f97316, #ec4899);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 0.9rem;
  font-weight: 600;
}

.cvc-lead-main-text strong {
  font-size: 0.9rem;
}

.cvc-lead-whats {
  display: inline-flex;
  align-items: center;
}

.cvc-lead-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 0.7rem;
  background: rgba(59, 130, 246, 0.08);
  color: #2563eb;
  margin-top: 4px;
}

/* Mensagem */
.cvc-lead-msg {
  display: inline-block;
  max-width: 340px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Vazio */
.cvc-leads-empty h3 {
  font-size: 1.1rem;
  font-weight: 600;
}

.cvc-pagination-wrapper .page-link {
  border-radius: 999px !important;
  font-size: 0.85rem;
}

.cvc-lead-badge--repeat {
  background: #fff7ed;
  /* fundo laranja bem claro */
  color: #c05621;
  /* texto laranja queimado */
  border: 1px solid rgba(234, 88, 12, 0.25);
  font-weight: 600;
  margin-left: .35rem;
}

.cvc-lead-badge-repeat {
  background: #fee2e2;
  color: #b91c1c;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
  margin-left: 4px;
}


.cvc-panel-action-card-admin {
  border: 1px dashed rgba(0, 0, 0, 0.08);
}

.cvc-panel-action-card-admin .cvc-panel-action-icon {
  /* por enquanto mantém igual, depois a gente pode personalizar mais */
}

/* =========================================
   BLOG CASA À VENDA CUIABÁ - ESTILO CLEAN
   ========================================= */

:root {
  --cvc-blog-primary: var(--cvc-primary, #6d28d9);
  --cvc-blog-bg: #f5f5f7;
  --cvc-blog-card-bg: #ffffff;
  --cvc-blog-border: #e5e7eb;
  --cvc-blog-text: #111827;
  --cvc-blog-muted: #6b7280;
}

/* Wrapper principal */
.cvc-blog-hero-wrapper {
  background: var(--cvc-blog-bg);
  border-bottom: 1px solid var(--cvc-blog-border);
}

.cvc-blog-main-section {
  background: #fafafa;
}

/* Título e subtítulo topo */
.cvc-blog-title {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--cvc-blog-text);
  margin-bottom: .25rem;
}

@media (min-width: 992px) {
  .cvc-blog-title {
    font-size: 1.9rem;
  }
}

.cvc-blog-subtitle {
  color: var(--cvc-blog-muted);
  max-width: 44rem;
}

/* Busca */
.cvc-blog-search input.form-control {
  border-radius: .75rem;
  border: 1px solid var(--cvc-blog-border);
  box-shadow: none;
}

.cvc-blog-search .btn {
  border-radius: .75rem;
}

/* META GENÉRICA */
.cvc-blog-meta {
  color: var(--cvc-blog-muted);
}

/* HERO PRINCIPAL (post destaque) */
.cvc-blog-hero-main {
  background: var(--cvc-blog-card-bg);
  border-radius: 1rem;
  border: 1px solid var(--cvc-blog-border);
  overflow: hidden;
  box-shadow: 0 8px 18px rgba(15, 23, 42, .04);
  min-height: 500px;
}

.cvc-blog-hero-main-img-wrapper {
  position: relative;
  overflow: hidden;
}

.cvc-blog-hero-main-img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  transition: transform .4s ease;
}

.cvc-blog-hero-main:hover .cvc-blog-hero-main-img {
  transform: scale(1.03);
}

.cvc-blog-hero-tag {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  padding: .25rem .7rem;
  border-radius: 999px;
  background: rgba(37, 99, 235, .9);
  color: #fff;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.cvc-blog-hero-main-title {
  font-size: 1.4rem;
  font-weight: 700;
}

.cvc-blog-hero-main-title a {
  color: var(--cvc-blog-text);
  text-decoration: none;
}

.cvc-blog-hero-main-title a:hover {
  color: var(--cvc-blog-primary);
}

.cvc-blog-hero-main-resumo {
  color: var(--cvc-blog-muted);
}

/* Destaques menores (abaixo do principal) */
.cvc-blog-hero-small {
  background: var(--cvc-blog-card-bg);
  border-radius: .8rem;
  border: 1px solid var(--cvc-blog-border);
  overflow: hidden;
}

.cvc-blog-hero-small-img-wrapper {
  height: 110px;
  overflow: hidden;
}

.cvc-blog-hero-small-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}

.cvc-blog-hero-small:hover .cvc-blog-hero-small-img {
  transform: scale(1.04);
}

.cvc-blog-hero-small-title a {
  color: var(--cvc-blog-text);
  font-size: .95rem;
  font-weight: 600;
  text-decoration: none;
}

.cvc-blog-hero-small-title a:hover {
  color: var(--cvc-blog-primary);
}

/* SIDEBAR BLOCO GENÉRICO */
.cvc-blog-sidebar-block {
  background: var(--cvc-blog-card-bg);
  border-radius: .9rem;
  padding: 1.2rem;
  border: 1px solid var(--cvc-blog-border);
  min-height: 500px;
  margin-bottom: 20px;
}

.cvc-blog-sidebar-header {
  margin-bottom: .75rem;
}

.cvc-blog-sidebar-eyebrow {
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-weight: 600;
  color: var(--cvc-blog-primary);
}

.cvc-blog-sidebar-title {
  font-size: 1.05rem;
  font-weight: 700;
  margin: 0;
  color: var(--cvc-blog-text);
}

.cvc-blog-sidebar-item+.cvc-blog-sidebar-item {
  margin-top: .6rem;
}

.cvc-blog-sidebar-link {
  display: block;
  text-decoration: none;
}

.cvc-blog-sidebar-text {
  display: block;
  font-size: .9rem;
  color: var(--cvc-blog-text);
}

.cvc-blog-sidebar-link:hover .cvc-blog-sidebar-text {
  color: var(--cvc-blog-primary);
}

.cvc-blog-sidebar-meta {
  color: var(--cvc-blog-muted);
  font-size: .78rem;
}

.cvc-blog-sidebar-thumb-wrapper {
  width: 60px;
  min-width: 60px;
  height: 45px;
  border-radius: .6rem;
  overflow: hidden;
  background: #e5e7eb;
}

.cvc-blog-sidebar-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* SLOT PUBLICIDADE MAIS DISCRETO */
.cvc-blog-ad-slot {
  border-radius: .8rem;
  padding: 1rem;
  border: 1px dashed var(--cvc-blog-border);
  background: #f9fafb;
  font-size: .9rem;
}

/* CARDS DA LISTAGEM PRINCIPAL */
.cvc-blog-card {
  border-radius: .9rem;
  border: 1px solid var(--cvc-blog-border);
  background: var(--cvc-blog-card-bg);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}

.cvc-blog-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
}

.cvc-blog-card-img {
  height: 180px;
  object-fit: cover;
}

.cvc-blog-card-title a {
  color: var(--cvc-blog-text);
  text-decoration: none;
}

.cvc-blog-card-title a:hover {
  color: var(--cvc-blog-primary);
}

.cvc-blog-card-resumo {
  color: var(--cvc-blog-muted);
}

/* Ajustes responsivos */
@media (max-width: 767.98px) {
  .cvc-blog-hero-main-img {
    height: 200px;
  }
}


.cvc-blog-post-body img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 1.5rem auto;
  border-radius: .5rem;
}

/* Search do blog */
.cvc-blog-search-form {
  display: flex;
  align-items: stretch;
  gap: 0.75rem;
}

.cvc-blog-search-input {
  flex: 1;
  border-radius: 999px;
  padding-inline: 1.1rem;
  font-size: 0.95rem;
}

.cvc-blog-search-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  /* separa ícone do texto */
  padding: 0.7rem 1.4rem;
  border-radius: 999px;
  font-weight: 600;
  white-space: nowrap;
}

.cvc-blog-search-btn i {
  font-size: 0.95rem;
}

/* Acessibilidade helper */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Mobile first */
@media (max-width: 767.98px) {
  .cvc-blog-search-form {
    flex-direction: column;
  }

  .cvc-blog-search-btn {
    width: 100%;
  }
}

/* Breadcrumb do post do blog */
.cvc-breadcrumb .breadcrumb {
  background: transparent;
  padding: 0;
}

.cvc-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
  content: "›";
  color: #999 !important;
  font-size: 0.8rem;
}

.cvc-breadcrumb a {
  text-decoration: none;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
  color: #7B3FF2 !important;
  /* mesmo roxo dos chips/kicker */
}

.cvc-breadcrumb .breadcrumb-item.active {
  font-size: 0.75rem;
  color: #999;
}

/* Mobile: evita quebrar feio */
@media (max-width: 575.98px) {
  .cvc-breadcrumb {
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}


/* Bloco editorial fixo ao final do post */
.cvc-article-footer-box {
  border-radius: 20px;
  padding: 1.75rem 1.75rem;
  background: #f7f7fb;
  border: 1px solid #e4e4f2;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.cvc-article-footer-logo-img {
  max-width: 120px;
  height: auto;
  display: block;
}

.cvc-article-footer-title {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #111827;
}

.cvc-article-footer-text {
  font-size: 0.9rem;
  color: #4b5563;
  line-height: 1.5;
}

.cvc-article-footer-social-label {
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6b7280;
  margin-right: 0.25rem;
}

.cvc-article-footer-social-link {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  font-size: 0.95rem;
  color: #7b3ff2;
  transition: all 0.15s ease-in-out;
  text-decoration: none;
}

.cvc-article-footer-social-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(123, 63, 242, 0.18);
  border-color: #7b3ff2;
  color: #ffffff;
  background: #7b3ff2;
}

/* Mobile first */
@media (max-width: 767.98px) {
  .cvc-article-footer-box {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.25rem 1.25rem;
  }

  .cvc-article-footer-logo-img {
    max-width: 100px;
  }
}


/* Fundo da página de post */
.cvc-section-blog-post {
  background: #f6f7fb;
}

/* Card do artigo */
.cvc-section-blog-post .cvc-article {
  background-color: #ffffff;
  border-radius: 18px;
  padding: 1.75rem 1.25rem 2.25rem;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.04);
}

@media (min-width: 992px) {
  .cvc-section-blog-post .cvc-article {
    padding: 2.25rem 2.5rem 2.75rem;
  }
}

/* Foto de capa com cantos arredondados */
.cvc-section-blog-post .cvc-article figure img {
  border-radius: 16px;
}

/* Ajuste de espaçamento no corpo do texto */
.cvc-article-body p {
  margin-bottom: 0.9rem;
  line-height: 1.7;
}

.cvc-article-body h2,
.cvc-article-body h3 {
  margin-top: 1.6rem;
}

/* Caixinhas da sidebar (reaproveitando estilo do index) */
.cvc-blog-sidebar-block {
  background-color: #ffffff;
  border-radius: 16px;
  padding: 1.2rem 1.1rem 1.3rem;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.04);
}

.cvc-blog-sidebar-header {
  margin-bottom: 0.75rem;
}

.cvc-blog-sidebar-eyebrow {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #7c3aed;
  font-weight: 600;
}

.cvc-blog-sidebar-title {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0;
}

.cvc-blog-sidebar-list {
  margin: 0;
  padding: 0;
}

.cvc-blog-sidebar-item+.cvc-blog-sidebar-item {
  margin-top: 0.75rem;
}

.cvc-blog-sidebar-link {
  display: block;
  text-decoration: none;
}

.cvc-blog-sidebar-text {
  display: block;
  font-size: 0.9rem;
  font-weight: 500;
  color: #111827;
}

.cvc-blog-sidebar-meta {
  color: #6b7280;
}

/* Newsletter: campos mais compactos em mobile */
.cvc-blog-sidebar-newsletter .form-control-sm {
  font-size: 0.85rem;
  padding: 0.45rem 0.55rem;
}

.cvc-blog-sidebar-caption {
  font-size: 0.75rem;
}

.cvc-sidebar-imoveis {
  /* opcional, só pra dar uma carinha de card */
  background: #ffffff;
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.cvc-sidebar-imovel-thumb-wrapper {
  width: 72px;
  height: 72px;
  border-radius: 12px;
  overflow: hidden;
}

.cvc-sidebar-imovel-thumb {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cvc-sidebar-imovel-title {
  font-size: 0.95rem;
  font-weight: 600;
  color: #0f172a;
  margin-bottom: 2px;
}

.cvc-sidebar-imovel-meta {
  font-size: 0.8rem;
}

/* Caixinhas da sidebar (reaproveitando estilo do index) */
.cvc-blog-sidebar-block,
.cvc-sidebar {
  background-color: #ffffff;
  border-radius: 16px;
  padding: 1.2rem 1.1rem 1.3rem;
  box-shadow: 0 14px 32px rgba(15, 23, 42, 0.04);
}

.text-decoration-none {
  color: #0f172a;
  font-weight: 300;
}

/* ============================
   TABELAS DO TINYMCE (BLOG)
   ============================ */

/* Wrapper de tabela – garante scroll no mobile */
.cvc-article-body .cvc-table-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 1.25rem 0;
}

/* Estilo base da tabela inserida pelo TinyMCE */
.cvc-article-body .cvc-table-wrapper table,
.cvc-article-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  background-color: #ffffff;
  min-width: 520px;
  /* força largura mínima para ter scroll em telas pequenas */
}

/* Cabeçalho */
.cvc-article-body table thead {
  background-color: #f3f4f6;
}

.cvc-article-body table th,
.cvc-article-body table td {
  border: 1px solid #e5e7eb;
  padding: 0.55rem 0.75rem;
  text-align: left;
  vertical-align: top;
  color: #374151;
  /* evita palavra gigante "empurrando" a largura */
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* Linhas zebrada (corpo) */
.cvc-article-body table tbody tr:nth-child(even) td {
  background-color: #fafafa;
}

/* Destaque para <th> */
.cvc-article-body table th {
  font-weight: 600;
  color: #111827;
}

/* Caption opcional (TinyMCE permite) */
.cvc-article-body table caption {
  caption-side: bottom;
  font-size: 0.8rem;
  color: #6b7280;
  padding-top: 0.4rem;
  text-align: left;
}

@media (max-width: 767.98px) {
  .cvc-article-body .cvc-table-wrapper {
    margin: 1rem 0;
    /* margem normal, sem negativo */
    padding: 0;
    /* sem padding extra pra não passar da largura */
  }

  /* Mantém o mínimo pra forçar scroll dentro do wrapper,
     mas sem mexer no display da tabela */
  .cvc-article-body .cvc-table-wrapper table {
    min-width: 520px;
    /* pode ajustar se quiser menor */
  }
}

.cvc-section-blog-post {
  overflow-x: hidden;
}

/* Seção sobre - reaproveitando o estilo clean já usado */
.cvc-section-sobre {
  background: #f7f8fc;
}

.cvc-section-eyebrow {
  text-transform: uppercase;
  letter-spacing: .12em;
  font-size: .75rem;
  font-weight: 600;
  color: #0d6efd;
}

.cvc-section-title {
  font-weight: 700;
  font-size: 1.8rem;
}

.cvc-section-subtitle {
  max-width: 680px;
  margin-inline: auto;
}

/* Cards */
.cvc-card {
  background: #ffffff;
  border-radius: 1rem;
  padding: 1.5rem 1.75rem;
  box-shadow: 0 14px 40px rgba(15, 23, 42, 0.08);
}

.cvc-card-sobre p {
  line-height: 1.7;
}

.cvc-card-contato form .form-label {
  font-weight: 500;
}

/* Lista com check (diferencial) */
.cvc-list-check {
  list-style: none;
  padding-left: 0;
}

.cvc-list-check li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: .4rem;
}

.cvc-list-check li::before {
  content: "✔";
  position: absolute;
  left: 0;
  top: 0;
  font-size: .8rem;
  line-height: 1.4;
  color: #0d6efd;
}

/* Responsivo */
@media (min-width: 992px) {
  .cvc-section-title {
    font-size: 2.1rem;
  }
}


.cvc-sidebar-indicadores {
  background: #ffffff;
  border-radius: 18px;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 20px 45px rgba(15, 23, 42, 0.06);
}

.cvc-sidebar-indicadores .h6 {
  font-weight: 600;
}

.cvc-indicadores-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.cvc-indicador-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.cvc-indicador-icon {
  width: 32px;
  height: 32px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  background: rgba(79, 70, 229, 0.06);
  /* tom suave, combina com o resto */
}

.cvc-indicador-text strong {
  font-size: 0.875rem;
  display: block;
}

.cvc-indicador-text span {
  font-size: 0.75rem;
}

/* Card Indicadores de Hoje */
.cvc-sidebar-indicadores {
  background: #ffffff;
  border-radius: 16px;
  padding: 16px 18px 18px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.08);
}

.cvc-indicadores-banner {
  position: relative;
  overflow: hidden;
  border-radius: 999px;
  background: #ffe5e5;
  padding: 4px 10px;
}

.cvc-indicadores-banner-inner {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #e02424;
  /* vermelho */
  white-space: nowrap;
  animation: cvc-indicadores-marquee 10s linear infinite;
}

@keyframes cvc-indicadores-marquee {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

.cvc-indicadores-body {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.cvc-indicador-item {
  display: flex;
  justify-content: space-between;
  font-size: 0.85rem;
}

.cvc-indicador-label {
  color: #6b7280;
}

.cvc-indicador-value {
  font-weight: 600;
  color: #111827;
}

.cvc-indicadores-footer {
  font-size: 0.75rem;
}

.cvc-indicadores-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cvc-indicador-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.85rem;
}

.cvc-indicador-left {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cvc-indicador-icon {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.85rem;
}

/* Cores diferentes por indicador */
.cvc-indicador-icon-clima {
  background: rgba(59, 130, 246, 0.12);
  /* azul claro */
  color: #1d4ed8;
}

.cvc-indicador-icon-dolar {
  background: rgba(34, 197, 94, 0.12);
  /* verde claro */
  color: #15803d;
}

.cvc-indicador-icon-selic {
  background: rgba(234, 179, 8, 0.14);
  /* amarelo */
  color: #92400e;
}

.cvc-indicador-icon-m2 {
  background: rgba(168, 85, 247, 0.12);
  /* roxinho */
  color: #6d28d9;
}

.cvc-indicador-label {
  color: #6b7280;
}

.cvc-indicador-value {
  font-weight: 600;
  color: #111827;
}

/* Layout do topo */
.cvc-blog-hero-top {
  /* só para garantir que tudo fique bem amarrado */
}

/* CARD DE BUSCA – lado direito */
.cvc-blog-search-card {
  background-color: #ffffff;
  border-radius: 20px;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 14px 45px rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(148, 163, 184, 0.25);
}

.cvc-blog-search-card-header {
  margin-bottom: 0.75rem;
}

.cvc-blog-search-kicker {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #6b7280;
  display: block;
  margin-bottom: 0.25rem;
}

.cvc-blog-search-title {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0;
}

/* Linha da busca dentro do card */
.cvc-blog-search-form {
  margin: 0;
}

.cvc-blog-search-inline {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.8rem;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.6);
  background-color: #f9fafb;
}

.cvc-blog-search-icon {
  font-size: 0.95rem;
  opacity: 0.7;
}

/* Input enxuto */
.cvc-blog-search-input {
  flex: 1;
  border: none;
  box-shadow: none;
  background: transparent;
  padding-left: 0.15rem;
  padding-right: 0.15rem;
}

.cvc-blog-search-input:focus {
  outline: none;
  box-shadow: none;
  background: transparent;
}

/* Botão pequeno e redondo */
.cvc-blog-search-btn {
  border-radius: 999px;
  font-weight: 500;
  padding: 0.3rem 1.1rem;
  white-space: nowrap;
}

/* Hint abaixo do campo */
.cvc-blog-search-hint {
  font-size: 0.75rem;
}

/* MOBILE FIRST */
@media (max-width: 991.98px) {
  .cvc-blog-hero-top {
    row-gap: 1.5rem;
  }

  .cvc-blog-search-card {
    margin-top: 0.5rem;
  }
}

/* Em telas grandes, só controla a largura geral pra ficar elegante */
@media (min-width: 992px) {
  .cvc-blog-hero-wrapper .container {}
}

.blog-search {
  font-size: 0.9rem;
}

.blog-search__label {
  display: block;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: .05em;
  margin-bottom: 0.4rem;
  color: #9194a5;
}

.search-wrapper {
  position: relative;
}

/* Input base */
.search-input {
  width: 100%;
  border-radius: 999px;
  border: 1px solid #e1e3f0;
  padding: 0.9rem 7.5rem 0.9rem 1.2rem;
  /* espaço pra botão à direita */
  font-size: 0.95rem;
  outline: none;
}

/* Botão base (desktop) */
.search-btn {
  position: absolute;
  top: 50%;
  right: 0.4rem;
  transform: translateY(-50%);
  border-radius: 999px;
  border: none;
  padding: 0.65rem 1.8rem;
  font-weight: 600;
  font-size: 0.9rem;
  cursor: pointer;
  background: #111827;
  color: #fff;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.search-btn i {
  font-size: 0.9rem;
}

.search-hint {
  margin-top: 0.5rem;
  font-size: 0.75rem;
  color: #9ca3af;
}

/* ---------------------------
   MOBILE: botão vira só lupinha
   --------------------------- */
@media (max-width: 768px) {

  /* Input ganha mais espaço e o botão fica menor */
  .search-input {
    padding-right: 3.1rem;
    /* só espaço pra bolinha da lupa */
    font-size: 0.95rem;
  }

  .search-btn {
    width: 2.4rem;
    height: 2.4rem;
    padding: 0;
    justify-content: center;
    border-radius: 999px;
  }

  /* Some o texto “Buscar”, fica só a lupa */
  .search-btn__text {
    display: none;
  }
}

/* ---------------------------
   PLANOS – LAYOUT DOS CARDS
   --------------------------- */

.cvc-anuncie-plan-card {
  background-color: #fff;
  border-radius: var(--cvc-radius-lg);
  border: 1px solid var(--cvc-border);
  padding: 1.1rem 1.2rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.cvc-anuncie-plan-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10);
  border-color: rgba(124, 58, 237, 0.35);
}

.cvc-anuncie-plan-card--free {
  border-width: 2px;
  border-color: rgba(124, 58, 237, 0.35);
  box-shadow: 0 18px 40px rgba(124, 58, 237, 0.12);
}

.cvc-anuncie-plan-card--current {
  border-color: rgba(22, 163, 74, 0.8);
  box-shadow: 0 18px 40px rgba(22, 163, 74, 0.18);
}

.cvc-anuncie-plan-card--current .cvc-anuncie-plan-pill {
  background-color: var(--cvc-owner-bg);
  color: var(--cvc-owner-color);
}

/* Cabeçalho e textos */

.cvc-anuncie-plan-header h3 {
  font-size: 0.98rem;
  font-weight: 600;
}

.cvc-anuncie-plan-tagline {
  font-size: 0.8rem;
  color: var(--cvc-muted);
}

.cvc-anuncie-plan-list {
  flex: 1 1 auto;
  padding-left: 1rem;
  margin-bottom: 0.75rem;
}

.cvc-anuncie-plan-list li {
  font-size: 0.8rem;
  color: var(--cvc-text);
  margin-bottom: 0.25rem;
}

/* Botão e helper */

.cvc-anuncie-plan-btn {
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.9rem;
}

.cvc-anuncie-plan-helper {
  font-size: 0.75rem;
  color: var(--cvc-muted);
}

/* deixa o botão do plano pago "vazio" como você já usa */
.cvc-anuncie-plan-card .btn.btn-outline-dark {
  border-radius: 999px;
}

/* garante estilo consistente para disabled */
.cvc-anuncie-plan-btn.disabled,
.cvc-anuncie-plan-btn[disabled] {
  opacity: 0.8;
  cursor: default;
}


/* =========================================================
   PAINEL - ADMIN LEADS (admin-leads.php)
   ========================================================= */

:root {
  --admin-accent: #f97316;
  /* laranja principal */
  --admin-accent-dark: #ea580c;
  --admin-accent-soft: rgba(249, 115, 22, 0.08);
  --admin-border: #e5e7eb;
  --admin-bg: #f3f4f6;
  --admin-text-muted: #6b7280;
}

/* Fundo da área do painel */
.cvc-panel-section {
  background: var(--admin-bg);
}

/* "Cartão" central do painel */
.cvc-panel-section .container {
  background: #ffffff;
  border-radius: 14px;
  padding: 1.75rem 1.75rem 1.5rem;
  box-shadow:
    0 16px 40px rgba(15, 23, 42, 0.12),
    0 0 0 1px rgba(148, 163, 184, 0.18);
}

/* Kicker (Administração) */
.cvc-kicker {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .18rem .7rem;
  border-radius: 999px;
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .12em;
  font-weight: 600;
  color: var(--admin-accent-dark);
  background: var(--admin-accent-soft);
}

.cvc-kicker::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: var(--admin-accent);
}

/* Título e texto de apoio */
.cvc-panel-section h1.h4 {
  font-weight: 700;
  color: #111827;
}

.cvc-panel-section p.text-muted {
  color: var(--admin-text-muted) !important;
  font-size: .9rem;
}

/* Alertas mais “clean” */
.cvc-panel-section .alert {
  border-radius: 10px;
  border: 1px solid rgba(148, 163, 184, 0.45);
  font-size: .85rem;
}

/* =========================================================
   FILTRO / BUSCA
   ========================================================= */

.cvc-panel-section form.row.g-2 {
  background: #f9fafb;
  border-radius: 12px;
  padding: .9rem 1rem;
  border: 1px solid var(--admin-border);
}

.cvc-panel-section .form-label {
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--admin-text-muted);
  margin-bottom: .25rem;
}

.cvc-panel-section .form-control {
  border-radius: 999px;
  border: 1px solid #d1d5db;
  font-size: .9rem;
  padding-inline: 1rem;
}

.cvc-panel-section .form-control:focus {
  border-color: var(--admin-accent);
  box-shadow: 0 0 0 .15rem rgba(249, 115, 22, 0.24);
}

.cvc-panel-section .btn-primary {
  border-radius: 999px;
  border: none;
  background: linear-gradient(135deg, var(--admin-accent), var(--admin-accent-dark));
  font-weight: 600;
  font-size: .9rem;
}

.cvc-panel-section .btn-primary:hover {
  background: linear-gradient(135deg, var(--admin-accent-dark), #c2410c);
}

/* Texto de total de leads */
.cvc-panel-section small.text-muted {
  color: var(--admin-text-muted) !important;
  font-size: .8rem;
}

/* =========================================================
   TABELA DE LEADS
   ========================================================= */

.cvc-panel-section .table-responsive {
  margin-top: .75rem;
  border-radius: 14px;
  border: 1px solid var(--admin-border);
  overflow: hidden;
}

.cvc-panel-section table.table {
  margin-bottom: .25rem;
  font-size: .86rem;
}

.cvc-panel-section table.table thead {
  background: linear-gradient(90deg, #f9fafb, #eef2ff);
}

.cvc-panel-section table.table thead th {
  border-bottom: 1px solid var(--admin-border);
  text-transform: uppercase;
  font-size: .68rem;
  letter-spacing: .08em;
  color: var(--admin-text-muted);
  font-weight: 700;
  white-space: nowrap;
}

/* Linhas */
.cvc-panel-section table.table tbody tr {
  transition: background-color .15s ease, transform .05s ease;
}

.cvc-panel-section table.table tbody tr:hover {
  background: #f9fafb;
  transform: translateY(-1px);
}

/* Células */
.cvc-panel-section table.table td {
  border-color: #e5e7eb;
  vertical-align: middle;
}

/* ID */
.cvc-panel-section table.table td:first-child {
  font-weight: 600;
  color: #111827;
}

/* Data (fixa, monoespaçada) */
.cvc-panel-section table.table td:nth-child(2) {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  font-size: .8rem;
  color: var(--admin-text-muted);
}

/* Nome lead */
.cvc-panel-section table.table td:nth-child(3) {
  font-weight: 500;
}

/* WhatsApp (pill/link) */
.cvc-panel-section table.table td:nth-child(4) a {
  display: inline-flex;
  align-items: center;
  padding: .12rem .6rem;
  border-radius: 999px;
  font-size: .78rem;
  text-decoration: none;
  background: rgba(34, 197, 94, 0.08);
  color: #15803d;
  border: 1px solid rgba(34, 197, 94, 0.25);
}

.cvc-panel-section table.table td:nth-child(4) a:hover {
  background: rgba(34, 197, 94, 0.15);
}

/* Imóvel */
.cvc-panel-section table.table td:nth-child(6) {
  max-width: 260px;
}

.cvc-panel-section table.table td:nth-child(6) a {
  font-size: .78rem;
  text-decoration: none;
  color: var(--admin-accent-dark);
  font-weight: 500;
}

.cvc-panel-section table.table td:nth-child(6) a:hover {
  text-decoration: underline;
}

/* Anunciante */
.cvc-panel-section table.table td:nth-child(7) {
  max-width: 220px;
}

.cvc-panel-section table.table td:nth-child(7) small.text-muted {
  font-size: .76rem;
}

/* Origem (badge) */
.cvc-panel-section table.table td:nth-child(8) {
  white-space: nowrap;
  font-size: .75rem;
  font-weight: 600;
}

.cvc-panel-section table.table td:nth-child(8) {
  padding-right: 0.75rem;
}

.cvc-panel-section table.table td:nth-child(8) {
  display: inline-flex;
  align-items: center;
  padding: .16rem .55rem;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
}

/* Total de contatos */
.cvc-panel-section table.table td.text-end {
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

/* =========================================================
   PAGINAÇÃO
   ========================================================= */

.cvc-panel-section .pagination {
  margin-top: .75rem;
  margin-bottom: .25rem;
}

.cvc-panel-section .page-item .page-link {
  border-radius: 999px;
  border: 1px solid #e5e7eb;
  font-size: .78rem;
  padding-inline: .6rem;
  color: #4b5563;
}

.cvc-panel-section .page-item.active .page-link {
  background: linear-gradient(135deg, var(--admin-accent), var(--admin-accent-dark));
  border-color: transparent;
  color: #ffffff;
  box-shadow: 0 8px 18px rgba(249, 115, 22, 0.45);
}

.cvc-panel-section .page-item.disabled .page-link {
  background: #f9fafb;
  color: #9ca3af;
}

/* =========================================================
   RESPONSIVO
   ========================================================= */

@media (max-width: 768px) {
  .cvc-panel-section .container {
    padding: 1.25rem 1rem 1rem;
    border-radius: 0;
    box-shadow: none;
  }

  .cvc-panel-section form.row.g-2 {
    padding: .75rem .75rem;
  }

  .cvc-panel-section table.table {
    font-size: .8rem;
  }

  /* Se quiser transformar em “cards” depois, dá pra adicionar data-label nos <td>
       e adaptar aqui. Por enquanto só ajustamos o tamanho geral. */
}


/* Breadcrumb estilizado do painel */
.cvc-breadcrumb .breadcrumb {
  background: #f5f7fb;
  border-radius: 999px;
  /* formato “pill” */
  padding: 0.35rem 0.85rem;
  font-size: 0.85rem;
}

.cvc-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
  content: "›";
  /* separador mais elegante */
  color: #adb5bd;
}

.cvc-breadcrumb .breadcrumb-item a {
  color: #6c757d;
  text-decoration: none;
  font-weight: 500;
}

.cvc-breadcrumb .breadcrumb-item a:hover {
  color: #0d6efd;
  /* azul do Bootstrap no hover */
  text-decoration: underline;
}

.cvc-breadcrumb .breadcrumb-item.active {
  color: #212529;
  font-weight: 600;
}


/* =======================================================
   DADOS DA CONTA (PAINEL) – IDENTIDADE + MOBILE FIRST
   ======================================================= */

.cvc-page-account .card {
  border-radius: 18px;
}

.cvc-account-top {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

/* Card principal */
.cvc-account-card {
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(148, 163, 184, 0.22);
}

/* Header do card (ícone + título) */
.cvc-account-header {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
}

.cvc-account-header-icon {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: linear-gradient(135deg, var(--cvc-primary), #8b5cf6);
  box-shadow: 0 10px 22px rgba(108, 43, 217, 0.18);
  flex-shrink: 0;
}

.cvc-account-header-icon i {
  font-size: 1.05rem;
}

/* Card do plano */
.cvc-account-plan-card {
  border: 1px solid rgba(148, 163, 184, 0.22);
  background:
    radial-gradient(circle at top left, rgba(108, 43, 217, 0.10), transparent 55%),
    radial-gradient(circle at bottom right, rgba(242, 140, 0, 0.10), transparent 55%),
    #ffffff;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06);
}

.cvc-account-kicker {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--cvc-muted);
  font-weight: 600;
  margin-bottom: 0.25rem;
}

.cvc-account-plan-title {
  font-weight: 700;
  letter-spacing: -0.02em;
}

.cvc-account-plan-text {
  font-size: 0.9rem;
  color: #6b7280;
  max-width: 34rem;
}

/* Badge do tipo */
.cvc-type-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.75rem;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border: 1px solid rgba(148, 163, 184, 0.25);
}

.cvc-type-badge--owner {
  background: var(--cvc-owner-bg);
  color: var(--cvc-owner-color);
}

.cvc-type-badge--broker {
  background: var(--cvc-broker-bg);
  color: var(--cvc-broker-color);
}

.cvc-type-badge--agency {
  background: var(--cvc-agency-bg);
  color: var(--cvc-agency-color);
}

/* Inputs com “cara” do sistema (sem brigar com Bootstrap) */
.cvc-input-soft {
  border-radius: 0.9rem;
  border-color: #e5e7eb;
  font-size: 0.95rem;
  padding: 0.6rem 0.75rem;
}

.cvc-input-soft:focus {
  border-color: rgba(108, 43, 217, 0.85);
  box-shadow: 0 0 0 1px rgba(108, 43, 217, 0.22);
}

/* Avatar mais “premium” */
.cvc-page-account .cvc-avatar-wrap {
  width: 108px;
  height: 108px;
  border-radius: 999px;
  overflow: hidden;
  background: #f3f4f6;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.10);
  border: 3px solid #fff;
}

.cvc-page-account .cvc-btn-file {
  border-radius: 999px;
  font-weight: 600;
}

/* Alertas levemente “soft” */
.cvc-alert-soft {
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.2);
}

/* Mobile: dá mais respiro */
@media (max-width: 575.98px) {
  .cvc-account-plan-text {
    font-size: 0.88rem;
  }

  .cvc-page-account .cvc-avatar-wrap {
    width: 96px;
    height: 96px;
  }
}


/* ===== Plano no header do painel ===== */
.cvc-panel-user-plan {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 6px;
  flex-wrap: wrap;
}

.cvc-plan-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1;
  border: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 6px 16px rgba(0, 0, 0, .06);
}

.cvc-plan-badge--free {
  background: rgba(125, 125, 125, .10);
  color: #2b2b2b;
}

.cvc-plan-badge--pro {
  background: rgba(124, 58, 237, .12);
  color: #4c1d95;
  border-color: rgba(124, 58, 237, .18);
}

.cvc-plan-limits {
  font-size: .78rem;
  color: rgba(0, 0, 0, .60);
}

/* ===== Plano (card Novo Imóvel) ===== */
.cvc-plan-info {
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 14px;
  padding: 12px 12px;
  background: rgba(255, 255, 255, .75);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .06);
}

.cvc-plan-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  /* mobile */
}

.cvc-plan-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: .82rem;
  font-weight: 800;
  line-height: 1;
  border: 1px solid rgba(0, 0, 0, .10);
}

.cvc-plan-badge--free {
  background: rgba(120, 120, 120, .10);
  color: #1f1f1f;
}

.cvc-plan-badge--pro {
  background: rgba(124, 58, 237, .12);
  color: #3b167a;
  border-color: rgba(124, 58, 237, .18);
}

.cvc-plan-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.cvc-plan-pill {
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: .78rem;
  font-weight: 700;
  background: rgba(0, 0, 0, .04);
  color: rgba(0, 0, 0, .72);
  border: 1px solid rgba(0, 0, 0, .06);
}

.cvc-plan-desc {
  margin-top: 10px;
  font-size: .88rem;
  color: rgba(0, 0, 0, .70);
  line-height: 1.35;
}

.cvc-plan-cta {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .86rem;
  font-weight: 800;
  text-decoration: none;
  color: #5b21b6;
}

.cvc-plan-cta:hover {
  text-decoration: underline;
}

/* ===== Breadcrumb (padrão) ===== */


.cvc-breadcrumb .breadcrumb-item a {
  text-decoration: none;
  font-weight: 800;
}

.cvc-breadcrumb .breadcrumb-item.active {
  font-weight: 800;
  color: rgba(0, 0, 0, .65);
}

/* ===== Header do novo-imovel (mobile-first + desktop) ===== */
.cvc-newimovel-top {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cvc-newimovel-actions {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

/* Desktop: botões do lado direito e mobile escondido */
.cvc-newimovel-actions--desktop {
  display: none;
}

@media (min-width: 768px) {
  .cvc-newimovel-top {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
  }

  .cvc-newimovel-head {
    max-width: 720px;
  }

  .cvc-newimovel-actions--mobile {
    display: none;
  }

  .cvc-newimovel-actions--desktop {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 0;
    white-space: nowrap;
  }
}


/* ===== Topbar padrão (mobile-first) ===== */
.cvc-page-top {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.cvc-page-actions {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.cvc-page-actions--desktop {
  display: none;
}

@media (min-width: 768px) {
  .cvc-page-top {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
  }

  .cvc-page-head {
    max-width: 760px;
  }

  .cvc-page-actions--mobile {
    display: none;
  }

  .cvc-page-actions--desktop {
    display: flex;
    gap: 10px;
    align-items: center;
    margin-top: 0;
    white-space: nowrap;
  }
}

/* ===== Cards mobile (Meus anúncios) ===== */
.cvc-anuncio-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .06);
}

.cvc-anuncio-card h2 {
  line-height: 1.2;
}

.cvc-anuncio-actions {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 2px;
  -webkit-overflow-scrolling: touch;
}

.cvc-anuncio-actions .btn {
  flex: 0 0 auto;
}

/* melhora o “toque” nos botões pequenos */
.cvc-anuncio-actions .btn.btn-sm {
  padding: .42rem .55rem;
  border-radius: 12px;
}

/* ===== Tabela desktop em card ===== */
.cvc-table-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, .08);
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, .06);
  overflow: hidden;
}

.cvc-table-clean thead th {
  font-size: .78rem;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, .55);
  background: rgba(0, 0, 0, .02);
  border-bottom: 1px solid rgba(0, 0, 0, .06);
}

.cvc-table-clean tbody td {
  border-color: rgba(0, 0, 0, .06);
}

/* deixa a tabela “mais clean” */
.cvc-table-clean {
  margin: 0;
}

/* ===== Breadcrumb - estilo ===== */
.cvc-breadcrumb {
    font-size: 0.875rem;
    background-color: transparent;
    padding: 0;
}

.cvc-breadcrumb .breadcrumb-item {
    font-size: 1rem;
}

.cvc-breadcrumb .breadcrumb-item a {
    color: #007bff;
}

.cvc-breadcrumb .breadcrumb-item.active {
    color: #6c757d;
}

/* ===== Plano do usuário - estilo ===== */
.cvc-leads-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.cvc-leads-plan {
    display: flex;
    gap: 12px;
    align-items: center;
}

.cvc-leads-plan-badge {
    font-size: 1rem;
}

.cvc-leads-plan-info {
    font-size: 0.875rem;
}

.cvc-leads-plan-info small {
    color: #6c757d;
}


/* CARD */
.cvc-anuncie-plan-card{
  border:1px solid rgba(16,24,40,.10);
  border-radius:18px;
  padding:18px;
  background:#fff;
  box-shadow:0 10px 30px rgba(16,24,40,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cvc-anuncie-plan-card:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 45px rgba(16,24,40,.10);
}
.cvc-anuncie-plan-card--current{
  border-color: rgba(108,43,217,.35);
  box-shadow:0 14px 45px rgba(108,43,217,.12);
}
.cvc-anuncie-plan-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  background:rgba(108,43,217,.08);
  color:#3b1a7a;
}

/* GRID DE PREÇOS (MENSAL / ANUAL) */
.cvc-price-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
  margin-top:10px;
}
.cvc-price-box{
  border:1px solid rgba(16,24,40,.10);
  border-radius:14px;
  padding:12px 12px 10px;
  background:#fff;
  position:relative;
  min-height:92px;
}
.cvc-price-box--anual{
  background:rgba(242,140,0,.08);
  border-color: rgba(242,140,0,.25);
}
.cvc-price-kicker{
  font-size:.75rem;
  font-weight:900;
  opacity:.75;
  margin-bottom:2px;
}
.cvc-price-value{
  font-size:1.05rem;
  font-weight:950;
  line-height:1.1;
}
.cvc-price-sub{
  font-size:.76rem;
  opacity:.75;
  margin-top:4px;
}
.cvc-badge-save{
  position:absolute;
  top:10px;
  right:10px;
  font-size:.68rem;
  font-weight:900;
  padding:4px 8px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(16,24,40,.10);
}

/* BOTÕES COM PREÇO */
.cvc-anuncie-plan-btn{
  height:44px;
  border-radius:999px;
  font-weight:900;
}
.cvc-btn-price{
  font-weight:900;
  opacity:.85;
  margin-left:6px;
  font-size:.85em;
}


/* BOTÕES DIFERENCIADOS (MENSAL / ANUAL) */
.cvc-btn-plan-monthly,
.cvc-btn-plan-yearly{
  border:0 !important;
  color:#fff !important;
  font-weight:900;
  border-radius:999px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  box-shadow:0 12px 28px rgba(16,24,40,.14);
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
}

.cvc-btn-plan-monthly{
  background:linear-gradient(135deg,#6C2BD9,#2F80ED);
}
.cvc-btn-plan-yearly{
  background:linear-gradient(135deg,#F2994A,#EB5757);
}

.cvc-btn-plan-monthly:hover,
.cvc-btn-plan-yearly:hover{
  filter:brightness(1.05);
  transform:translateY(-1px);
  box-shadow:0 16px 36px rgba(16,24,40,.18);
}

.cvc-btn-price{
  font-weight:900;
  opacity:.95;
  font-size:.9em;
}

.cvc-btn-tag{
  font-size:.72rem;
  font-weight:900;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.22);
}


.btn cvc-anuncie-plan-btn {
  font-size: 0.7em !important;
}

/* =========================
   PATCH - MENU MOBILE
   (coloque no FINAL do CSS)
   ========================= */

/* escurece mais o fundo (do jeito que está, 0.3 mostra demais a página) */
.cvc-nav-mobile__backdrop {
  background: rgba(15, 23, 42, 0.55);
}

/* no celular: painel em tela cheia */
@media (max-width: 575.98px) {
  .cvc-nav-mobile__panel {
    max-width: 100%;
    width: 100%;
    border-radius: 0;     /* remove cantos se for full screen */
  }
}

/* garante scroll dentro do menu (evita layout “sobrando” / cortando) */
.cvc-nav-mobile__panel {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

/* evita o footer ficar estranho em iPhone (safe area) */
.cvc-nav-mobile__footer {
  padding-bottom: calc(1.5rem + env(safe-area-inset-bottom));
}

/* =========================
   FIX - MENU MOBILE (FOTO/AVATAR)
   Cole no FINAL do CSS
   ========================= */

@media (max-width: 991.98px) {

  /* garante que o card do usuário seja sólido (evita a foto “vazar” por baixo) */
  .cvc-nav-mobile__user-card{
    background: #fff !important;
    position: relative;
    z-index: 1;
    overflow: hidden;
  }

  /* caso você use um wrapper pro avatar (div/span) */
  .cvc-nav-mobile__avatar,
  .cvc-nav-mobile__user-card .cvc-user-pill__avatar--image,
  .cvc-nav-mobile__user-card .cvc-avatar-wrap{
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    overflow: hidden;
    flex: 0 0 40px;
  }

  /* caso a foto seja um <img> direto dentro do user-card (o cenário do print) */
  .cvc-nav-mobile__user-card > img,
  .cvc-nav-mobile__user-card img:first-child{
    width: 40px !important;
    height: 40px !important;
    border-radius: 999px !important;
    object-fit: cover;
    display: block;
    flex: 0 0 40px;
    max-width: none; /* mata “img-fluid” */
  }

  /* se o <img> vier com w-100/img-fluid do Bootstrap, neutraliza aqui */
  .cvc-nav-mobile__user-card img.w-100,
  .cvc-nav-mobile__user-card img.img-fluid{
    width: 40px !important;
    height: 40px !important;
  }
}

/* =========================
   BOTÃO SECUNDÁRIO (HERO) - "Ver como funciona"
   ========================= */
.cvc-btn-ghost{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;

  /* visual mais “premium” e leve */
  color: #111827;
  background: rgba(17, 24, 39, 0.04);
  border: 1px solid rgba(17, 24, 39, 0.18);

  border-radius: 999px;               /* combina com o primário */
  font-weight: 700;
  letter-spacing: -0.01em;
  text-decoration: none;

  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease;
}

.cvc-btn-ghost:hover{
  background: rgba(17, 24, 39, 0.08);
  border-color: rgba(17, 24, 39, 0.28);
  color: #111827;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.10);
}

.cvc-btn-ghost:active{
  transform: translateY(0);
  box-shadow: none;
}

.cvc-btn-ghost:focus-visible{
  outline: none;
  box-shadow: 0 0 0 4px rgba(124, 58, 237, 0.22); /* roxo leve p/ “linkar” com o primário */
}

/* acessibilidade: reduz animação se o usuário preferir */
@media (prefers-reduced-motion: reduce){
  .cvc-btn-ghost{ transition: none; }
}


/* =========================
   HERO – refatoração estrutural (mobile-first)
   ========================= */

.cvc-hero{
  padding: 24px 0;
}

@media (min-width: 992px){
  .cvc-hero{
    padding: 44px 0;
  }
}

/* Intro separado do grid: isso corrige o desalinhamento de topo */
.cvc-hero-intro{
  max-width: 720px;
}

.cvc-hero-title{
  letter-spacing: -0.02em;
  line-height: 1.08;
}

.cvc-hero-subtitle{
  line-height: 1.5;
  color: rgba(17, 24, 39, 0.72);
}

/* Espaço controlado entre intro e cards (sem depender de mb-4 no texto) */
.cvc-hero-grid{
  margin-top: 18px;
}

@media (min-width: 992px){
  .cvc-hero-grid{
    margin-top: 22px;
  }
}

/* =========================
   Cards – unificar linguagem visual
   ========================= */

.cvc-search-card--hero,
.cvc-hero-preview{
  background: #fff;
  border: 1px solid rgba(17, 24, 39, 0.08);
  border-radius: 18px;
  overflow: hidden;
}

/* Header do card de destaques com cara de “componente” */
.cvc-hero-preview-header{
  padding: 16px 18px;
  border-bottom: 1px solid rgba(17, 24, 39, 0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.cvc-hero-preview-badge{
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.cvc-hero-preview-sub{
  color: rgba(17, 24, 39, 0.70);
  margin-top: 6px;
}

/* Link “Ver todas” com aparência de botão leve */
.cvc-hero-preview-link{
  font-weight: 800;
  text-decoration: none;
  border-radius: 999px;
  padding: 8px 12px;
  border: 1px solid rgba(17, 24, 39, 0.10);
  background: rgba(17, 24, 39, 0.03);
  transition: background .15s ease, border-color .15s ease;
}

.cvc-hero-preview-link:hover{
  background: rgba(17, 24, 39, 0.06);
  border-color: rgba(17, 24, 39, 0.14);
}

/* Espaçamento interno com padrão consistente */
.cvc-hero-preview-body{
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Estado vazio – evita “buraco” visual quando não houver destaques */
.cvc-hero-empty{
  padding: 14px;
  border: 1px dashed rgba(17, 24, 39, 0.18);
  border-radius: 14px;
  color: rgba(17, 24, 39, 0.70);
  background: rgba(17, 24, 39, 0.02);
}

/* Legenda alinhada e mais limpa */
.cvc-hero-preview-legend{
  padding: 12px 18px 16px;
  border-top: 1px solid rgba(17, 24, 39, 0.06);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}


/* Box de conteúdo (Descrição) */
.cvc-content-card{
  background:#fff;
  border:1px solid rgba(17, 24, 39, 0.08);
  border-radius:18px;
  overflow:hidden;
}

.cvc-content-card__header{
  padding:16px 16px 12px;
  border-bottom:1px solid rgba(17, 24, 39, 0.06);
}

.cvc-content-card__note{
  display:block;
  margin-top:6px;
  color: rgba(17, 24, 39, 0.65);
  font-size: .85rem;
}

.cvc-content-card__body{
  padding:14px 16px 16px;
}

/* Texto “prose” (legível, consistente) */
.cvc-prose{
  white-space: pre-line;
  line-height: 1.7;
  font-size: 0.98rem;
  color: rgba(17, 24, 39, 0.86);
}

/* Clamp (evita textão gigante no desktop e no mobile) */
.cvc-prose--clamp{
  max-height: 10.2em;
  overflow: hidden;
  position: relative;
}

.cvc-prose--clamp::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:3.2em;
  background: linear-gradient(to bottom, rgba(255,255,255,0), #fff);
}

/* Link/botão discreto */
.cvc-btn-link{
  padding: 6px 0 0;
  font-weight: 800;
  text-decoration: none;
  color: var(--cvc-primary, #5b2be0);
  background: transparent;
  border: 0;
}
.cvc-btn-link:hover{
  text-decoration: underline;
}

.cvc-cookie-banner{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 9999;
  padding: 12px 0;
}
.cvc-cookie-card{
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px;
  padding: 12px 14px;
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  box-shadow: 0 10px 30px rgba(0,0,0,.12);
}
.cvc-cookie-text{ max-width: 760px; }
.cvc-cookie-actions{ display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
@media (max-width: 768px){
  .cvc-cookie-card{ flex-direction: column; }
  .cvc-cookie-actions{ width: 100%; }
}

/* foto do anunciante */

/* =========================================================
   MINI CARD DO ANUNCIANTE (SIDEBAR)
   ========================================================= */
.cvc-anunciante-mini{
  display: flex;
  align-items: center;
  gap: 10px;

  padding: 10px 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;

  background: rgba(255,255,255,.6);
  backdrop-filter: blur(6px);
}

.cvc-anunciante-mini__avatar{
  width: 42px;
  height: 42px;
  border-radius: 50%;
  flex: 0 0 42px;

  object-fit: cover;
  display: block;

  border: 1px solid rgba(0,0,0,.10);
}

.cvc-anunciante-mini__avatar--placeholder{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: rgba(0,0,0,.55);
  background: rgba(0,0,0,.04);
}

.cvc-anunciante-mini__avatar--placeholder i{
  font-size: 16px;
}

.cvc-anunciante-mini__meta{
  min-width: 0; /* importante para truncar texto */
  line-height: 1.15;
}

.cvc-anunciante-mini__nome{
  font-weight: 700;
  font-size: 0.95rem;
  color: #111;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 260px;
}

.cvc-anunciante-mini__creci{
  margin-top: 2px;
  font-size: 0.78rem;
  color: rgba(0,0,0,.65);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 260px;
}

/* Versão um pouco mais “compacta” se a sidebar ficar apertada */
@media (max-width: 991.98px){
  .cvc-anunciante-mini{
    padding: 9px 10px;
  }

  .cvc-anunciante-mini__nome,
  .cvc-anunciante-mini__creci{
    max-width: 100%;
  }
}

/* Se seu tema for escuro em alguma área, isso evita ficar estourado */
@media (prefers-color-scheme: dark){
  .cvc-anunciante-mini{
    border-color: rgba(255,255,255,.10);
    background: rgba(0,0,0,.12);
  }
  .cvc-anunciante-mini__nome{
    color: rgba(255,255,255,.92);
  }
  .cvc-anunciante-mini__creci{
    color: rgba(255,255,255,.68);
  }
  .cvc-anunciante-mini__avatar{
    border-color: rgba(255,255,255,.12);
  }
  .cvc-anunciante-mini__avatar--placeholder{
    color: rgba(255,255,255,.75);
    background: rgba(255,255,255,.08);
  }
}

.cvc-article-body img {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 12px 0 !important;
}




