/* GERADO por bin/portar-agenda.py a partir de higeeky-blocks/assets/higeeky.css */
/* Fontes carregadas via <link rel="preload"> no <head> (hgb_head_fonts em
   higeeky-blocks.php) — não usar @import aqui, é bloqueante.
   Design System v1.0 (10-08-2026): Inter é a fonte oficial (títulos, corpo,
   rótulos, UI); Rubik Bubbles fica reservada só às etiquetas de categoria.
   Tema escuro (11-08-2026, pedido explícito — o Design System documenta
   fundo branco, mas o utilizador prefere um cinza-carvão neutro). Cor de
   interface passa de Azul Elétrico para Verde-Lima nesta variante: Azul
   sobre #14161C não passa em contraste AA para texto pequeno; Lima sim.
   Os pares de badge (pílula) mantêm-se exatamente como no documento —
   são ilhas de cor autocontidas, não dependem do fundo da página. */

/* ══════════════════════════════════════════
   BASE
   ══════════════════════════════════════════ */
/* !important: o kit do Elementor aplica fundo ao body com seletor mais específico
   (body.elementor-kit-N) e ganharia sem isto */



.hg-wrap {
  max-width: 1280px; width: 100%;
  margin-left: auto; margin-right: auto;
  padding-left: 24px; padding-right: 24px;
  font-family: 'Inter', sans-serif; color: var(--hg-texto);
}

/* ── Cores de acento por categoria (Design System v1.0, ajustado a dark) ──
   --acc é a cor de identidade usada em texto/borda sobre o fundo da página
   (por isso mais clara que a cor "oficial" do documento, para ler bem em
   #14161C); --badge-bg/--badge-ink são a pílula da etiqueta, exatamente
   como no documento — não mudam com o tema. */









.hg-tint { color: var(--acc, var(--hg-ui)); }

/* ── Link de card: link real no título, esticado sobre o card ── */
.hg-card-link { color: inherit; text-decoration: none; }
.hg-card-link::after { content: ""; position: absolute; inset: 0; }

/* ── Imagem em falta ── */
.hg-thumb--empty { display: block; width: 100%; height: 100%; background: var(--hg-sup-2); }

/* ── Badge de categoria (pílula, Rubik Bubbles — Design System 03) ── */
.hg-cat-badge {
  font-family: 'Rubik Bubbles', cursive;
  font-size: 12px; font-weight: 400;
  text-transform: uppercase; letter-spacing: 0.02em;
  padding: 5px 14px 3px; border-radius: 999px;
  background: var(--badge-bg, #3E41E2); color: var(--badge-ink, #FFFFFF);
  display: inline-block; white-space: nowrap; line-height: 1.5;
  pointer-events: none;
}
.hg-badge-bl { position: absolute; bottom: 8px; left: 8px; z-index: 10; }

/* ── Barras de secção ── */
.hg-edit__col-bar, .hg-channel__bar, .hg-feed__section-bar, .hg-feed__sb-head-bar {
  background: var(--acc, #E2F952);
}

/* ══════════════════════════════════════════
   HEADER + NAV
   ══════════════════════════════════════════ */
/* Cabeçalho em cartão contido (moldura + raio), como no Cabeçalho do
   Design System 09 — não é só uma linha separadora por baixo. */
.hg-header {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; flex-wrap: wrap;
  padding: 14px 22px;
  border: 2px solid var(--hg-borda); border-radius: 20px;
  margin-top: 18px; margin-bottom: 24px;
}
.hg-header__logo {
  font-family: 'Inter', sans-serif;
  font-weight: 900; letter-spacing: -0.05em;
  font-size: 26px;
  color: var(--hg-ui); text-decoration: none; line-height: 1;
  transition: color .2s;
}
.hg-header__logo:hover { color: #C4DB2E; }
/* Logo em imagem: o wrapper (h1 na homepage, span nas restantes) é neutro para o layout */
.hg-header__logo-wrap { margin: 0; padding: 0; line-height: 0; font-size: 0; }
.hg-header__logo-wrap a { display: block; line-height: 0; }
.hg-header__logo-wrap img { display: block; height: auto; max-width: 100%; }
.hg-nav { display: flex; gap: 4px; flex-wrap: wrap; align-items: center; }
.hg-nav a {
  font-family: 'Inter', sans-serif;
  font-size: 15px; font-weight: 700; text-transform: none; letter-spacing: -0.01em;
  color: var(--hg-texto); text-decoration: none;
  padding: 6px 4px; margin: 0 6px;
  border-bottom: 3px solid transparent;
  transition: color .18s, border-color .18s;
}
.hg-nav a:hover { color: var(--hg-ui); }
.hg-nav a.is-active { color: var(--hg-ui); border-color: var(--hg-ui); }

/* Menu mobile — truque do checkbox, sem JavaScript. Escondido em desktop;
   ligado em @media mais abaixo. */
.hg-nav-toggle-cb { position: absolute; opacity: 0; pointer-events: none; }
.hg-nav-toggle-btn { display: none; }

/* Ações à direita do cabeçalho — Loja (Design System 09, botão "Store") */
.hg-header__actions { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.hg-store-btn {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 15px; font-weight: 700; letter-spacing: -0.01em;
  background: #3E41E2; color: #E2F952;
  border-radius: 999px; padding: 10px 22px;
  text-decoration: none; transition: background .18s;
}
.hg-store-btn:hover { background: #2A2CB4; }

/* ══════════════════════════════════════════
   HERO — mosaico Destaques
   ══════════════════════════════════════════ */
.hg-hero__section { margin-bottom: 48px; }
.hg-hero__mosaic {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  grid-template-rows: 300px 210px;
  gap: 4px;
  border-radius: 20px; overflow: hidden;
}
.hg-hero__feature {
  grid-column: 1; grid-row: 1 / 3;
  position: relative; overflow: hidden;
  background: var(--hg-sup-2);
}
.hg-hero__feature-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover; object-position: center 20%;
  display: block; transition: transform .6s ease;
}
.hg-hero__feature:hover .hg-hero__feature-img { transform: scale(1.04); }
.hg-hero__feature-vignette {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,.97) 0%, rgba(0,0,0,.55) 40%, transparent 70%),
              linear-gradient(to right, rgba(0,0,0,.2) 0%, transparent 50%);
}
.hg-hero__feature-body { position: absolute; bottom: 0; left: 0; right: 0; padding: 28px 28px 26px; }
.hg-hero__feature-tags { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; align-items: center; }
.hg-hero__feature-title {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.04em;
  font-size: clamp(28px, 3.2vw, 46px); line-height: 1.02;
  color: #fff; margin-bottom: 10px;
}
.hg-hero__feature-meta { font-size: 12px; color: rgba(255,255,255,0.65); }

.hg-hero__mid {
  grid-column: 2; grid-row: 1;
  position: relative; overflow: hidden;
  background: var(--hg-sup-2);
}
.hg-hero__mid-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover; object-position: center 20%;
  display: block; transition: transform .5s ease;
}
.hg-hero__mid:hover .hg-hero__mid-img { transform: scale(1.06); }
.hg-hero__mid-vignette {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.2) 55%, transparent 100%);
}
.hg-hero__mid-body { position: absolute; bottom: 0; left: 0; right: 0; padding: 14px 16px; }
.hg-hero__mid-cat {
  display: inline-block; font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  margin-bottom: 6px;
}
.hg-hero__mid-title {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.03em;
  font-size: clamp(16px, 1.7vw, 22px); line-height: 1.15; color: #fff;
  display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s;
}
.hg-hero__mid:hover .hg-hero__mid-title { color: #E2F952; }

.hg-hero__smalls {
  grid-column: 2; grid-row: 2;
  display: grid; grid-template-columns: 1fr 1fr; gap: 4px;
}
.hg-hero__small {
  position: relative; overflow: hidden;
  background: var(--hg-sup-2);
}
.hg-hero__small-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover; object-position: center 20%;
  display: block; transition: transform .5s ease;
}
.hg-hero__small:hover .hg-hero__small-img { transform: scale(1.08); }
.hg-hero__small-vignette {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,.93) 0%, rgba(0,0,0,.1) 60%, transparent 100%);
}
.hg-hero__small-body { position: absolute; bottom: 0; left: 0; right: 0; padding: 8px 10px; }
.hg-hero__small-cat {
  display: inline-block; font-family: 'Inter', sans-serif;
  font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  margin-bottom: 4px;
}
.hg-hero__small-title {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.03em;
  font-size: clamp(12px, 1.2vw, 15px); line-height: 1.2; color: #fff;
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s;
}
.hg-hero__small:hover .hg-hero__small-title { color: #E2F952; }

/* ══════════════════════════════════════════
   FAIXA DE CALENDÁRIOS
   ══════════════════════════════════════════ */
.hg-cal__section { margin-bottom: 48px; }
.hg-cal__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px;
}
.hg-cal__card {
  display: flex; flex-direction: column; gap: 8px;
  padding: 22px 22px 20px;
  background: var(--hg-sup-1);
  border: 2px solid var(--hg-borda);
  border-radius: 20px;
  text-decoration: none; color: inherit;
  transition: transform .2s ease, border-color .2s;
}
.hg-cal__card:hover { transform: translateY(-4px); border-color: var(--hg-ui); }
.hg-cal__kicker {
  font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em;
  color: var(--acc, var(--hg-ui));
}
.hg-cal__title {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.04em;
  font-size: 22px; line-height: 1.15; color: var(--hg-texto);
}
.hg-cal__desc { font-size: 13px; line-height: 1.55; color: var(--hg-texto-2); }
.hg-cal__cta {
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: var(--acc, var(--hg-ui)); margin-top: 4px;
}

