/* =========================================================
   CARDS COLORIDOS / VISUAL COMERCIAL
   ========================================================= */

.hero-soft{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  padding:34px;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,.16), transparent 34%),
    radial-gradient(circle at bottom right, rgba(16,185,129,.15), transparent 34%),
    linear-gradient(135deg,#ffffff,#f8fbff);
  border:1px solid #e3e8ef;
}

.hero-soft:before{
  content:"";
  position:absolute;
  right:-90px;
  top:-90px;
  width:210px;
  height:210px;
  border-radius:999px;
  background:rgba(37,99,235,.08);
}

.hero-soft:after{
  content:"";
  position:absolute;
  left:-70px;
  bottom:-80px;
  width:180px;
  height:180px;
  border-radius:999px;
  background:rgba(16,185,129,.08);
}

.hero-soft > *{
  position:relative;
  z-index:1;
}

.color-card{
  border:0 !important;
  box-shadow:none !important;
  position:relative;
  overflow:hidden;
}

.color-card:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.95;
  z-index:0;
}

.color-card > *{
  position:relative;
  z-index:1;
}

.color-card.blue:before{
  background:linear-gradient(135deg,#eff6ff,#dbeafe);
}

.color-card.green:before{
  background:linear-gradient(135deg,#ecfdf5,#d1fae5);
}

.color-card.yellow:before{
  background:linear-gradient(135deg,#fffbeb,#fef3c7);
}

.color-card.purple:before{
  background:linear-gradient(135deg,#f5f3ff,#ede9fe);
}

.color-card.rose:before{
  background:linear-gradient(135deg,#fff1f2,#ffe4e6);
}

.color-card.gray:before{
  background:linear-gradient(135deg,#f8fafc,#eef2f7);
}

.color-card .muted{
  color:#475569;
}

.color-card h3{
  color:#172033;
}

.stat-color{
  display:flex;
  align-items:center;
  gap:14px;
  padding:16px;
  border-radius:18px;
  background:#fff;
  border:1px solid #e3e8ef;
}

.stat-color .icon-soft{
  margin:0;
  flex:0 0 auto;
}

.stat-color strong{
  display:block;
  font-size:20px;
  line-height:1.1;
  font-weight:620;
}

.stat-color span{
  display:block;
  font-size:12.5px;
  color:#64748b;
  margin-top:4px;
}

.feature-card{
  padding:18px;
  border-radius:18px;
  border:1px solid #e3e8ef;
  background:#fff;
  transition:.16s ease;
}

.feature-card:hover{
  transform:translateY(-2px);
  border-color:#bfdbfe;
}

.feature-card h3{
  margin-top:10px;
}

.feature-card p{
  margin-bottom:0;
}

.tax-card{
  padding:22px;
  border-radius:22px;
  border:1px solid #e3e8ef;
  min-height:230px;
}

.tax-card.free{
  background:linear-gradient(135deg,#ecfdf5,#ffffff);
}

.tax-card.paid{
  background:linear-gradient(135deg,#eff6ff,#ffffff);
}

.tax-card .price-big{
  font-size:32px;
  font-weight:620;
  letter-spacing:-.04em;
  color:#172033;
  margin:14px 0 4px;
}

.mp-info-band{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:18px;
}

.mp-info-band .mini-card{
  border:0;
  background:#ffffff;
  box-shadow:none;
}

.event-highlight-box{
  background:linear-gradient(135deg,#172033,#1e293b);
  color:#dbeafe;
  border-radius:24px;
  padding:26px;
  overflow:hidden;
  position:relative;
}

.event-highlight-box h2,
.event-highlight-box h3{
  color:#fff;
}

.event-highlight-box .muted,
.event-highlight-box .sub{
  color:#cbd5e1;
}

.event-highlight-box:after{
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:190px;
  height:190px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}

.event-highlight-box > *{
  position:relative;
  z-index:1;
}

.depo-card{
  background:linear-gradient(135deg,#ffffff,#f8fafc);
  border:1px solid #e3e8ef;
  border-radius:18px;
  padding:18px;
}

.depo-card p{
  color:#334155;
}

.organizador-steps{
  counter-reset:step;
}

.step-card{
  position:relative;
  padding:18px;
  border-radius:18px;
  border:1px solid #e3e8ef;
  background:#fff;
}

.step-card:before{
  counter-increment:step;
  content:counter(step);
  width:32px;
  height:32px;
  border-radius:12px;
  background:#2563eb;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:600;
  margin-bottom:12px;
}

.step-card.green:before{
  background:#16a34a;
}

.step-card.yellow:before{
  background:#d97706;
}

.step-card.purple:before{
  background:#7c3aed;
}

@media(max-width:900px){
  .mp-info-band{
    grid-template-columns:1fr;
  }

  .hero-soft{
    padding:24px;
  }
}



/* =========================================================
   AJUSTE DE CONTRASTE E CORES HARMÔNICAS
   ========================================================= */

/* Paleta suave e segura */
:root{
  --soft-blue-bg:#eff6ff;
  --soft-blue-border:#bfdbfe;
  --soft-blue-text:#1e3a8a;

  --soft-green-bg:#ecfdf5;
  --soft-green-border:#bbf7d0;
  --soft-green-text:#065f46;

  --soft-yellow-bg:#fffbeb;
  --soft-yellow-border:#fde68a;
  --soft-yellow-text:#92400e;

  --soft-purple-bg:#f5f3ff;
  --soft-purple-border:#ddd6fe;
  --soft-purple-text:#5b21b6;

  --soft-rose-bg:#fff1f2;
  --soft-rose-border:#fecdd3;
  --soft-rose-text:#9f1239;

  --soft-gray-bg:#f8fafc;
  --soft-gray-border:#e2e8f0;
  --soft-gray-text:#334155;
}

/* Garante texto escuro nos cards claros */
.color-card,
.color-card *,
.feature-card,
.feature-card *,
.tax-card,
.tax-card *,
.stat-color,
.stat-color *,
.depo-card,
.depo-card *{
  color:#334155;
}

.color-card h1,
.color-card h2,
.color-card h3,
.color-card h4,
.feature-card h1,
.feature-card h2,
.feature-card h3,
.feature-card h4,
.tax-card h1,
.tax-card h2,
.tax-card h3,
.tax-card h4,
.stat-color strong,
.depo-card strong{
  color:#172033;
}

.color-card .muted,
.feature-card .muted,
.tax-card .muted,
.stat-color span,
.depo-card .muted{
  color:#64748b !important;
}

/* Cards coloridos suaves */
.color-card.blue{
  background:linear-gradient(135deg,var(--soft-blue-bg),#ffffff) !important;
  border:1px solid var(--soft-blue-border) !important;
}

.color-card.green{
  background:linear-gradient(135deg,var(--soft-green-bg),#ffffff) !important;
  border:1px solid var(--soft-green-border) !important;
}

.color-card.yellow{
  background:linear-gradient(135deg,var(--soft-yellow-bg),#ffffff) !important;
  border:1px solid var(--soft-yellow-border) !important;
}

.color-card.purple{
  background:linear-gradient(135deg,var(--soft-purple-bg),#ffffff) !important;
  border:1px solid var(--soft-purple-border) !important;
}

.color-card.rose{
  background:linear-gradient(135deg,var(--soft-rose-bg),#ffffff) !important;
  border:1px solid var(--soft-rose-border) !important;
}

.color-card.gray{
  background:linear-gradient(135deg,var(--soft-gray-bg),#ffffff) !important;
  border:1px solid var(--soft-gray-border) !important;
}

/* Desliga camada antiga que podia causar conflito visual */
.color-card:before{
  display:none !important;
}

/* Ícones com contraste */
.color-card.blue .icon-soft,
.icon-soft.blue{
  background:#dbeafe;
  color:var(--soft-blue-text);
}

.color-card.green .icon-soft,
.icon-soft.green{
  background:#d1fae5;
  color:var(--soft-green-text);
}

.color-card.yellow .icon-soft,
.icon-soft.yellow{
  background:#fef3c7;
  color:var(--soft-yellow-text);
}

.color-card.purple .icon-soft,
.icon-soft.purple{
  background:#ede9fe;
  color:var(--soft-purple-text);
}

.color-card.rose .icon-soft,
.icon-soft.rose{
  background:#ffe4e6;
  color:var(--soft-rose-text);
}

.color-card.gray .icon-soft,
.icon-soft.gray{
  background:#e2e8f0;
  color:var(--soft-gray-text);
}

/* Área escura: aqui sim texto claro */
.event-highlight-box{
  background:linear-gradient(135deg,#172033,#1e293b) !important;
  color:#e5eefc !important;
}

.event-highlight-box h1,
.event-highlight-box h2,
.event-highlight-box h3,
.event-highlight-box h4,
.event-highlight-box strong{
  color:#ffffff !important;
}

.event-highlight-box p,
.event-highlight-box .sub,
.event-highlight-box .muted,
.event-highlight-box span{
  color:#dbeafe !important;
}

/* Mas cards dentro da área escura continuam com texto escuro */
.event-highlight-box .mini-card,
.event-highlight-box .mini-card *,
.event-highlight-box .color-card,
.event-highlight-box .color-card *{
  color:#334155 !important;
}

.event-highlight-box .mini-card h1,
.event-highlight-box .mini-card h2,
.event-highlight-box .mini-card h3,
.event-highlight-box .mini-card h4,
.event-highlight-box .color-card h1,
.event-highlight-box .color-card h2,
.event-highlight-box .color-card h3,
.event-highlight-box .color-card h4,
.event-highlight-box .mini-card strong,
.event-highlight-box .color-card strong{
  color:#172033 !important;
}

.event-highlight-box .mini-card .muted,
.event-highlight-box .color-card .muted{
  color:#64748b !important;
}

/* Botão secundário dentro de fundo escuro */
.event-highlight-box .btn.sec{
  background:rgba(255,255,255,.12);
  color:#fff !important;
  border-color:rgba(255,255,255,.25);
}

.event-highlight-box .btn.sec:hover{
  background:rgba(255,255,255,.18);
}

/* Taxas */
.tax-card.free{
  background:linear-gradient(135deg,#ecfdf5,#ffffff) !important;
  border:1px solid #bbf7d0 !important;
}

.tax-card.paid{
  background:linear-gradient(135deg,#eff6ff,#ffffff) !important;
  border:1px solid #bfdbfe !important;
}

.tax-card .price-big{
  color:#172033 !important;
}

/* Hero claro */
.hero-soft,
.hero-soft *{
  color:#334155;
}

.hero-soft h1,
.hero-soft h2,
.hero-soft h3,
.hero-soft strong{
  color:#172033;
}

.hero-soft .sub,
.hero-soft .muted{
  color:#64748b !important;
}

/* Badges e pills com contraste */
.pill.green,
.badge.green{
  background:#dcfce7;
  color:#166534;
}

.pill.yellow,
.badge.yellow{
  background:#fef3c7;
  color:#92400e;
}

.pill.red,
.badge.red{
  background:#fee2e2;
  color:#991b1b;
}

.pill,
.badge{
  color:#1e3a8a;
}

/* Cards de evento */
.evento-publico-card{
  background:#fff !important;
}

.evento-publico-card *,
.evento-publico-card .evento-meta{
  color:#64748b;
}

.evento-publico-card .evento-title{
  color:#172033 !important;
}

/* Mobile melhora leitura */
@media(max-width:620px){
  .hero-soft{
    padding:22px;
  }

  .event-highlight-box{
    padding:22px;
  }
}
