/* ══════════════════════════════════════════════════════════════
   gn-ads.css — Estilos de anúncios do Guianeo
   Todos os formatos usam CSS custom properties injetadas pelo PHP:
     --ad-bg      cor de fundo
     --ad-text    cor do texto principal
     --ad-accent  cor de destaque (botão / ícone)
   ══════════════════════════════════════════════════════════════ */

/* ── Base ──────────────────────────────────────────────────────────────────── */
.gn-ad {
  position: relative;
  font-family: inherit;
  overflow: hidden;
}

.gn-ad__label {
  position: absolute;
  top: .5rem;
  right: .625rem;
  font-size: .6rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: rgba(255,255,255,.55);
  background: rgba(0,0,0,.25);
  padding: .15rem .45rem;
  border-radius: 999px;
  pointer-events: none;
  z-index: 2;
}

.gn-ad__label--dark {
  color: rgba(0,0,0,.45);
  background: rgba(0,0,0,.08);
}

.gn-ad__label--guianeo {
  color: #c7d2fe;
  background: rgba(99,102,241,.25);
  display: inline-flex;
  align-items: center;
  gap: .25rem;
}

.gn-ad__label--guianeo i { font-size: .55rem; }

.gn-ad--card__badge--guianeo {
  background: rgba(99,102,241,.2) !important;
  color: #a5b4fc !important;
  display: inline-flex;
  align-items: center;
  gap: .25rem;
}

.gn-ad--card__badge--guianeo i { font-size: .55rem; }

.gn-ad a {
  text-decoration: none;
  color: inherit;
}