/* ══════════════════════════════════════════
   SPLIT EDITORIAL — slideshow + lista
   ══════════════════════════════════════════ */
.hg-edit__section { margin-bottom: 48px; }
.hg-edit__split {
  display: grid; grid-template-columns: 1fr 1.35fr; gap: 28px;
}
.hg-edit__col { display: flex; flex-direction: column; }
.hg-edit__col-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px; padding-bottom: 10px;
  border-bottom: 2px solid var(--hg-borda);
}
.hg-edit__col-title {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.04em;
  font-size: 22px; margin: 0;
  display: flex; align-items: center; gap: 9px;
}
.hg-edit__col-bar { display: inline-block; width: 4px; height: 22px; border-radius: 3px; flex-shrink: 0; }
.hg-edit__col-more {
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  text-decoration: none; opacity: .6; transition: opacity .2s; flex-shrink: 0;
}
.hg-edit__col-more:hover { opacity: 1; }

/* Slideshow — todos os slides no HTML; só o .is-active é visível */
.hg-edit__slide { position: relative; flex: 1; display: flex; flex-direction: column; }
.hg-edit__slide-card {
  display: none; position: relative; border-radius: 16px; overflow: hidden;
  flex: 1; min-height: 320px;
  background: var(--hg-sup-2);
}
.hg-edit__slide-card.is-active { display: block; }
.hg-edit__slide-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s ease;
}
.hg-edit__slide-card:hover .hg-edit__slide-img { transform: scale(1.03); }
.hg-edit__slide-vignette {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,.97) 0%, rgba(0,0,0,.4) 45%, transparent 70%);
}
.hg-edit__slide-body { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px 18px 58px; }
.hg-edit__slide-title {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.03em;
  font-size: clamp(17px, 2vw, 24px); line-height: 1.15; color: #fff; margin-bottom: 5px;
  display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s;
}
.hg-edit__slide-card:hover .hg-edit__slide-title { color: #E2F952; }
.hg-edit__slide-time {
  font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 600; color: rgba(255,255,255,.5);
}
.hg-edit__slide-nav {
  position: absolute; bottom: 14px; right: 14px;
  display: none; align-items: center; gap: 6px; z-index: 10;
}
.hg-js .hg-edit__slide-nav { display: flex; }
.hg-edit__slide-count {
  font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 600; color: rgba(255,255,255,.6); margin-right: 6px;
}
.hg-edit__slide-btn {
  background: rgba(0,0,0,.55); backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1.5px solid rgba(255,255,255,0.25);
  color: #fff; border-radius: 8px; padding: 7px 13px;
  font-size: 14px; cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
  line-height: 1;
}
.hg-edit__slide-btn:hover { background: #E2F952; border-color: #E2F952; color: #14161C; }

/* Lista Cinema */
.hg-edit__list { display: flex; flex-direction: column; }
.hg-edit__list-item {
  position: relative;
  display: flex; gap: 14px; align-items: flex-start;
  padding: 12px 0;
  border-bottom: 1px solid var(--hg-borda);
  transition: opacity .2s;
}
.hg-edit__list-item:last-child { border-bottom: none; }
.hg-edit__list-item:hover { opacity: .8; }
.hg-edit__list-thumb {
  width: 110px; flex-shrink: 0;
  aspect-ratio: 4/3; border-radius: 12px; overflow: hidden;
  background: var(--hg-sup-2);
}
.hg-edit__list-thumb img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .35s ease;
}
.hg-edit__list-item:hover .hg-edit__list-thumb img { transform: scale(1.06); }
.hg-edit__list-body { flex: 1; min-width: 0; padding-top: 2px; }
.hg-edit__list-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700; letter-spacing: -0.03em;
  font-size: 16px; line-height: 1.25; color: var(--hg-texto); margin-bottom: 6px;
  display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s;
}
.hg-edit__list-item:hover .hg-edit__list-title { color: var(--hg-ui); }
.hg-edit__list-time {
  font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 600; color: var(--hg-texto-2);
}

/* ══════════════════════════════════════════
   CANAIS — carrossel de artigos (Gaming, Anime, Banda Desenhada)
   ══════════════════════════════════════════ */
.hg-channel { margin-bottom: 48px; }
.hg-channel__header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px; padding-bottom: 12px;
  border-bottom: 2px solid var(--hg-borda);
}
.hg-channel__title {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.04em;
  font-size: 26px; margin: 0;
  display: flex; align-items: center; gap: 10px;
}
.hg-channel__bar { display: inline-block; width: 4px; height: 26px; border-radius: 3px; flex-shrink: 0; }
.hg-channel__more {
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  text-decoration: none; opacity: .6; transition: opacity .2s; flex-shrink: 0;
}
.hg-channel__more:hover { opacity: 1; }
.hg-channel__outer { display: flex; align-items: center; gap: 12px; }

