/* ══════════════════════════════════════
   RESET GLOBAL — nenhum elemento CMA
   ultrapassa a largura da tela
══════════════════════════════════════ */
[class*="cma-"],
[class*="cma-"] * {
  box-sizing: border-box !important;
  max-width: 100% !important;
  word-break: break-word;
  overflow-wrap: break-word;
}

/* Exceções: não limitar dimensões de ícones e imagens */
[class*="cma-"] img,
[class*="cma-"] svg {
  max-width: 100%;
  height: auto;
}

/* ═══════════════════════════════════════════
   Coin360 Market Analyzer — CSS
   Cores legíveis, Google Discover otimizado
═══════════════════════════════════════════ */

/* ── Resumo executivo — fundo claro ── */
.cma-summary-box {
  background: linear-gradient(145deg,#0f172a,#1a2744);
  border-radius: 16px;
  padding: 24px 26px;
  margin: 0 0 28px;
  font-size: 15px;
  line-height: 1.8;
  color: #e2e8f0;
  box-shadow: 0 6px 30px rgba(0,0,0,.22);
  position: relative;
  overflow: hidden;
}
.cma-summary-box::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg,#f59e0b,#ef4444,#8b5cf6);
  border-radius: 16px 16px 0 0;
}
.cma-summary-box p            { margin: 0 0 10px; color: #cbd5e1; }
.cma-summary-box p:last-child { margin-bottom: 0; }
.cma-summary-box > p > strong { color: #f8fafc; font-size: 16px; }
.cma-summary-box ul           { margin: 6px 0 14px 0; padding-left: 0; list-style: none; }
.cma-summary-box ul li        { color: #cbd5e1; margin-bottom: 10px; padding-left: 0; }
.cma-summary-box ul li strong { color: #fbbf24; font-size: 13px; text-transform: uppercase; letter-spacing: .04em; }
.cma-summary-box .cma-chg-up   { color: #4ade80 !important; font-weight:700; }
.cma-summary-box .cma-chg-down { color: #f87171 !important; font-weight:700; }
.cma-price-line {
  background: rgba(255,255,255,.07);
  border-radius: 10px;
  padding: 10px 14px !important;
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: 13px !important;
  color: #94a3b8 !important;
  margin-top: 14px !important;
  letter-spacing: .02em;
}
.cma-price-highlight { color: #34d399 !important; font-size: 17px; font-weight: 800; }
@media (max-width: 480px) {
  .cma-summary-box { padding: 18px 16px; font-size: 14px; border-radius: 12px; }
}

/* ── Leia também ── */
.cma-leia-tambem {
  background: #FFF7ED;
  border: 1px solid #FED7AA;
  border-left: 4px solid #E8500A;
  border-radius: 0 12px 12px 0;
  padding: 16px 20px;
  margin: 28px 0;
}
.cma-leia-tambem-title {
  font-size: 10px;
  font-weight: 800;
  color: #C2410C;
  text-transform: uppercase;
  letter-spacing: .8px;
  margin-bottom: 10px;
}
.cma-leia-tambem ul { margin: 0; padding-left: 0; list-style: none; }
.cma-leia-tambem ul li {
  padding: 5px 0;
  border-bottom: 1px solid #FDE8D8;
  font-size: 14px;
}
.cma-leia-tambem ul li:last-child { border-bottom: none; }
.cma-leia-tambem ul li a { color: #C2410C; text-decoration: none; font-weight: 500; }
.cma-leia-tambem ul li a:hover { text-decoration: underline; }

/* ── Gráfico ── */
.cma-chart-caption {
  background: #FFFFFF;
  border: 1px solid #E5E7EB;
  border-top: 3px solid #E8500A;
  border-radius: 0 0 14px 14px;
  padding: 18px 22px;
  margin-bottom: 32px;
  box-shadow: 0 1px 6px rgba(0,0,0,.05);
}
.cma-chart-caption-header {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 12px; padding-bottom: 10px;
  border-bottom: 1px solid #F3F4F6; flex-wrap: wrap;
}
.cma-chart-caption-header strong { font-size: 14px; color: #111827; }
.cma-chart-caption-date { font-size: 11px; color: #9CA3AF; margin-left: auto; }
.cma-chart-caption p { margin: 0 0 10px; font-size: 14px; color: #374151; line-height: 1.7; }
.cma-chart-caption p:last-child { margin-bottom: 0; }
.cma-chart-metrics {
  display: flex; flex-wrap: wrap; gap: 6px 20px;
  margin-top: 12px; padding-top: 12px; border-top: 1px solid #F3F4F6;
}
.cma-chart-metric { font-size: 13px; color: #374151; }
.cma-chart-metric strong { color: #111827; }

/* ── Veredito Card ── */
.cma-verdict,
.cma-verdict-card {
  border-radius: 16px;
  padding: 0;
  margin: 28px 0;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(0,0,0,.10);
}
.cma-verdict.buy,   .cma-verdict-card.buy   { background: linear-gradient(135deg,#052e16,#14532d); border: 1.5px solid #16a34a; }
.cma-verdict.wait,  .cma-verdict-card.wait  { background: linear-gradient(135deg,#1c1008,#451a03); border: 1.5px solid #d97706; }
.cma-verdict.avoid, .cma-verdict-card.avoid { background: linear-gradient(135deg,#1c0a0a,#450a0a); border: 1.5px solid #dc2626; }

/* Header do card */
.cma-verdict-header {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.cma-verdict-emoji  { font-size: 3rem; line-height: 1; flex-shrink: 0; }
.cma-verdict-meta   { display: flex; flex-direction: column; gap: 5px; }
.cma-verdict-badge  {
  display: inline-block;
  font-size: 14px; font-weight: 800;
  letter-spacing: .06em; text-transform: uppercase;
  padding: 4px 14px; border-radius: 20px;
  width: fit-content;
}
.buy  .cma-verdict-badge  { background: #16a34a; color: #fff; }
.wait .cma-verdict-badge  { background: #d97706; color: #fff; }
.avoid .cma-verdict-badge { background: #dc2626; color: #fff; }
.cma-verdict-date   { font-size: 12px; color: rgba(255,255,255,.45); }

/* Legado — compatibilidade com HTML antigo */
.cma-verdict-icon   { font-size: 2.4rem; flex-shrink: 0; padding: 20px 0 0 20px; }
.cma-verdict-body   { flex: 1; min-width: 0; padding: 16px 20px 0; }
.cma-verdict-label  { font-size: 10px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:rgba(255,255,255,.5); margin-bottom:2px; }
.cma-verdict-text   { font-size: 20px; font-weight:800; margin-bottom:6px; color:#fff; line-height:1.2; }
.cma-verdict-reason { font-size: 14px; color: rgba(255,255,255,.8); line-height:1.65; }
/* Compatibilidade display flex para legado */
.cma-verdict        { display: flex; align-items: flex-start; gap: 14px; padding: 20px; }

/* Corpo do novo card */
.cma-verdict-desc {
  font-size: 15px; line-height: 1.75;
  color: rgba(255,255,255,.85);
  padding: 16px 22px; margin: 0;
}

/* Score bar */
.cma-verdict-score {
  display: flex; align-items: center;
  justify-content: space-between;
  padding: 12px 22px 18px;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: 12px; color: rgba(255,255,255,.5);
  text-transform: uppercase; letter-spacing: .05em;
}
.cma-verdict-score strong { font-size: 22px; font-weight:800; color:#fff; letter-spacing:0; }

@media (max-width: 480px) {
  .cma-verdict-emoji  { font-size: 2.4rem; }
  .cma-verdict-desc   { font-size: 14px; padding: 14px 16px; }
  .cma-verdict-header { padding: 16px 16px 12px; gap: 10px; }
  .cma-verdict-score  { padding: 10px 16px 14px; }
  .cma-verdict-score strong { font-size: 18px; }
}

.cma-disclaimer {
  background: #FFFBEB;
  border: 1px solid #FDE68A;
  border-left: 4px solid #D97706;
  border-radius: 0 10px 10px 0;
  padding: 14px 20px;
  font-size: 13px;
  color: #78350F;
  margin-top: 36px;
  line-height: 1.65;
}
.cma-disclaimer strong { color: #92400E; }

/* ── Ranking ── */
.cma-ranking-intro {
  background: #F0F4FF;
  border: 1px solid #C7D2FE;
  border-left: 5px solid #4F46E5;
  border-radius: 12px;
  padding: 22px 26px;
  margin-bottom: 28px;
  font-size: 15px;
  line-height: 1.75;
  color: #1E1B4B;
}
.cma-ranking-intro strong { color: #312E81; }
.cma-ranking-methodology {
  background: #EFF6FF; border: 1px solid #BFDBFE;
  border-radius: 12px; padding: 18px 22px; margin-bottom: 24px;
  font-size: 14px; color: #1E40AF;
}
.cma-ranking-methodology h3 { color: #1D4ED8; margin: 0 0 10px; font-size: 15px; }

.cma-ranking-table thead th { background: #1E3A5F; color: #fff; padding: 11px 14px; text-align: left; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
.cma-ranking-table tbody tr:nth-child(even) { background: #F9FAFB; }
.cma-ranking-table tbody tr:hover { background: #EFF6FF; }
.cma-ranking-table tbody td { padding: 12px 14px; border-bottom: 1px solid #F3F4F6; color: #111827; }
.cma-score { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: 12px; font-weight: 700; }
.cma-score.high   { background: #DCFCE7; color: #166534; }
.cma-score.medium { background: #FEF9C3; color: #854D0E; }
.cma-score.low    { background: #FEE2E2; color: #991B1B; }

/* ── Mobile ── */
@media (max-width: 768px) {
  /* Todos os blocos: padding mínimo, box-sizing correto */
  .cma-summary-box, .cma-ranking-intro,
  .cma-leia-tambem, .cma-verdict,
  .cma-chart-caption, .cma-disclaimer,
  .cma-exchanges-grid, .cma-coin-spotlight,
  .cma-ranking-methodology {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .cma-summary-box    { padding: 16px !important; font-size: 14px !important; }
  .cma-ranking-intro  { padding: 16px !important; font-size: 14px !important; }
  .cma-verdict        { flex-direction: column; gap: 10px; padding: 16px !important; }
  .cma-chart-caption  { padding: 14px 16px !important; }
  .cma-leia-tambem    { padding: 14px 16px !important; }
  .cma-disclaimer     { padding: 12px 16px !important; }

  .cma-exchanges-grid {
    grid-template-columns: 1fr !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }
  .cma-exchange-card {
    padding: 12px !important;
    flex-direction: row;
    align-items: center;
    text-align: left;
    box-sizing: border-box !important;
  }
  .cma-exchange-btn { width: auto !important; margin-top: 0 !important; flex-shrink: 0; }

  /* Texto nos filhos */
  [class*="cma-"] * {
    max-width: 100% !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    box-sizing: border-box !important;
  }

  /* Tabela scroll */
  
}

@media (max-width: 480px) {
  .cma-verdict-text { font-size: 18px !important; }
}

/* ── Linha de preço no resumo ── */
.cma-price-line {
  margin: 10px 0 0;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.2);
  font-size: 14px;
}
.cma-price-highlight {
  color: #FCD34D;
  font-size: 18px;
  font-weight: 800;
}

/* ── Tabela ranking — mobile first ── */
.cma-ranking-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  margin: 16px 0;
  display: block;
}
.cma-ranking-table table {
  width: 100%;
  min-width: 420px;
  border-collapse: collapse;
  font-size: 13px;
  box-sizing: border-box;
}
.cma-ranking-table thead th {
  background: #1E3A5F;
  color: #fff;
  padding: 10px 10px;
  text-align: left;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}
.cma-ranking-table tbody tr:nth-child(even) { background: #F9FAFB; }
.cma-ranking-table tbody tr:hover { background: #EFF6FF; }
.cma-ranking-table tbody td {
  padding: 10px 10px;
  border-bottom: 1px solid #F3F4F6;
  color: #111827;
  white-space: nowrap;
}
@media (max-width: 768px) {
  .cma-ranking-table { margin: 12px 0; }
  .cma-ranking-table table { font-size: 12px; min-width: 380px; }
  .cma-ranking-table thead th,
  .cma-ranking-table tbody td { padding: 8px 8px; }
}

/* ── FAQ Schema ── */
.cma-faq { margin: 20px 0; }
.cma-faq-item { border-left: 3px solid var(--cma-primary, #F7931A); padding: 12px 16px; margin-bottom: 12px; background: #fafafa; border-radius: 0 8px 8px 0; }
.cma-faq-item h3 { font-size: 15px; margin: 0 0 6px; color: #1a1a1a; }
.cma-faq-item p { font-size: 14px; margin: 0; color: #444; line-height: 1.6; }

/* ── Author E-E-A-T ── */
.cma-eeat-author { background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 12px 16px; margin: 20px 0 12px; font-size: 13px; color: #0369a1; }


/* ═══════════════════════════════
   VEREDITO CARD — minimalista
   ═══════════════════════════════ */
.cma-verdict-card {
  border-radius: 12px;
  margin: 24px 0;
  padding: 20px;
  box-sizing: border-box;
  width: 100%;
  font-family: inherit;
}
.cma-verdict-card.buy   { background: #f0fdf4; border: 2px solid #16a34a; }
.cma-verdict-card.wait  { background: #fffbeb; border: 2px solid #f59e0b; }
.cma-verdict-card.avoid { background: #fff1f2; border: 2px solid #dc2626; }

/* Linha do topo: badge + score */
.cma-verdict-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  gap: 8px;
}
.cma-verdict-emoji { display: none; } /* removido no novo layout */
.cma-verdict-meta  { display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; }

.cma-verdict-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  padding: 4px 14px;
  border-radius: 6px;
  white-space: nowrap;
  line-height: 1.4;
}
.cma-verdict-card.buy   .cma-verdict-badge { background: #16a34a; color: #fff; }
.cma-verdict-card.wait  .cma-verdict-badge { background: #f59e0b; color: #fff; }
.cma-verdict-card.avoid .cma-verdict-badge { background: #dc2626; color: #fff; }

.cma-verdict-date {
  font-size: 11px;
  color: #9ca3af;
  white-space: nowrap;
}

/* Score no canto direito */
.cma-verdict-score {
  font-size: 11px;
  color: #9ca3af;
  text-align: right;
  white-space: nowrap;
}
.cma-verdict-score strong {
  display: block;
  font-size: 18px;
  font-weight: 800;
  line-height: 1;
}
.cma-verdict-card.buy   .cma-verdict-score strong { color: #16a34a; }
.cma-verdict-card.wait  .cma-verdict-score strong { color: #d97706; }
.cma-verdict-card.avoid .cma-verdict-score strong { color: #dc2626; }

/* Texto */
.cma-verdict-desc {
  font-size: 14px;
  line-height: 1.65;
  color: #374151;
  margin: 0;
  padding: 0;
}
.cma-verdict-card.buy   .cma-verdict-desc { color: #14532d; }
.cma-verdict-card.wait  .cma-verdict-desc { color: #78350f; }
.cma-verdict-card.avoid .cma-verdict-desc { color: #7f1d1d; }

/* ── Veredito Card compacto mobile-first ── */
.cma-verdict, .cma-verdict-card {
  border-radius: 14px; padding: 0; margin: 20px 0;
  overflow: hidden; box-shadow: 0 4px 16px rgba(0,0,0,.15);
  width: 100%; box-sizing: border-box;
}
.cma-verdict.buy,   .cma-verdict-card.buy   { background: linear-gradient(135deg,#052e16,#14532d); border: 1.5px solid #16a34a; }
.cma-verdict.wait,  .cma-verdict-card.wait  { background: linear-gradient(135deg,#1c1008,#451a03); border: 1.5px solid #d97706; }
.cma-verdict.avoid, .cma-verdict-card.avoid { background: linear-gradient(135deg,#1c0a0a,#450a0a); border: 1.5px solid #dc2626; }
.cma-verdict-header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; padding: 14px 16px; border-bottom: 1px solid rgba(255,255,255,.08);
  flex-wrap: nowrap; overflow: hidden;
}
.cma-verdict-emoji { display: none; }
.cma-verdict-meta  { display: flex; align-items: center; gap: 8px; min-width: 0; flex: 1; }
.cma-verdict-badge {
  display: inline-block; font-size: 12px; font-weight: 800;
  letter-spacing: .06em; text-transform: uppercase;
  padding: 5px 14px; border-radius: 8px; white-space: nowrap;
}
.buy  .cma-verdict-badge  { background: #16a34a; color: #fff; }
.wait .cma-verdict-badge  { background: #d97706; color: #fff; }
.avoid .cma-verdict-badge { background: #dc2626; color: #fff; }
.cma-verdict-date  { font-size: 11px; color: rgba(255,255,255,.4); white-space: nowrap; }
.cma-verdict-score { display: flex; align-items: baseline; gap: 4px; font-size: 11px; color: rgba(255,255,255,.4); white-space: nowrap; }
.cma-verdict-score strong { font-size: 16px; font-weight: 800; color: rgba(255,255,255,.9); }
.cma-verdict-desc  { font-size: 14px; line-height: 1.65; color: rgba(255,255,255,.82); padding: 14px 16px; margin: 0; }
.cma-verdict-icon  { display: none; }
.cma-verdict-body  { padding: 14px 16px; }
.cma-verdict-label { font-size: 10px; font-weight:700; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:4px; }
.cma-verdict-text  { font-size: 18px; font-weight:800; color:#fff; margin-bottom:6px; }
.cma-verdict-reason{ font-size: 14px; color: rgba(255,255,255,.8); line-height:1.6; }
@media (max-width:480px){
  .cma-verdict-card,.cma-verdict { border-radius:12px; margin:16px 0; }
  .cma-verdict-desc { font-size:13px; padding:12px 14px; }
  .cma-verdict-header { padding:12px 14px; }
}

/* ── Tabela VS Comparativa ───────────────────────────────── */
.cma-vs-wrap {
  border-radius: 10px;
  border: 1px solid #e2e8f0;
  overflow: hidden;
  margin: 16px 0 20px;
}
.cma-vs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
/* Cabeçalho — forçar cor branca independente do tema */
.cma-vs-table thead tr {
  background: #1e293b !important;
}
.cma-vs-table thead th {
  padding: 10px 14px !important;
  color: #fff !important;
  font-size: 11px;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .05em;
  border: none !important;
}
.cma-vs-table thead th:first-child {
  text-align: left !important;
  width: 32%;
  opacity: 1 !important;
  color: #94a3b8 !important;
}
.cma-vs-table thead th:not(:first-child) {
  text-align: center !important;
  font-size: 13px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.cma-vs-table tbody td {
  padding: 10px 14px;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: middle;
  color: #1e293b;
}
.cma-vs-table tbody td:first-child {
  font-weight: 600;
  color: #374151 !important;
  background: inherit;
}
.cma-vs-table tbody td:not(:first-child) {
  text-align: center;
}
.cma-vs-table tbody tr:nth-child(even) { background: #f8fafc; }
.cma-vs-table tbody tr:nth-child(odd)  { background: #fff; }
.cma-vs-table tbody tr:last-child td   { border-bottom: none; }
@media (max-width: 600px) {
  .cma-vs-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .cma-vs-table { min-width: 420px; }
}