/* ── Leaderboard (728 × 90) ────────────────────────────────────────────────── */
.gn-ad--leaderboard {
  background: var(--ad-bg, #1e3a8a);
  color: var(--ad-text, #fff);
  border-radius: 1rem;
  margin: 1rem 0;
}

.gn-ad--leaderboard a {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: .875rem 1.25rem;
  min-height: 72px;
}

.gn-ad--leaderboard__icon {
  width: 44px;
  height: 44px;
  border-radius: .75rem;
  background: var(--ad-accent, #3b82f6);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: #fff;
  flex-shrink: 0;
}

.gn-ad--leaderboard__body {
  flex: 1;
  min-width: 0;
}

.gn-ad--leaderboard__body strong {
  display: block;
  font-size: .9375rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-bottom: .2rem;
}

.gn-ad--leaderboard__body span {
  font-size: .8125rem;
  opacity: .8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.gn-ad--leaderboard__cta {
  flex-shrink: 0;
  background: var(--ad-accent, #3b82f6);
  color: #fff;
  font-size: .8125rem;
  font-weight: 700;
  padding: .5rem 1rem;
  border-radius: .625rem;
  display: flex;
  align-items: center;
  gap: .375rem;
  transition: opacity .15s;
}

.gn-ad--leaderboard a:hover .gn-ad--leaderboard__cta { opacity: .85; }

@media (max-width: 600px) {
  .gn-ad--leaderboard a { gap: .75rem; padding: .75rem 1rem; }
  .gn-ad--leaderboard__body strong { font-size: .875rem; }
  .gn-ad--leaderboard__body span { display: none; }
  .gn-ad--leaderboard__cta { font-size: .75rem; padding: .4rem .75rem; }
}


/* ── Full-width (entre seções) ─────────────────────────────────────────────── */
.gn-ad--fullwidth {
  background: var(--ad-bg, #1e1b4b);
  color: var(--ad-text, #fff);
  margin: 2.5rem 0;
}

.gn-ad--fullwidth a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 2.5rem max(1.25rem, calc((100% - 1200px) / 2 + 1.25rem));
  min-height: 140px;
}

.gn-ad--fullwidth__left {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex: 1;
  min-width: 0;
}

.gn-ad--fullwidth__icon {
  width: 64px;
  height: 64px;
  border-radius: 1rem;
  background: var(--ad-accent, #6366f1);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  color: #fff;
  flex-shrink: 0;
}

.gn-ad--fullwidth__text strong {
  display: block;
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.2;
  margin-bottom: .375rem;
}

.gn-ad--fullwidth__text span {
  font-size: .9rem;
  opacity: .8;
}

.gn-ad--fullwidth__cta {
  flex-shrink: 0;
  background: var(--ad-accent, #6366f1);
  color: #fff;
  font-size: .9375rem;
  font-weight: 700;
  padding: .75rem 1.5rem;
  border-radius: .75rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  transition: opacity .15s;
}

.gn-ad--fullwidth a:hover .gn-ad--fullwidth__cta { opacity: .85; }

@media (max-width: 700px) {
  .gn-ad--fullwidth a {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.25rem;
    padding: 1.75rem 1.25rem;
  }
  .gn-ad--fullwidth__cta { width: 100%; justify-content: center; }
  .gn-ad--fullwidth__text strong { font-size: 1.0625rem; }
}


/* ── Card patrocinado (inline nos resultados) ──────────────────────────────── */
.gn-ad--card {
  background: var(--ad-bg, #0c0a09);
  color: var(--ad-text, #fff);
  border-radius: 1rem;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .15s, box-shadow .15s;
}

.gn-ad--card a {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 1.25rem;
  gap: .875rem;
}

.gn-ad--card:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.2); }

.gn-ad--card__icon {
  width: 48px;
  height: 48px;
  border-radius: .75rem;
  background: var(--ad-accent, #ef4444);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: #fff;
  flex-shrink: 0;
}

.gn-ad--card__body { flex: 1; }

.gn-ad--card__name {
  font-size: 1rem;
  font-weight: 700;
  margin: 0 0 .375rem;
  line-height: 1.2;
}

.gn-ad--card__desc {
  font-size: .8125rem;
  opacity: .75;
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.gn-ad--card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: .75rem;
  border-top: 1px solid rgba(255,255,255,.1);
}

.gn-ad--card__cta {
  font-size: .8125rem;
  font-weight: 700;
  color: var(--ad-accent, #ef4444);
  display: flex;
  align-items: center;
  gap: .3rem;
}

.gn-ad--card__badge {
  font-size: .625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  background: rgba(255,255,255,.12);
  padding: .2rem .5rem;
  border-radius: 999px;
}


/* ── Sidebar rect (300 × 250) ──────────────────────────────────────────────── */
.gn-ad--sidebar-rect {
  background: var(--ad-bg, #ecfdf5);
  color: var(--ad-text, #064e3b);
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.06);
}

.gn-ad--sidebar-rect a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1.5rem 1.25rem;
  gap: .875rem;
}

.gn-ad--sidebar-rect__icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--ad-accent, #10b981);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.375rem;
  color: #fff;
}

.gn-ad--sidebar-rect__name {
  font-size: 1rem;
  font-weight: 800;
  margin: 0;
  line-height: 1.2;
}

.gn-ad--sidebar-rect__desc {
  font-size: .8125rem;
  opacity: .8;
  line-height: 1.5;
  margin: 0;
}

.gn-ad--sidebar-rect__cta {
  width: 100%;
  background: var(--ad-accent, #10b981);
  color: #fff;
  font-size: .875rem;
  font-weight: 700;
  padding: .625rem;
  border-radius: .625rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .375rem;
  margin-top: .25rem;
  transition: opacity .15s;
}

.gn-ad--sidebar-rect a:hover .gn-ad--sidebar-rect__cta { opacity: .85; }


/* ── Spotlight bar ─────────────────────────────────────────────────────────── */
.gn-ad--spotlight {
  background: var(--ad-bg, #4338ca);
  color: var(--ad-text, #fff);
}

.gn-ad--spotlight a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem max(1.25rem, calc((100% - 1200px) / 2 + 1.25rem));
}

.gn-ad--spotlight__left {
  display: flex;
  align-items: center;
  gap: .875rem;
  flex: 1;
  min-width: 0;
}

.gn-ad--spotlight__icon {
  font-size: 1.25rem;
  color: var(--ad-accent, #c7d2fe);
  flex-shrink: 0;
}

.gn-ad--spotlight__text strong {
  display: block;
  font-size: .9375rem;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.gn-ad--spotlight__text span {
  font-size: .8125rem;
  opacity: .75;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.gn-ad--spotlight__cta {
  flex-shrink: 0;
  background: var(--ad-accent, #c7d2fe);
  color: #1e1b4b;
  font-size: .8125rem;
  font-weight: 700;
  padding: .5rem 1rem;
  border-radius: .625rem;
  transition: opacity .15s;
  white-space: nowrap;
}

.gn-ad--spotlight a:hover .gn-ad--spotlight__cta { opacity: .85; }

@media (max-width: 600px) {
  .gn-ad--spotlight a { flex-direction: column; align-items: flex-start; padding: .875rem 1.25rem; gap: .75rem; }
  .gn-ad--spotlight__cta { width: 100%; text-align: center; }
  .gn-ad--spotlight__text span { display: none; }
}


/* ── Wrap de slot (container padronizado) ──────────────────────────────────── */
.gn-ad-slot {
  width: 100%;
}

.gn-ad-slot--contained {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