.hg-now__arrow {
  flex-shrink: 0; width: 38px; height: 38px;
  border-radius: 50%; border: 1.5px solid var(--hg-borda);
  background: var(--hg-sup-1); color: var(--hg-texto);
  display: none; align-items: center; justify-content: center;
  cursor: pointer; transition: border-color .2s, color .2s;
  padding: 0; line-height: 1; font-size: 0;
}
.hg-js .hg-now__arrow { display: flex; }
.hg-now__arrow:hover { border-color: #E2F952; color: #E2F952; }
.hg-now__arrow svg { pointer-events: none; display: block; flex-shrink: 0; }

.hg-now__track-wrap { flex: 1; overflow: hidden; }
/* Esbate a borda só do lado onde há cartões cortados — nunca dos dois lados
   à toa. Sem JS (ou antes de correr), assume-se que pode haver corte dos
   dois lados; com JS, hg-js + is-at-start/is-at-end (higeeky.js) afinam
   para o estado real do scroll. */
.hg-now__track-wrap {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
}
.hg-js .hg-now__track-wrap.is-at-start {
  -webkit-mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 28px), transparent 100%);
  mask-image: linear-gradient(to right, #000 0, #000 calc(100% - 28px), transparent 100%);
}
.hg-js .hg-now__track-wrap.is-at-end {
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 28px, #000 100%);
  mask-image: linear-gradient(to right, transparent 0, #000 28px, #000 100%);
}
.hg-js .hg-now__track-wrap.is-at-start.is-at-end {
  -webkit-mask-image: none; mask-image: none;
}
.hg-now__track {
  display: flex; gap: 14px;
  overflow-x: auto; overflow-y: hidden;
  scrollbar-width: none; -ms-overflow-style: none;
  scroll-behavior: smooth; -webkit-overflow-scrolling: touch;
  padding-bottom: 8px; padding-top: 6px;
}
.hg-now__track::-webkit-scrollbar { display: none; }

.hg-ch-article {
  position: relative;
  display: block; flex-shrink: 0; width: 260px;
  scroll-snap-align: start;
}
.hg-ch-article__thumb {
  position: relative; border-radius: 16px; overflow: hidden;
  aspect-ratio: 16/9; background: var(--hg-sup-2);
  border: 2px solid var(--hg-borda); margin-bottom: 10px;
}
.hg-ch-article__thumb img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .4s ease;
}
.hg-ch-article:hover .hg-ch-article__thumb img { transform: scale(1.05); }
.hg-ch-article__title {
  font-family: 'Inter', sans-serif;
  font-weight: 700; letter-spacing: -0.02em;
  font-size: 15px; line-height: 1.25; color: var(--hg-texto); margin-bottom: 5px;
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s;
}
.hg-ch-article:hover .hg-ch-article__title { color: var(--hg-ui); }
.hg-ch-article__time {
  font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 600; color: var(--hg-texto-2);
}

/* ══════════════════════════════════════════
   NEWSLETTER — faixa lima com formulário
   (Design System 10, "Faixa lima com manifesto + formulário")
   Ilha de cor autocontida — não muda com o tema da página.
   ══════════════════════════════════════════ */
