:root{
  --bg:#0b1220; --fg:#e6eef9; --muted:#96a0b8;
  --card:#111a2a; --card2:#0d1626; --edge:#1f2a3d;

  /* Mercado Livre */
  --ml-yellow:#ffe600;        /* primário ML */
  --ml-blue:#0b3a6e;          /* azul escuro ML */
  --ml-glow:rgba(255,230,0,.18);

  /* Shopee */
  --shp-orange:#ee4d2d;       /* primário Shopee */
  --shp-deep:#1a0f0c;         /* base escura Shopee */
  --shp-glow:rgba(238,77,45,.18);

  /* Gerais */
  --ok:#2ecc71; --bad:#ff5252; --pill:#162b4a;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font:16px/1.45 system-ui,Segoe UI,Roboto,Arial;
  background:var(--bg);
  color:var(--fg);
}

/* Header & layout básicos */
.cm-wrap{max-width:1120px;margin:0 auto;padding:28px 16px}
.cm-header{background:#0a1322;border-bottom:1px solid var(--edge)}
.cm-header .brand{display:flex;align-items:center;gap:10px;height:46px}
.cm-header .brand a{color:inherit;text-decoration:none}
.cm-header .brand span{color:var(--ml-yellow);font-weight:700}
.cm-nav{display:flex;gap:10px}
.cm-btn{
  background:linear-gradient(180deg,#212b42,#141c2d);
  border:1px solid #25314a;
  color:var(--fg);
  padding:10px 14px;border-radius:14px;
  text-decoration:none;font-weight:600;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
.cm-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.3)}
.cm-hero{padding:26px 0 6px}
.title{font-size:34px;font-weight:800;margin:0 0 8px}
.subtitle{margin:2px 0 0;color:var(--muted)}

/* Grid de cartões */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:22px 0}

/* Cartão base */
.cupom-card{
  position:relative;
  background:var(--card);
  border:1px solid #1a2537;
  border-radius:16px;
  padding:18px;
  box-shadow:0 10px 30px rgba(0,0,0,.25) inset, 0 12px 28px rgba(0,0,0,.25);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.cupom-card:hover{transform:translateY(-2px)}
.cupom-card .loja{font-weight:700;color:#c9d7ff;margin-bottom:6px}
.cupom-card .status-pill{
  position:absolute; top:12px; right:12px;
  font-size:12px; padding:6px 10px; border-radius:999px;
  background:#0f1f36; color:#a4c9b0; border:1px solid #20314a;
}
.cupom-card.expirado .status-pill{background:#24131a;color:#ffc0c0;border-color:#38202a}

.cupom-card .codigo{
  font:700 22px/1.2 ui-monospace,Consolas,Menlo,monospace;
  letter-spacing:2px; margin:10px 0 12px;
}
.codigo > .blur{filter:blur(4px)}
.codigo .ghost{
  opacity:.25; filter:blur(.6px);
}

.cupom-card .desc{color:#b8c3da;margin-bottom:14px}

/* Botão ativar */
.btn-ativar{
  display:inline-block;
  background:#324af1;
  color:#fff; font-weight:700;
  padding:12px 16px; border-radius:12px;
  text-decoration:none;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 10px 24px rgba(50,74,241,.25);
  transition:transform .15s ease, filter .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-ativar:hover{transform:translateY(-1px);filter:brightness(1.05)}
.btn-ativar.is-loading{opacity:.85;pointer-events:none}

/* -------- Temas por Marketplace -------- */

/* MERCADO LIVRE */
.cupom-card.brand-ml{
  border-color:rgba(255,230,0,.25);
  box-shadow:0 0 0 1px rgba(255,230,0,.06) inset, 0 14px 34px var(--ml-glow);
}
.cupom-card.brand-ml .loja{color:var(--ml-yellow)}
.cupom-card.brand-ml .btn-ativar{
  background:linear-gradient(180deg,var(--ml-blue),#062347);
  box-shadow:0 14px 28px var(--ml-glow);
}
.cupom-card.brand-ml .btn-ativar:hover{filter:brightness(1.08)}

/* SHOPEE */
.cupom-card.brand-shopee{
  border-color:rgba(238,77,45,.35);
  background:linear-gradient(180deg, var(--card), var(--shp-deep));
  box-shadow:0 0 0 1px rgba(238,77,45,.06) inset, 0 14px 34px var(--shp-glow);
}
.cupom-card.brand-shopee .loja{color:var(--shp-orange)}
.cupom-card.brand-shopee .btn-ativar{
  background:linear-gradient(180deg,#ff6a3c,#d63a1b);
  box-shadow:0 14px 28px var(--shp-glow);
  border-color:rgba(255,255,255,.06);
}

/* Expirado */
.cupom-card.expirado{
  opacity:.6; filter:grayscale(.15);
  border-color:#2a2030; background:linear-gradient(180deg,#0f1423,#0b0e17);
}
.cupom-card.expirado .btn-ativar{background:#27324a;box-shadow:none}
.cupom-card.expirado .btn-ativar:hover{filter:brightness(1)}

/* Pills menores */
.pill{
  display:inline-block; font-size:12px; padding:6px 10px; border-radius:999px;
  background:var(--pill); color:#cfe0ff; border:1px solid #23324e;
}

/* Helpers */
.section-title{font-size:22px;font-weight:800;margin:18px 0 6px}
.hint{margin:8px 0 0;color:var(--muted);font-size:13px}
.hint.ok{color:#7fd48f}


.cupom-card.brand-amazon{
  border-color:rgba(251,191,36,.4);
  background:linear-gradient(180deg,#111827,#020617);
  box-shadow:0 14px 34px rgba(251,191,36,.12);
}
.cupom-card.brand-amazon .marketplace-pill{background:#fbbf24;color:#111827}
.cupom-card.brand-amazon .btn-ativar{
  background:linear-gradient(180deg,#fbbf24,#d97706);
  box-shadow:0 14px 28px rgba(251,191,36,.25);
}

.aff-disclosure{
  margin: 10px auto 0;
  padding: 10px 14px;
  border-radius: 10px;
  background: rgba(15,23,42,0.95);
  border: 1px solid #334155;
  font-size: 0.85rem;
  color: var(--muted);
  display: flex;
  gap: 6px;
  align-items: center;
}
.aff-disclosure strong{
  color: #fbbf24;
  font-weight: 700;
}
@media (max-width: 640px){
  .aff-disclosure{
    font-size: 0.8rem;
    padding: 8px 10px;
  }
}

.cm-footer{
  margin-top: 40px;
  padding: 30px 0 20px;
  background:#020617;
  border-top:1px solid #1e293b;
  font-size:0.85rem;
  color:var(--muted);
}
.footer-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
}
.footer-col h4{
  font-size:0.9rem;
  margin-bottom:8px;
  color:var(--fg);
}
.footer-col ul{list-style:none;padding:0;margin:0}
.footer-col li{margin-bottom:4px}
.footer-col a{
  color:var(--muted);
  text-decoration:none;
}
.footer-col a:hover{
  color:#e5e7eb;
  text-decoration:underline;
}
.brand-footer span{
  font-weight:800;
  font-size:1.1rem;
}
.amazon-trademark{
  margin-top:8px;
  font-size:0.75rem;
  opacity:.8;
}
.footer-bottom{
  margin-top:28px;
  border-top:1px solid #1e293b;
  padding-top:12px;
  text-align:center;
  font-size:0.75rem;
  color:#64748b;
}
