/**
 * Ofertas de Afiliados — CSS compartilhado das páginas públicas
 * (index.php, campaign.php e links.php). Etapa 23 — substitui os <style>
 * duplicados. offer.php mantém o próprio (layout de página única).
 */

:root { color-scheme: light dark; }

body {
  font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  margin: 0;
  background: #0f172a;
  color: #e2e8f0;
}

main { max-width: 52rem; margin: 0 auto; padding: 2rem 1rem; }

h1 { font-size: 1.6rem; margin-bottom: .25rem; }
h2 { font-size: 1.1rem; margin-top: 1.75rem; }
p { color: #94a3b8; line-height: 1.5; }

code { background: #1e293b; padding: .15rem .4rem; border-radius: .3rem; }

/* badge de status (health do banco) */
.badge {
  display: inline-block;
  margin: .5rem 0 1.5rem;
  padding: .4rem .9rem;
  border-radius: 999px;
  font-size: .85rem;
  font-weight: 600;
}
.ok { background: #14532d; color: #bbf7d0; }
.fail { background: #7f1d1d; color: #fecaca; }

/* chips de campanha (Etapa 23) */
.chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 1.5rem; }
.chip {
  display: inline-block;
  padding: .4rem .9rem;
  border: 1px solid #334155;
  border-radius: 999px;
  background: #1e293b;
  color: #93c5fd;
  font-size: .85rem;
  font-weight: 600;
  text-decoration: none;
}
.chip:hover { border-color: #2563eb; color: #bfdbfe; }
.chip.ativo { background: #2563eb; border-color: #2563eb; color: #fff; }

/* Busca (Etapa 26) */
.search { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 1rem 0 1.5rem; }
.search input[type="search"] {
  flex: 1;
  min-width: 12rem;
  padding: .55rem .9rem;
  border: 1px solid #334155;
  border-radius: 999px;
  background: #0b1220;
  color: #e2e8f0;
  font-size: .95rem;
}
.search input[type="search"]:focus { outline: none; border-color: #2563eb; }
.search button {
  padding: .55rem 1.2rem;
  border: 0;
  border-radius: 999px;
  background: #2563eb;
  color: #fff;
  font-weight: 600;
  font-size: .9rem;
  cursor: pointer;
}
.search button:hover { background: #1d4ed8; }
.search .clear { color: #93c5fd; font-size: .85rem; }
.chip.ativo:hover { background: #1d4ed8; color: #fff; }

/* grid de cards de produto */
.grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
  gap: 1rem;
}
.card {
  background: #1e293b;
  border: 1px solid #334155;
  border-radius: .6rem;
  padding: 1rem;
  text-decoration: none;
  color: inherit;
  display: block;
}
.card:hover { border-color: #2563eb; }
.card h2 { font-size: 1rem; margin: .4rem 0; line-height: 1.35; }

/* imagem do produto (Etapa 23) */
.img {
  width: 100%;
  height: 8rem;
  object-fit: contain;
  background: #fff;
  border-radius: .4rem;
  margin-bottom: .5rem;
}

.price { color: #4ade80; font-weight: 700; font-size: 1.25rem; }
.old { color: #94a3b8; text-decoration: line-through; font-size: .85rem; margin-left: .4rem; }

/* badge de desconto (Etapa 23) */
.off {
  display: inline-block;
  background: #7f1d1d;
  color: #fecaca;
  border-radius: .3rem;
  font-size: .75rem;
  font-weight: 700;
  padding: .1rem .4rem;
  margin-left: .4rem;
}

.market {
  font-size: .75rem;
  color: #93c5fd;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.category-label { float: right; color: #cbd5e1; font-size: .75rem; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin: 2rem 0; }
.pagination a { color: #93c5fd; border: 1px solid #334155; padding: .45rem .8rem; border-radius: .4rem; text-decoration: none; }
.pagination a:hover { border-color: #2563eb; }
.pagination span { color: #94a3b8; font-size: .85rem; }
.coupon { font-size: .8rem; color: #fcd34d; margin-top: .4rem; }
.cta { display: block; margin-top: .7rem; font-size: .85rem; color: #93c5fd; }
.empty { color: #64748b; font-style: italic; }

/* barra de compartilhamento da página de links (Etapa 35) */
.share-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  margin: 1.25rem 0 1.75rem;
}
.share-bar .copy,
.share-bar .wa {
  display: inline-block;
  padding: .7rem 1.15rem;
  border: 0;
  border-radius: .45rem;
  font: 600 .9rem system-ui, sans-serif;
  cursor: pointer;
  text-decoration: none;
}
.share-bar .copy { background: #334155; color: #e2e8f0; }
.share-bar .copy:hover { background: #475569; }
.share-bar .wa { background: #16a34a; color: #fff; }
.share-bar .wa:hover { background: #15803d; }
.share-bar .copied { color: #4ade80; font-size: .85rem; font-weight: 700; }