.hg-newsletter__section { margin-bottom: 48px; }
.hg-newsletter {
  background: #E2F952; border-radius: 24px;
  padding: 36px 40px;
  display: flex; align-items: center; justify-content: space-between; gap: 28px; flex-wrap: wrap;
}
.hg-newsletter__text { max-width: 480px; }
.hg-newsletter__title {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.04em;
  font-size: 28px; line-height: 1.15; color: #3E41E2; margin-bottom: 8px;
}
.hg-newsletter__desc { font-size: 15px; line-height: 1.5; color: #3E41E2; opacity: .85; }
.hg-newsletter__form { display: flex; gap: 10px; flex-wrap: wrap; flex-shrink: 0; }
.hg-newsletter__input {
  font-family: 'Inter', sans-serif;
  font-size: 15px; color: #111111;
  background: #FFFFFF; border: none; border-radius: 999px;
  padding: 13px 20px; width: 260px; max-width: 100%;
}
.hg-newsletter__input::placeholder { color: var(--hg-texto-2); }
.hg-newsletter__btn {
  font-family: 'Inter', sans-serif;
  font-size: 15px; font-weight: 700;
  background: #3E41E2; color: #E2F952;
  border: none; border-radius: 999px; padding: 13px 26px;
  cursor: pointer; transition: background .18s;
}
.hg-newsletter__btn:hover { background: #2A2CB4; }
.hg-newsletter__msg { font-family: 'Inter', sans-serif; font-weight: 700; font-size: 16px; color: #3E41E2; }
.hg-newsletter__msg--erro { color: #B02883; }
/* honeypot anti-spam — invisível a pessoas, visível a bots que preenchem tudo */
.hg-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
@media (max-width: 700px) {
  .hg-newsletter { padding: 28px 24px; }
  .hg-newsletter__form { width: 100%; }
  .hg-newsletter__input { width: 100%; }
  .hg-newsletter__btn { width: 100%; }
}

/* ══════════════════════════════════════════
   GUIAS & ONDE VER
   ══════════════════════════════════════════ */
.hg-guias__section { margin-bottom: 48px; }
.hg-guias__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
.hg-guias__grid .hg-feed__card-title { font-size: 15px; }
.hg-guia__card {
  display: flex; flex-direction: column; gap: 8px;
  padding: 20px;
  background: var(--hg-sup-1);
  border: 2px solid var(--hg-borda);
  border-radius: 20px;
  text-decoration: none; color: inherit;
  transition: transform .2s ease, border-color .2s;
}
.hg-guia__card:hover { transform: translateY(-4px); border-color: var(--hg-ui); }
.hg-guia__title {
  font-family: 'Inter', sans-serif;
  font-weight: 700; letter-spacing: -0.03em;
  font-size: 17px; line-height: 1.2; color: var(--hg-texto);
}
.hg-guia__desc { font-size: 13px; line-height: 1.55; color: var(--hg-texto-2); flex: 1; }
.hg-guia__cta {
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: var(--acc, var(--hg-ui));
}

/* ══════════════════════════════════════════
   TRENDING — faixa full-width
   ══════════════════════════════════════════ */
.hg-trending__section {
  margin-bottom: 48px; padding: 32px 0;
  background: var(--hg-sup-1);
  border-top: 2px solid var(--hg-borda);
  border-bottom: 2px solid var(--hg-borda);
}
.hg-trending__header { display: flex; align-items: center; gap: 16px; margin-bottom: 22px; }
.hg-trending__label {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.03em;
  font-size: 22px; color: var(--acc, var(--hg-ui)); flex-shrink: 0; margin: 0;
}
.hg-trending__line { flex: 1; height: 1px; background: var(--hg-borda); }
.hg-trending__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; }
.hg-trending__item {
  position: relative;
  display: flex; flex-direction: column; gap: 10px;
  padding: 0 22px;
  border-right: 1px solid var(--hg-borda);
  transition: opacity .2s;
}
.hg-trending__item:first-child { padding-left: 0; }
.hg-trending__item:last-child { border-right: none; padding-right: 0; }
.hg-trending__item:hover { opacity: .8; }
.hg-trending__num {
  font-family: 'Inter', sans-serif;
  font-size: 32px; font-weight: 800; line-height: 1;
  color: rgba(var(--hg-ui-rgb),0.15); letter-spacing: -.02em;
}
.hg-trending__thumb {
  width: 100%; aspect-ratio: 16/9; object-fit: cover;
  border-radius: 12px; display: block;
  border: 2px solid var(--hg-borda);
}
.hg-trending__body { display: flex; flex-direction: column; gap: 4px; }
.hg-trending__title {
  font-family: 'Inter', sans-serif;
  font-weight: 700; letter-spacing: -0.02em;
  font-size: 14px; line-height: 1.25; color: var(--hg-texto);
  display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
  transition: color .2s;
}
.hg-trending__item:hover .hg-trending__title { color: var(--hg-ui); }
.hg-trending__time {
  font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 600; color: var(--hg-texto-2);
}

/* ══════════════════════════════════════════
   MAIS RECENTES + SIDEBAR
   ══════════════════════════════════════════ */
.hg-feed__section { margin-bottom: 48px; }
.hg-feed__layout { display: grid; grid-template-columns: 1fr 340px; gap: 32px; align-items: flex-start; }
.hg-feed__main { min-width: 0; }

.hg-feed__section-head { margin-bottom: 20px; padding-bottom: 12px; border-bottom: 2px solid var(--hg-borda); }
.hg-feed__section-title {
  display: flex; align-items: center; gap: 10px;
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.03em;
  font-size: 22px; color: var(--hg-texto); margin: 0;
}
.hg-feed__section-bar { display: inline-block; width: 4px; height: 22px; border-radius: 2px; flex-shrink: 0; }

.hg-feed__card-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.hg-feed__card { position: relative; display: block; }
.hg-feed__card-thumb {
  position: relative; aspect-ratio: 16/10; overflow: hidden;
  border-radius: 16px; background: var(--hg-sup-2);
  border: 2px solid var(--hg-borda);
}
.hg-feed__card-thumb img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .45s ease;
}
.hg-feed__card:hover .hg-feed__card-thumb img { transform: scale(1.05); }
.hg-feed__card-body { display: block; padding: 12px 2px 0; }
.hg-feed__card-time {
  font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 700; color: var(--hg-texto-2);
  display: block; margin-bottom: 7px; text-transform: uppercase; letter-spacing: .04em;
}
.hg-feed__card-title {
  font-family: 'Inter', sans-serif;
  font-weight: 700; letter-spacing: -0.03em;
  font-size: clamp(15px, 1.5vw, 20px); line-height: 1.2;
  color: var(--hg-texto); margin-bottom: 8px; transition: color .2s;
  display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.hg-feed__card:hover .hg-feed__card-title { color: var(--hg-ui); }
.hg-feed__card-excerpt {
  font-size: 13px; line-height: 1.6; color: var(--hg-texto-2);
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}

.hg-feed__more-wrap { display: none; justify-content: center; margin-top: 24px; }
.hg-js .hg-feed__more-wrap { display: flex; }
.hg-feed__more-btn {
  display: inline-flex; align-items: center; gap: 8px; padding: 12px 32px;
  border: 2px solid var(--hg-ui); border-radius: 999px;
  background: transparent; color: var(--hg-ui);
  font-family: 'Inter', sans-serif;
  font-weight: 700; letter-spacing: -0.01em;
  font-size: 16px; cursor: pointer; transition: all .2s;
}
.hg-feed__more-btn:hover { background: #E2F952; color: #14161C; }
.hg-feed__more-btn:disabled { opacity: .3; cursor: not-allowed; }

/* Sidebar */
.hg-feed__sidebar { display: flex; flex-direction: column; gap: 36px; position: sticky; top: 20px; }
.hg-feed__sb-block { display: flex; flex-direction: column; }
.hg-feed__sb-head { display: flex; align-items: center; gap: 10px; }
.hg-feed__sb-head-bar { width: 3px; height: 20px; border-radius: 2px; flex-shrink: 0; }
.hg-feed__sb-head-title {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.03em;
  font-size: 18px; line-height: 1; margin: 0;
  color: var(--acc, var(--hg-ui));
}
.hg-feed__sb-head-line { flex: 1; height: 1px; background: var(--hg-borda); }

.hg-feed__sb-featured {
  position: relative; display: block;
  border-radius: 16px; overflow: hidden;
  aspect-ratio: 16/11; background: var(--hg-sup-2); margin-top: 12px;
  border: 2px solid var(--hg-borda);
}
.hg-feed__sb-featured-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.hg-feed__sb-featured:hover .hg-feed__sb-featured-img { transform: scale(1.04); }
.hg-feed__sb-featured-overlay {
  position: absolute; inset: 0; pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,.92) 0%, rgba(0,0,0,.35) 50%, transparent 100%);
}
.hg-feed__sb-featured-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 16px; }
.hg-feed__sb-featured-date {
  display: block; font-size: 11px; font-weight: 600; color: rgba(255,255,255,.7); margin-bottom: 6px;
  font-family: 'Inter', sans-serif;
}
.hg-feed__sb-featured-title {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.03em;
  font-size: clamp(18px, 1.8vw, 22px); line-height: 1.2; color: #fff; transition: color .2s;
}
.hg-feed__sb-featured:hover .hg-feed__sb-featured-title { color: #E2F952; }

.hg-feed__sb-list { display: flex; flex-direction: column; margin-top: 12px; }
.hg-feed__sb-item {
  position: relative;
  display: flex; gap: 12px; align-items: center; padding: 11px 0;
  border-bottom: 1px solid var(--hg-borda);
  transition: opacity .2s;
}
.hg-feed__sb-item:last-child { border-bottom: none; }
.hg-feed__sb-item:hover { opacity: .7; }
.hg-feed__sb-item:hover .hg-feed__sb-title { color: var(--hg-ui); }
.hg-feed__sb-num {
  font-family: 'Inter', sans-serif;
  font-weight: 800; font-size: 28px; letter-spacing: -.02em;
  flex-shrink: 0; width: 28px; text-align: center; line-height: 1;
  color: var(--hg-ui);
  -webkit-text-stroke: 1.5px #3E41E2;
}
.hg-feed__sb-thumb {
  width: 68px; height: 50px; border-radius: 10px; object-fit: cover;
  flex-shrink: 0; background: var(--hg-sup-2);
  border: 1px solid var(--hg-borda);
}
.hg-feed__sb-thumb.hg-thumb--empty { width: 68px; height: 50px; }
.hg-feed__sb-text { flex: 1; min-width: 0; }
.hg-feed__sb-title {
  font-family: 'Inter', sans-serif;
  font-size: 14px; font-weight: 600; line-height: 1.4; color: var(--hg-texto);
  display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
  margin-bottom: 3px; transition: color .2s;
}
.hg-feed__sb-time { display: block; font-size: 11px; font-weight: 600; color: var(--hg-texto-2); font-family: 'Inter', sans-serif; }
.hg-feed__sb-cal {
  display: block; margin-top: 12px;
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  text-decoration: none; opacity: .85; transition: opacity .2s;
}
.hg-feed__sb-cal:hover { opacity: 1; }

/* ══════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════ */
.hg-footer {
  border-top: 2px solid var(--hg-borda);
  padding-top: 28px; padding-bottom: 40px;
  display: flex; flex-direction: column; gap: 18px;
}
.hg-footer__top { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.hg-footer__logo { display: block; line-height: 0; }
.hg-footer__logo img { display: block; height: auto; }
.hg-footer__logo-text {
  font-family: 'Inter', sans-serif; font-weight: 900; letter-spacing: -0.05em;
  font-size: 22px; color: var(--hg-ui);
}
.hg-footer__social { display: flex; align-items: center; gap: 10px; }
.hg-footer__social a {
  display: flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 999px;
  border: 2px solid var(--hg-borda); color: var(--hg-texto-2);
  transition: color .18s, border-color .18s;
}
.hg-footer__social a:hover { color: var(--hg-ui); border-color: var(--hg-ui); }
.hg-footer__brand { font-size: 13px; color: #6E6E74; }
.hg-footer__brand a { color: var(--hg-texto-2); }
.hg-footer__brand a:hover { color: var(--hg-ui); }

/* ══════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════ */
@media (max-width: 1024px) {
  .hg-feed__layout { grid-template-columns: 1fr 280px; gap: 24px; }
}
@media (max-width: 900px) {
  .hg-guias__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 860px) {
  .hg-hero__mosaic {
    grid-template-columns: 1fr;
    grid-template-rows: 280px 160px 120px;
  }
  .hg-hero__feature { grid-column: 1; grid-row: 1; }
  .hg-hero__mid { grid-column: 1; grid-row: 2; }
  .hg-hero__smalls { grid-column: 1; grid-row: 3; }
  .hg-cal__grid { grid-template-columns: 1fr; }
  .hg-trending__grid { grid-template-columns: repeat(3, 1fr); }
  .hg-trending__grid .hg-trending__item:nth-child(n+4) { display: none; }
}
@media (max-width: 700px) {
  .hg-edit__split { grid-template-columns: 1fr; }
  .hg-feed__card-grid { grid-template-columns: 1fr; }
  .hg-feed__layout { grid-template-columns: 1fr; }
  .hg-feed__sidebar { position: static; margin-top: 36px; }
}
@media (max-width: 700px) {
  /* Empilhar os 7 links de texto verticalmente enche o ecrã antes de
     mostrar qualquer conteúdo — em vez disso, escondem-se atrás de um
     botão de hambúrguer (nav e Loja ficam ambos dentro do painel). */
  .hg-header { padding: 12px 18px; }
  .hg-header__logo-wrap img { max-width: 100px; }
  .hg-nav-toggle-btn {
    display: flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 40px; height: 40px; cursor: pointer;
  }
  .hg-nav-toggle-btn span { display: block; height: 2px; border-radius: 2px; background: #F2F2F0; }
  .hg-nav, .hg-header__actions {
    display: none; width: 100%;
    margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--hg-borda);
  }
  .hg-nav-toggle-cb:checked ~ .hg-nav,
  .hg-nav-toggle-cb:checked ~ .hg-header__actions { display: flex; }
  .hg-nav-toggle-cb:checked ~ .hg-header__actions { border-top: none; margin-top: 12px; padding-top: 0; }
  .hg-nav { flex-direction: column; align-items: stretch; gap: 0; }
  .hg-nav a { margin: 0; padding: 12px 2px; border-bottom: 1px solid var(--hg-borda); }
  .hg-nav a:last-child { border-bottom: none; }
  .hg-store-btn { display: block; text-align: center; }
}
@media (max-width: 560px) {
  .hg-guias__grid { grid-template-columns: 1fr; }
  .hg-trending__grid { grid-template-columns: repeat(2, 1fr); }
  .hg-trending__grid .hg-trending__item:nth-child(n+3) { display: none; }
  .hg-ch-article { width: 220px; }
  .hg-now__arrow { width: 32px; height: 32px; }
}

/* ══════════════════════════════════════════
   TEMPLATES INTERIORES — artigo, categoria,
   calendário, autor, sobre, 404
   ══════════════════════════════════════════ */

/* Breadcrumb */
.hg-crumbs {
  display: flex; align-items: center; gap: 7px; flex-wrap: wrap;
  font-family: 'Inter', sans-serif;
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: var(--hg-texto-2);
  margin: 18px 0 22px;
}
.hg-crumbs a { color: var(--hg-texto-2); text-decoration: none; transition: color .18s; }
.hg-crumbs a:hover { color: var(--hg-ui); }
.hg-crumbs__sep { color: var(--hg-borda); }

/* Título de página interior (h1) */
.hg-page-title {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.04em;
  font-size: clamp(26px, 3.4vw, 44px); line-height: 1.08;
  color: var(--hg-texto); margin-bottom: 12px;
}

/* Badge clicável (o badge base tem pointer-events:none) */
.hg-cat-badge--link { pointer-events: auto; text-decoration: none; transition: transform .15s; }
.hg-cat-badge--link:hover { transform: translateY(-1px); }

/* ── Artigo ── */
.hg-post { max-width: 780px; margin: 0 auto; }
.hg-post__meta {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 600; color: var(--hg-texto-2);
  margin: 14px 0 22px;
}
.hg-post__meta a { color: var(--hg-texto); text-decoration: none; }
.hg-post__meta a:hover { color: var(--hg-ui); }
.hg-post__meta .hg-post__updated { color: var(--hg-ui); }
.hg-post__hero { border-radius: 20px; overflow: hidden; margin-bottom: 28px; border: 2px solid var(--hg-borda); }
.hg-post__hero img { width: 100%; height: auto; display: block; }

/* Corpo do artigo */
.hg-prose { font-size: 16px; line-height: 1.75; color: var(--hg-texto); }
.hg-prose p { margin: 0 0 18px; }
.hg-prose a { color: var(--hg-ui); }
.hg-prose strong { color: var(--hg-texto); }
.hg-prose h2 {
  font-family: 'Inter', sans-serif;
  font-weight: 800; letter-spacing: -0.03em;
  font-size: 26px; line-height: 1.2; color: var(--hg-texto);
  margin: 36px 0 14px;
}
.hg-prose h3 { font-size: 17px; font-weight: 700; color: var(--hg-texto); margin: 24px 0 8px; }
.hg-prose ul, .hg-prose ol { margin: 0 0 18px 22px; }
.hg-prose li { margin-bottom: 8px; }

/* Índice (TOC) */
.hg-toc {
  background: var(--hg-sup-1); border: 2px solid var(--hg-borda);
  border-radius: 20px; padding: 20px 22px; margin-bottom: 28px;
}
.hg-toc__label {
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em;
  color: var(--hg-ui); display: flex; align-items: center; gap: 8px; margin-bottom: 14px;
}
.hg-toc__label svg { width: 16px; height: 16px; flex-shrink: 0; }
.hg-toc ol { list-style: none; margin: 0; padding: 0; counter-reset: hg-toc-count; display: grid; gap: 2px; }
.hg-toc li { counter-increment: hg-toc-count; font-size: 14px; }
.hg-toc a {
  display: flex; align-items: center; gap: 10px;
  color: var(--hg-texto-2); text-decoration: none; padding: 7px 8px; border-radius: 10px;
  transition: color .15s ease, background .15s ease;
}
.hg-toc a::before {
  content: counter(hg-toc-count);
  display: inline-flex; align-items: center; justify-content: center;
  width: 20px; height: 20px; flex-shrink: 0; border-radius: 50%;
  background: var(--hg-borda); color: var(--hg-ui);
  font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700;
  transition: background .15s ease, color .15s ease;
}
.hg-toc a:hover { color: var(--hg-texto); background: rgba(var(--hg-ui-rgb),.06); }
.hg-toc a:hover::before { background: #E2F952; color: #14161C; }

/* Caixa de autor */
.hg-authorbox {
  display: flex; gap: 16px; align-items: flex-start;
  background: var(--hg-sup-1); border: 2px solid var(--hg-borda);
  border-radius: 20px; padding: 20px; margin: 36px 0 0;
}
.hg-authorbox__photo { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex-shrink: 0; background: var(--hg-sup-2); }
.hg-authorbox__name { font-family: 'Inter', sans-serif; font-weight: 800; letter-spacing: -0.03em; font-size: 18px; color: var(--hg-texto); margin-bottom: 4px; }
.hg-authorbox__name a { color: inherit; text-decoration: none; }
.hg-authorbox__name a:hover { color: var(--hg-ui); }
.hg-authorbox__bio { font-size: 14px; line-height: 1.6; color: var(--hg-texto-2); margin-bottom: 6px; }
.hg-authorbox__link { font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--hg-ui); text-decoration: none; }

/* Relacionados */
.hg-related { margin-top: 44px; }
.hg-related__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }

/* Card-link para calendário (fim do artigo / topo da categoria) */
.hg-calcta { margin-top: 28px; }
.hg-calcta .hg-cal__card { max-width: 520px; }

/* "Faz parte de: [lista]" — sob o artigo, mesma largura de leitura */
.hg-post__lista {
  max-width: 780px; margin: 24px auto 0;
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 600; color: var(--hg-texto-2);
}
.hg-post__lista a { color: var(--hg-texto); text-decoration: none; }
.hg-post__lista a:hover { color: var(--hg-ui); }

/* ── Categoria / arquivo ── */
.hg-archive__desc {
  font-size: 14px; line-height: 1.6; color: var(--hg-texto-2);
  max-width: 640px; margin-bottom: 24px;
}
.hg-archive__promo { margin-bottom: 32px; }
.hg-archive__promo .hg-cal__card { max-width: 640px; }

/* Paginação com links reais */
.hg-pagination {
  display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap;
  margin-top: 32px;
}
.hg-pagination a, .hg-pagination span {
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 700;
  min-width: 34px; padding: 8px 10px; text-align: center;
  border-radius: 10px; border: 2px solid var(--hg-borda);
  color: var(--hg-texto-2); text-decoration: none;
  transition: color .18s, border-color .18s;
}
.hg-pagination a:hover { color: var(--hg-ui); border-color: var(--hg-ui); }
.hg-pagination .current { background: #E2F952; color: #3E41E2; border-color: var(--hg-ui); }

/* ── Calendário ── */
.hg-updated {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: #3E41E2; background: #E2F952;
  padding: 6px 12px; border-radius: 999px;
  margin-bottom: 26px;
}
.hg-cal-list { list-style: none; margin: 0 0 8px; padding: 0; }
.hg-cal-list li {
  display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
  padding: 10px 0; border-bottom: 1px solid var(--hg-borda);
  font-size: 15px; color: var(--hg-texto);
}
.hg-cal-list li:last-child { border-bottom: none; }
.hg-cal-list .hg-cal-list__date {
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 700; color: var(--acc, var(--hg-ui)); white-space: nowrap; flex-shrink: 0;
}

/* Grelha dia-a-dia com poster/capa (TMDB/IGDB) — [higeeky_calendario_streaming]
   e [higeeky_calendario_jogos], higeeky-blocks.php */
.hg-cal-days { display: flex; flex-direction: column; gap: 18px; margin: 20px 0; }
.hg-cal-day { display: flex; gap: 16px; align-items: flex-start; }
.hg-cal-day__num {
  flex-shrink: 0; min-width: 56px; text-align: center;
  background: #3E41E2; color: #E2F952; border-radius: 12px;
  padding: 8px 4px; font-family: 'Inter', sans-serif; font-weight: 700; font-size: 13px; line-height: 1.3;
}
.hg-cal-day__items { display: flex; flex-wrap: wrap; gap: 10px; }
.hg-cal-item {
  display: flex; align-items: center; gap: 10px;
  background: var(--hg-sup-1); border: 2px solid var(--hg-borda); border-radius: 12px;
  padding: 8px 12px 8px 8px;
}
.hg-cal-item__poster { width: 36px; height: 50px; object-fit: cover; border-radius: 6px; flex-shrink: 0; display: block; }
.hg-cal-item__poster.hg-thumb--empty { background: var(--hg-sup-2); }
.hg-cal-item__body { display: flex; flex-direction: column; gap: 4px; }
.hg-cal-item__title { font-family: 'Inter', sans-serif; font-size: 13px; font-weight: 600; color: var(--hg-texto); }
.hg-cal-item__platform {
  display: inline-block; align-self: flex-start;
  font-family: 'Inter', sans-serif; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
  color: #fff; border-radius: 4px; padding: 2px 7px;
}
@media (max-width: 560px) {
  .hg-cal-day { flex-direction: column; }
  .hg-cal-day__num { align-self: flex-start; }
}

/* ── Autor ── */
.hg-authorhead {
  display: flex; gap: 22px; align-items: flex-start;
  margin-bottom: 34px; padding-bottom: 28px;
  border-bottom: 2px solid var(--hg-borda);
}
.hg-authorhead__photo { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; flex-shrink: 0; background: var(--hg-sup-2); border: 2px solid var(--hg-borda); }
.hg-authorhead__role {
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: var(--hg-ui); display: block; margin-bottom: 10px;
}
.hg-authorhead__bio { font-size: 15px; line-height: 1.7; color: var(--hg-texto-2); max-width: 680px; margin-bottom: 12px; }
.hg-authorhead__links { display: flex; gap: 4px; flex-wrap: wrap; }
.hg-authorhead__links a {
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em;
  color: var(--hg-texto-2); text-decoration: none;
  padding: 5px 10px; border: 2px solid var(--hg-borda); border-radius: 999px;
  transition: color .18s, border-color .18s;
}
.hg-authorhead__links a:hover { color: var(--hg-ui); border-color: var(--hg-ui); }

/* ── Sobre ── */
.hg-team__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 18px 0 8px; }
.hg-team__card {
  display: flex; flex-direction: column; align-items: flex-start; gap: 8px;
  background: var(--hg-sup-1); border: 2px solid var(--hg-borda);
  border-radius: 20px; padding: 20px;
  text-decoration: none; color: inherit;
  transition: transform .2s, border-color .2s;
}
.hg-team__card:hover { transform: translateY(-3px); border-color: var(--hg-ui); }
.hg-team__photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; background: var(--hg-sup-2); }
.hg-team__name { font-family: 'Inter', sans-serif; font-weight: 800; letter-spacing: -0.03em; font-size: 17px; color: var(--hg-texto); }
.hg-team__role { font-family: 'Inter', sans-serif; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--hg-ui); }

/* ── 404 ── */
.hg-404 { text-align: center; padding: 64px 0 40px; }
.hg-404 .hg-page-title { font-size: clamp(34px, 5vw, 64px); margin-bottom: 8px; }
.hg-404__msg { font-size: 15px; color: var(--hg-texto-2); margin-bottom: 34px; }
.hg-404__grid { display: flex; gap: 8px; flex-wrap: wrap; justify-content: center; max-width: 720px; margin: 0 auto 30px; }
.hg-404__grid a {
  font-family: 'Inter', sans-serif;
  font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
  color: var(--hg-texto-2); text-decoration: none;
  padding: 9px 16px; border: 2px solid var(--hg-borda); border-radius: 999px;
  transition: color .18s, border-color .18s;
}
.hg-404__grid a:hover { color: var(--hg-ui); border-color: var(--hg-ui); }
.hg-404__search { display: flex; gap: 8px; justify-content: center; max-width: 420px; margin: 0 auto; }
.hg-404__search input[type="search"] {
  flex: 1; padding: 11px 16px; border-radius: 14px;
  border: 2px solid var(--hg-borda); background: var(--hg-sup-1); color: var(--hg-texto);
  font-family: 'Inter', sans-serif; font-size: 14px;
}
.hg-404__search button {
  padding: 11px 20px; border-radius: 14px; border: none;
  background: #3E41E2; color: #E2F952; cursor: pointer;
  font-family: 'Inter', sans-serif; font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .04em;
}

/* Responsivo — templates interiores */
@media (max-width: 900px) {
  .hg-team__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .hg-related__grid { grid-template-columns: 1fr; }
  .hg-authorhead { flex-direction: column; }
}
@media (max-width: 560px) {
  .hg-team__grid { grid-template-columns: 1fr; }
  .hg-cal-list li { flex-direction: column; gap: 2px; }
}

/* ── Correção de especificidade: Elementor e tema por cima do nosso CSS ──
   O higeeky.css é enfileirado ANTES do `frontend.min.css` do Elementor e do
   `theme.css` do hello-elementor. Duas regras deles apanhavam as nossas
   imagens e achatavam-nas:

     .elementor img       { height:auto }      (0,1,1)
     .post .wp-post-image { max-height:500px } (0,2,0)

   contra as nossas `.hg-…__img { height:100% }` (0,1,0). Resultado: a imagem
   voltava à altura natural e deixava de encher o contentor, com faixa de fundo
   à vista — em todas as secções, não só no hero.

   A classe vai repetida de propósito (`.x.x`) para valer 0,2,0 sem depender de
   nenhum antepassado: o mesmo componente aparece dentro de um shortcode do
   Elementor na homepage e fora dele nos nossos templates, e tinha de ganhar nos
   dois sítios. É o mínimo que bate as duas regras; subir mais seria luta de
   `!important` sem necessidade. ── */
.hg-hero__feature-img.hg-hero__feature-img{height:100%;width:100%;max-height:none}
.hg-hero__mid-img.hg-hero__mid-img{height:100%;width:100%;max-height:none}
.hg-hero__small-img.hg-hero__small-img{height:100%;width:100%;max-height:none}
.hg-edit__slide-img.hg-edit__slide-img{height:100%;width:100%;max-height:none}
.hg-feed__sb-featured-img.hg-feed__sb-featured-img{height:100%;width:100%;max-height:none}
.hg-feed__sb-thumb.hg-feed__sb-thumb{height:50px;width:68px;max-height:none}
.hg-feed__sb-thumb.hg-thumb--empty.hg-feed__sb-thumb.hg-thumb--empty{height:50px;width:68px;max-height:none}
.hg-authorbox__photo.hg-authorbox__photo{height:64px;width:64px;max-height:none}
.hg-cal-item__poster.hg-cal-item__poster{height:50px;width:36px;max-height:none}
.hg-authorhead__photo.hg-authorhead__photo{height:96px;width:96px;max-height:none}
.hg-team__photo.hg-team__photo{height:56px;width:56px;max-height:none}
.hg-edit__list-thumb.hg-edit__list-thumb img{height:100%;width:100%;max-height:none}
.hg-ch-article__thumb.hg-ch-article__thumb img{height:100%;width:100%;max-height:none}
.hg-feed__card-thumb.hg-feed__card-thumb img{height:100%;width:100%;max-height:none}
.hg-trending__thumb.hg-trending__thumb{width:100%;aspect-ratio:16/9;height:auto;max-height:none}

/* ── Cor dos links: o tema ganhava no :hover ──
   O hello-elementor traz `a:active,a:hover{color:var(--hg-ui)}` (azul-índigo escuro) no
   reset.css, que é enfileirado DEPOIS do higeeky.css. As nossas regras eram do
   tipo `.hg-crumbs a:hover{color:var(--hg-ui)}` — especificidade 0,1,1, exatamente a
   mesma do tema. Em empate ganha quem vem depois, e vinha sempre o tema: todos
   os links do site ficavam azuis ao passar o rato, incluindo os títulos dos
   cartões, onde o `.hg-card-link{color:inherit}` (0,1,0) perdia por mais ainda.

   Daí a classe repetida (`.x.x a:hover` = 0,2,1): é o mínimo que bate o tema sem
   recorrer a !important. Não confundir com as regras de hover dos títulos, que
   já estavam certas — o problema era só o <a> lá dentro. ── */
.hg-nav.hg-nav a:hover{color:var(--hg-ui)}
.hg-footer__social.hg-footer__social a:hover{color:var(--hg-ui)}
.hg-footer__brand.hg-footer__brand a:hover{color:var(--hg-ui)}
.hg-crumbs.hg-crumbs a:hover{color:var(--hg-ui)}
.hg-post__meta.hg-post__meta a:hover{color:var(--hg-ui)}
.hg-toc.hg-toc a:hover{color:var(--hg-texto)}
.hg-authorbox__name.hg-authorbox__name a:hover{color:var(--hg-ui)}
.hg-post__lista.hg-post__lista a:hover{color:var(--hg-ui)}
.hg-pagination.hg-pagination a:hover{color:var(--hg-ui)}
.hg-authorhead__links.hg-authorhead__links a:hover{color:var(--hg-ui)}
.hg-404__grid.hg-404__grid a:hover{color:var(--hg-ui)}
.hg-card-link.hg-card-link:hover,.hg-card-link.hg-card-link:active,.hg-card-link.hg-card-link:focus{color:inherit}

/* ── Rodapé do site em colunas ──
   Mesma estrutura do rodapé da Loja (grelha de colunas com título + lista, e
   barra inferior), mas com os conteúdos do site. São dois rodapés separados de
   propósito: este vem do hgb_sc_footer(), o da loja de HGS_Hooks::store_footer().

   As colunas nascem de listas já existentes — navegação (hgb_nav_items), cartões
   de calendário (hgb_cals) e páginas filhas de "Programação" — para não haver
   nomes escritos à mão aqui que fiquem para trás quando algo muda. ── */
.hg-footer__grid{
  display:grid; grid-template-columns:1.6fr repeat(4,1fr); gap:32px;
  padding-bottom:28px;
}
.hg-footer__col h3{
  font-family:'Inter',sans-serif; font-weight:800; font-size:12px;
  letter-spacing:.08em; text-transform:uppercase; color:var(--hg-texto);
  margin:0 0 14px;
}
.hg-footer__col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px}
.hg-footer__col ul a{
  font-family:'Inter',sans-serif; font-size:13px; line-height:1.4;
  color:var(--hg-texto-2); text-decoration:none; transition:color .15s ease;
}
.hg-footer__col ul a:hover{color:var(--hg-ui)}
.hg-footer__col--brand{max-width:34ch}
.hg-footer__tagline{
  margin:14px 0 16px; font-family:'Inter',sans-serif;
  font-size:13px; line-height:1.6; color:var(--hg-texto-2);
}

