/* ============================================================
   OFICIAL GEEK — archive.css
   Páginas de categoria / tag / arquivo
   ============================================================ */

/* ── Banner da categoria ───────────────────────────────────── */
.ogc-archive-banner {
  background: #0a0a0a !important;
  padding: 36px 0 32px;
  border-bottom: 3px solid #F4EC00 !important;
  position: relative;
  overflow: hidden;
}

.ogc-archive-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(244,236,0,.04) 0%, transparent 65%);
  pointer-events: none;
}

.ogc-archive-banner__inner {
  max-width: var(--og-max-width);
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}

.ogc-archive-banner__cat {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.ogc-archive-banner__title {
  font-family: var(--og-font) !important;
  font-size: clamp(26px, 4vw, 40px) !important;
  font-weight: var(--og-fw-black) !important;
  line-height: var(--og-lh-tight) !important;
  letter-spacing: -0.03em !important;
  color: #ffffff !important;
  margin: 0 0 10px !important;
}

.ogc-archive-banner__title span {
  color: var(--og-yellow);
}

.ogc-archive-banner__desc {
  font-family: var(--og-font) !important;
  font-size: var(--og-fs-sm) !important;
  color: #888 !important;
  line-height: var(--og-lh-normal) !important;
  margin: 0 0 12px !important;
  max-width: 520px;
}

.ogc-archive-banner__meta {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: var(--og-font);
  font-size: var(--og-fs-xs);
  color: #666;
}

.ogc-archive-banner__count {
  font-weight: var(--og-fw-semibold);
  color: #888;
}

.ogc-archive-banner__count strong {
  color: var(--og-yellow);
  font-weight: var(--og-fw-black);
}

/* ── Corpo do arquivo ──────────────────────────────────────── */
.ogc-archive-body {
  background: var(--og-bg);
  padding-bottom: 48px;
}

/* ── Barra de filtro/ordenação ─────────────────────────────── */
.ogc-archive-bar {
  max-width: var(--og-max-width);
  margin: 0 auto;
  padding: 16px 20px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--og-border);
  margin-bottom: 20px;
}

.ogc-archive-bar__label {
  font-family: var(--og-font);
  font-size: var(--og-fs-xs);
  font-weight: var(--og-fw-semibold);
  text-transform: uppercase;
  letter-spacing: var(--og-ls-wider);
  color: var(--og-text-muted);
}

/* ── Grid de posts ─────────────────────────────────────────── */
.ogc-archive-grid {
  max-width: var(--og-max-width);
  margin: 0 auto;
  padding: 24px 20px 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

/* ── Post vazio ────────────────────────────────────────────── */
.ogc-archive-empty {
  max-width: var(--og-max-width);
  margin: 0 auto;
  padding: 64px 20px;
  text-align: center;
}

.ogc-archive-empty__icon {
  font-size: 40px;
  margin-bottom: 16px;
  opacity: .5;
}

.ogc-archive-empty__title {
  font-family: var(--og-font) !important;
  font-size: var(--og-fs-lg) !important;
  font-weight: var(--og-fw-bold) !important;
  color: var(--og-text-1) !important;
  margin-bottom: 8px !important;
}

.ogc-archive-empty__text {
  font-family: var(--og-font);
  font-size: var(--og-fs-base);
  color: var(--og-text-muted);
}

/* ── Paginação ─────────────────────────────────────────────── */
.ogc-pagination {
  max-width: var(--og-max-width);
  margin: 36px auto 0;
  padding: 0 20px;
}

.ogc-pagination ul {
  display: flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  padding: 0;
  margin: 0;
  flex-wrap: wrap;
}

.ogc-pagination li {}

.ogc-pagination .page-numbers,
.ogc-pagination a.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  font-family: var(--og-font);
  font-size: var(--og-fs-xs);
  font-weight: var(--og-fw-semibold);
  color: var(--og-text-muted);
  background: var(--og-surface);
  border: 1px solid var(--og-border);
  border-radius: var(--og-r);
  text-decoration: none;
  transition: all .15s;
}

.ogc-pagination a.page-numbers:hover {
  border-color: var(--og-yellow);
  color: var(--og-text-1);
}

.ogc-pagination .page-numbers.current {
  background: var(--og-yellow);
  color: var(--og-black);
  border-color: var(--og-yellow);
  font-weight: var(--og-fw-bold);
}

.ogc-pagination .page-numbers.dots {
  border-color: transparent;
  background: transparent;
}

/* ════════════════════════════════════════════════════════════
   BUSCA (search.php)
   ════════════════════════════════════════════════════════════ */