/* ── Avisos legais e atribuições das APIs ──
   Mais pequeno e mais apagado que as colunas: é obrigação legal e de licença,
   não navegação, e não deve competir com ela. #8D8D94 sobre #14161C mantém
   contraste suficiente para texto pequeno. */
.hg-footer__legal{border-top:1px solid var(--hg-borda); padding-top:22px}
.hg-footer__legal-grid{display:grid; grid-template-columns:1.6fr 1fr; gap:32px; align-items:start}
.hg-footer__disclaimer{
  margin:0; font-family:'Inter',sans-serif;
  font-size:12px; line-height:1.6; color:var(--hg-texto-2);
}
.hg-footer__disclaimer a{color:var(--hg-texto-2); text-decoration:underline}
.hg-footer__disclaimer a:hover{color:var(--hg-ui)}
.hg-footer__attrib{display:flex; flex-direction:column; gap:10px; align-items:flex-start}
.hg-footer__attrib p{
  margin:0; font-family:'Inter',sans-serif;
  font-size:11px; line-height:1.5; color:var(--hg-texto-2);
}
/* O logótipo da TMDB tem cores próprias: só lhe damos tamanho.
   height:auto mantém o rácio 1280x923 do ficheiro. */
.hg-footer__tmdb{display:inline-block; line-height:0; opacity:.9; transition:opacity .2s}
.hg-footer__tmdb:hover{opacity:1}
.hg-footer__tmdb img{width:90px; height:auto; display:block}

.hg-footer__bottom{
  border-top:1px solid var(--hg-borda); margin-top:22px; padding-top:18px;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
}

@media (max-width:1024px){
  .hg-footer__grid{grid-template-columns:1fr 1fr 1fr; gap:28px}
  .hg-footer__col--brand{grid-column:1 / -1; max-width:none}
  .hg-footer__legal-grid{grid-template-columns:1fr; gap:20px}
}
@media (max-width:640px){
  .hg-footer__grid{grid-template-columns:1fr 1fr; gap:24px}
  .hg-footer__disclaimer{font-size:11px}
}

/* Especificidade: `.elementor img{height:auto}` e `a:hover{color:var(--hg-ui)}` do tema
   carregam depois do nosso CSS — daí a classe repetida (ver blocos acima). */
.hg-footer__col.hg-footer__col ul a:hover{color:var(--hg-ui)}
.hg-footer__disclaimer.hg-footer__disclaimer a:hover{color:var(--hg-ui)}
.hg-footer__tmdb.hg-footer__tmdb img{width:90px;height:auto;max-height:none}

/* ── Menu com submenus (Wrestling → WWE → Raw/NXT/…) ──
   Sem JavaScript nenhum, como o resto do cabeçalho: abre por :hover e também
   por :focus-within, para funcionar com teclado. O submenu está sempre no HTML
   servido — quem não executa JS, e os crawlers, veem os links todos.

   Não usa `display:none` no fecho: um elemento com display:none sai da ordem de
   tabulação e o teclado nunca lá chegava. Fica invisível mas focável, e o
   `visibility` volta a `visible` no hover/focus. ── */