.ogc-search-banner {
  background: #0a0a0a;
  border-bottom: 3px solid var(--og-yellow);
  padding: 36px 0 32px;
  position: relative;
  overflow: hidden;
}

.ogc-search-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(244,236,0,.04) 0%, transparent 65%);
  pointer-events: none;
}

.ogc-search-banner__inner {
  max-width: var(--og-max-width);
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 1;
}

.ogc-search-banner__label {
  font-family: var(--og-font);
  font-size: var(--og-fs-xs);
  font-weight: var(--og-fw-semibold);
  text-transform: uppercase;
  letter-spacing: var(--og-ls-wider);
  color: #888;
  margin: 0 0 6px;
}

.ogc-search-banner__term {
  font-family: var(--og-font) !important;
  font-size: clamp(22px, 4vw, 38px) !important;
  font-weight: var(--og-fw-black) !important;
  letter-spacing: -0.03em !important;
  color: #fff !important;
  margin: 0 0 10px !important;
  word-break: break-word;
}

.ogc-search-banner__count {
  font-family: var(--og-font);
  font-size: var(--og-fs-xs);
  color: #888;
  margin: 0 0 20px;
}

.ogc-search-banner__count strong {
  color: var(--og-yellow);
  font-weight: var(--og-fw-black);
}

/* Form de busca no banner */
.ogc-search-banner__form .search-form,
.ogc-search-banner__form form {
  display: flex;
  gap: 8px;
  max-width: 520px;
}

.ogc-search-banner__form .search-field,
.ogc-search-banner__form input[type="search"] {
  flex: 1;
  font-family: var(--og-font) !important;
  font-size: var(--og-fs-base) !important;
  padding: 10px 14px !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  border-radius: var(--og-r) !important;
  outline: none !important;
  transition: border-color .15s !important;
}

.ogc-search-banner__form .search-field:focus,
.ogc-search-banner__form input[type="search"]:focus {
  border-color: var(--og-yellow) !important;
}

.ogc-search-banner__form .search-submit,
.ogc-search-banner__form button[type="submit"],
.ogc-search-banner__form input[type="submit"] {
  font-family: var(--og-font) !important;
  font-size: var(--og-fs-xs) !important;
  font-weight: var(--og-fw-bold) !important;
  letter-spacing: var(--og-ls-wider) !important;
  text-transform: uppercase !important;
  background: var(--og-yellow) !important;
  color: var(--og-black) !important;
  border: none !important;
  border-radius: var(--og-r) !important;
  padding: 10px 18px !important;
  cursor: pointer !important;
  white-space: nowrap;
  transition: background .15s !important;
}

.ogc-search-banner__form .search-submit:hover,
.ogc-search-banner__form button[type="submit"]:hover {
  background: var(--og-yellow-hover) !important;
}


/* ════════════════════════════════════════════════════════════
   TAG (tag.php)
   ════════════════════════════════════════════════════════════ */

.ogc-tag-badge {
  display: inline-block;
  font-family: var(--og-font);
  font-size: var(--og-fs-xs);
  font-weight: var(--og-fw-bold);
  color: var(--og-yellow);
  background: rgba(244,236,0,.1);
  border: 1px solid rgba(244,236,0,.25);
  padding: 3px 12px;
  border-radius: 99px;
  letter-spacing: 0.02em;
}


/* ════════════════════════════════════════════════════════════
   AUTOR (archive.php → is_author)
   ════════════════════════════════════════════════════════════ */

.ogc-author-arc {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 4px;
}

.ogc-author-arc__avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,.12);
  flex-shrink: 0;
  background: rgba(255,255,255,.05);
}

.ogc-author-arc__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ogc-author-arc__info {}

.ogc-archive-banner__label {
  font-family: var(--og-font);
  font-size: var(--og-fs-2xs);
  font-weight: var(--og-fw-semibold);
  text-transform: uppercase;
  letter-spacing: var(--og-ls-wider);
  color: #888;
  margin: 0 0 4px;
}


/* ════════════════════════════════════════════════════════════
   404 (404.php)
   ════════════════════════════════════════════════════════════ */

#og-404 {
  background: var(--og-bg);
}

.ogc-error-page {
  background: var(--og-surface);
  border-bottom: 1px solid var(--og-border);
}

.ogc-error-page__inner {
  max-width: 560px;
  margin: 0 auto;
  padding: 72px 20px 64px;
  text-align: center;
}