/* O item com submenu tem de se comportar como os <a> soltos ao lado. Num
   flex container, um <a> solto é flex item e o padding/borda contam para a
   altura; dentro de um <div>, o mesmo <a> volta a ser inline e o padding
   vertical deixa de contar — o item ficava mais baixo que os vizinhos e o
   texto desalinhado. inline-flex devolve-lhe a mesma caixa. */
.hg-nav__item{position:relative;display:inline-flex;align-items:center}
/* No computador quem abre é o :hover/:focus-within — o checkbox e o label do
   telemóvel não têm nada que aparecer. */
.hg-nav__cb{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.hg-nav__toggle{display:none}
/* O rótulo do toggle leva texto para leitores de ecrã. O .screen-reader-text
   existe no tema, mas depender do tema para ESCONDER texto é arriscado: se o
   tema mudar, aparece "Abrir subcategorias de wwe" no meio do menu. */
.hg-nav__toggle .screen-reader-text{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;
}
.hg-nav .hg-nav__item > a{display:block}

/* O cabeçalho não tinha position nem z-index: o painel do submenu, embora com
   z-index próprio, podia ficar por baixo das secções seguintes da página.
   Com um contexto de empilhamento no próprio cabeçalho, fica sempre por cima. */
.hg-header{position:relative;z-index:70}
.hg-nav__item--tem-sub > a::after{
  content:"";display:inline-block;margin-left:6px;vertical-align:middle;
  border-left:4px solid transparent;border-right:4px solid transparent;
  border-top:4px solid currentColor;opacity:.7;
}
.hg-nav__sub{
  position:absolute;top:100%;left:0;z-index:60;min-width:190px;margin:0;padding:6px;
  list-style:none;background:var(--hg-sup-1);border:1px solid var(--hg-borda);border-radius:14px;
  box-shadow:0 18px 40px rgba(0,0,0,.45);
  opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .16s ease,transform .16s ease,visibility 0s linear .16s;
}
.hg-nav__item:hover > .hg-nav__sub,
.hg-nav__item:focus-within > .hg-nav__sub,
.hg-nav__sub li:hover > .hg-nav__sub,
.hg-nav__sub li:focus-within > .hg-nav__sub{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.hg-nav__sub li{position:relative;margin:0;padding:0;list-style:none}
.hg-nav .hg-nav__sub a{
  display:block;margin:0;padding:9px 12px;border:0;border-radius:9px;
  font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;
  color:var(--hg-texto);white-space:nowrap;
}
.hg-nav .hg-nav__sub a:hover{background:var(--hg-sup-2);color:var(--hg-ui)}
/* Terceiro nível abre ao lado, não por baixo: por baixo sairia do ecrã. */
.hg-nav__sub .hg-nav__sub{top:-6px;left:100%;margin-left:2px}
.hg-nav__sub li:has(.hg-nav__sub) > a::after{
  content:"›";float:right;margin-left:10px;opacity:.6;
}

@media (max-width: 860px){
  /* No painel do hambúrguer os submenus nascem FECHADOS e abrem ao toque na
     seta. Antes ficavam todos abertos: com a árvore do Wrestling completa, o
     menu passava a ter 15 linhas e enterrava o "Estreias" lá no fundo. */
  .hg-nav__item{width:100%;display:block;position:relative}
  .hg-nav .hg-nav__item > a{display:block}
  .hg-nav__item--tem-sub > a::after{content:none}

  /* A seta ocupa só o canto direito da linha: o resto continua a ser o link. */
  .hg-nav__toggle{
    display:block;position:absolute;top:0;right:0;width:52px;height:44px;
    cursor:pointer;z-index:2;
  }
  .hg-nav__toggle::after{
    content:"";position:absolute;top:50%;right:16px;margin-top:-2px;
    border-left:5px solid transparent;border-right:5px solid transparent;
    border-top:5px solid var(--hg-texto-2);transition:transform .2s ease;
  }
  .hg-nav__cb:checked ~ .hg-nav__toggle::after{transform:rotate(180deg)}
  .hg-nav__sub li{position:relative}
  .hg-nav__sub .hg-nav__toggle{height:41px}

  .hg-nav__sub{
    display:none;
    position:static;opacity:1;visibility:visible;transform:none;transition:none;
    min-width:0;padding:0 0 0 14px;margin:0;
    background:none;border:0;border-radius:0;box-shadow:none;
  }
  .hg-nav__cb:checked ~ .hg-nav__sub{display:block}
  .hg-nav__sub .hg-nav__sub{margin-left:0;padding-left:14px}
  .hg-nav .hg-nav__sub a{padding:11px 2px;border-bottom:1px solid var(--hg-borda);white-space:normal}
  .hg-nav__sub li:has(.hg-nav__sub) > a::after{content:none}
}

/* Especificidade: o tema pinta `a:hover` de azul e carrega depois (ver blocos
   anteriores). A classe repetida garante o lima também no submenu. */
.hg-nav__sub.hg-nav__sub a:hover{color:var(--hg-ui)}

/* AJUSTES-TEMA Higeeky */
.hg-cal-item a.hg-cal-item__title{text-decoration:none;color:inherit}
.hg-cal-item a.hg-cal-item__title:hover{color:var(--hg-ui);text-decoration:underline}
.hg-cab .hg-nav a{color:var(--hg-cab-tx);padding:0;margin:0;border:0;font-size:14px;font-weight:500;letter-spacing:0}
.hg-cab .hg-nav a:hover,.hg-cab .hg-nav .current-menu-item>a,.hg-cab .hg-nav .current-cat>a{color:var(--hg-lima)}