.ogc-error-page__code {
  font-family: var(--og-font);
  font-size: clamp(80px, 18vw, 140px);
  font-weight: 900;
  line-height: 1;
  color: var(--og-yellow);
  letter-spacing: -0.05em;
  margin-bottom: 12px;
}

.ogc-error-page__title {
  font-family: var(--og-font) !important;
  font-size: clamp(20px, 4vw, 26px) !important;
  font-weight: var(--og-fw-black) !important;
  color: var(--og-text-1) !important;
  margin: 0 0 14px !important;
}

.ogc-error-page__text {
  font-family: var(--og-font);
  font-size: var(--og-fs-base);
  color: var(--og-text-muted);
  line-height: var(--og-lh-relaxed);
  margin: 0 0 36px;
}

.ogc-error-page__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}

.ogc-error-page__btn {
  display: inline-block;
  font-family: var(--og-font);
  font-size: var(--og-fs-xs);
  font-weight: var(--og-fw-bold);
  letter-spacing: var(--og-ls-wider);
  text-transform: uppercase;
  background: var(--og-yellow);
  color: var(--og-black);
  padding: var(--sp-2) var(--sp-8);
  border-radius: var(--og-r);
  text-decoration: none;
  transition: background .15s;
}

.ogc-error-page__btn:hover { background: var(--og-yellow-hover); }

/* Search form no 404 */
.ogc-error-page__actions .search-form,
.ogc-error-page__actions form {
  display: flex;
  gap: 8px;
  width: 100%;
  max-width: 400px;
}

.ogc-error-page__actions .search-field,
.ogc-error-page__actions input[type="search"] {
  flex: 1;
  font-family: var(--og-font) !important;
  font-size: var(--og-fs-base) !important;
  padding: 9px 14px !important;
  border: 1px solid var(--og-border-strong) !important;
  border-radius: var(--og-r) !important;
  background: #fff !important;
  outline: none !important;
  transition: border-color .15s !important;
}

.ogc-error-page__actions .search-field:focus,
.ogc-error-page__actions input[type="search"]:focus {
  border-color: var(--og-yellow) !important;
}

.ogc-error-page__actions .search-submit,
.ogc-error-page__actions input[type="submit"],
.ogc-error-page__actions button[type="submit"] {
  font-family: var(--og-font) !important;
  font-size: var(--og-fs-xs) !important;
  font-weight: var(--og-fw-bold) !important;
  background: var(--og-black) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--og-r) !important;
  padding: 9px 16px !important;
  cursor: pointer !important;
  white-space: nowrap;
  transition: background .15s !important;
}

.ogc-error-page__actions .search-submit:hover { background: var(--og-dark-2) !important; }

/* Posts recentes no 404 */
.ogc-error-recent {
  border-top: 1px solid var(--og-border);
}

.ogc-error-recent__wrap {
  max-width: var(--og-max-width);
  margin: 0 auto;
  padding: 40px 20px 60px;
}

.ogc-error-recent__title {
  font-family: var(--og-font) !important;
  font-size: var(--og-fs-xs) !important;
  font-weight: var(--og-fw-black) !important;
  text-transform: uppercase !important;
  letter-spacing: var(--og-ls-wider) !important;
  color: var(--og-text-1) !important;
  margin: 0 0 20px !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid var(--og-yellow) !important;
}


/* ── Responsivo ────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .ogc-archive-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
  .ogc-archive-banner { padding: 24px 0 20px; }
  .ogc-archive-grid   { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .ogc-author-arc { gap: 14px; }
  .ogc-author-arc__avatar { width: 56px; height: 56px; }
  .ogc-search-banner { padding: 24px 0 20px; }
  .ogc-search-banner__form .search-form,
  .ogc-search-banner__form form { max-width: 100%; }
  .ogc-error-page__inner { padding: 48px 20px 40px; }
  .ogc-error-recent__wrap { padding: 28px 20px 40px; }
}

@media (max-width: 480px) {
  .ogc-archive-banner { padding: 20px 0 16px; }
  .ogc-archive-grid {
    grid-template-columns: 1fr;
    padding-left: 14px;
    padding-right: 14px;
  }
  .ogc-pagination { padding: 0 14px; }
  .ogc-author-arc { flex-direction: column; gap: 12px; }
  .ogc-search-banner__form .search-form,
  .ogc-search-banner__form form { flex-direction: column; }
  .ogc-error-page__actions .search-form,
  .ogc-error-page__actions form { flex-direction: column; }
  .ogc-error-recent__wrap { padding: 24px 14px 32px; }
  .ogc-error-recent__wrap .ogc-grid--4 { grid-template-columns: 1fr 1fr; }
}
