/* Game Review Widget - Frontend Styles */

/* Variáveis CSS para fácil customização (Dark Mode) */
/*
 * $colors = array(
		'gameplayRating'   => '#10B981', // Vermelho
		'graphicsRating'   => '#3B82F6', // Verde-água
		'storyRating'      => '#06B6D4', // Amarelo
		'soundtrackRating' => '#F59E0B', // Ciano/Verde
		'durationRating'   => '#EF4444', // Roxo/Cinza Claro
	);
 * */
:root {
  --color-primary: #ff6b6b; /* Jogabilidade (vermelho) */

  --color-secondary: #4ecdc4; /* Gráficos (verde-água) */

  --color-tertiary: #ffe66d; /* História (amarelo) */

  --color-text-main: #ffffff; /* Texto Principal (Branco) */

  --color-text-secondary: #b0b0b0; /* Texto Secundário/Detalhes (Cinza Claro) */

  --color-background-dark: #1a1a1a; /* Fundo principal escuro */

  --color-background-card: #282828; /* Fundo do container escuro */

  --global-stroke-color: #64ffda; /* Cor do traço da avaliação global (Ciano/Neon) */

  --color-border: #444444; /* Borda/Fundo dos círculos (Cinza Escuro) */

  --color-light-bg: rgba(
    255,
    255,
    255,
    0.1
  ); /* Fundo claro sutil (para hover) */
}

.game-review-widget {
  width: 100%;

  max-width: 900px;

  margin: 0 auto;

  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
}

.game-review-container {
  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 40px;

  align-items: flex-start;

  padding: 30px;

  /* Fundo Dark Mode */

  background: var(--color-background-card);

  border-radius: 12px;

  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4); /* Sombra mais forte para se destacar do fundo da página */

  border: 1px solid var(--color-border);
}

/* Left Column: Review Text */

.review-text-column {
  display: flex;

  flex-direction: column;

  gap: 15px;
}

.game-title {
  margin: 0;

  font-size: 28px;

  font-weight: 700;

  color: var(--color-text-main);

  line-height: 1.3;
}

.review-text {
  font-size: 15px;

  line-height: 1.8;

  color: var(--color-text-secondary);
}

.review-text p {
  margin: 0 0 12px 0;
}

.review-text p:last-child {
  margin-bottom: 0;
}

/* Right Column: Circles and Legend */

.rating-circle-column {
  display: flex;

  flex-direction: column;

  align-items: center;

  gap: 20px;

  position: relative;
}

/* Container do círculo SVG */

.rating-circle-container {
  position: relative;

  width: 100%;

  max-width: 300px; /* Limite o tamanho em telas maiores */

  aspect-ratio: 1 / 1;
}

/* CORREÇÃO AQUI: Centralização do Fundo Visual */

.center-visual-bg {
  /* Posicionamento e tamanho para cobrir o centro */

  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(
    -50%,
    -50%
  ); /* Centraliza o elemento baseado em seu próprio tamanho */

  /* Tamanho fixo (aprox. 180px de raio ou 3/4 do container) */

  width: 70%;

  height: 70%;

  /* Torna o fundo um círculo */

  border-radius: 50%;

  /* Cor semi-transparente que você pediu (Branco transparente para contraste com fundo escuro) */

  background-color: rgba(255, 255, 255, 0.1);

  /* Z-index crucial: Fica atrás dos overlays (50, 55), mas à frente do SVG */

  z-index: 40;

  /* Efeito sutil */

  box-shadow: 0 0 15px rgba(0, 0, 0, 0.05) inset;
}

/* Configurações básicas do SVG */

.rating-circles-svg {
  width: 100%;

  height: 100%;

  display: block;

  /* Adicionar sombra sutil para dar profundidade */

  filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.2));

  z-index: 30; /* Fica atrás do fundo visual (40) e overlays (50, 55) */
}

/* Círculos de Fundo (A parte cinza/clara do progresso) */

.rating-circle-bg {
  fill: none;

  stroke: var(--color-border); /* Cor de borda escura */

  stroke-width: 10;
}

/* Círculos de Preenchimento (A parte colorida do progresso) */

.rating-circle-fill {
  fill: none;

  stroke-width: 10;

  /* A transição aplica a animação suave do preenchimento */

  transition: stroke-dashoffset 1.5s ease-in-out, stroke 0.3s ease;

  /* Rotaciona para começar o preenchimento no topo */

  transform-origin: center;

  transform: rotate(-90deg);
}

/* Overlays de Texto Central */

/* Container geral para os overlays (Posiciona ABSOLUTAMENTE no centro) */

.rating-circle-container > div {
  position: absolute;

  top: 150px;

  left: 150px;

  right: 0;

  bottom: 0;

  display: flex;

  flex-direction: column;

  justify-content: center;

  align-items: center;

  pointer-events: none; /* Não bloqueia o clique nos círculos SVG abaixo */

  text-align: center;

  transition: opacity 0.3s ease;

  padding: 20px;
}

/* Overlay Global (Visível por padrão) */

.global-rating-overlay {
  opacity: 1; /* Inicia visível, é controlado por JS */

  z-index: 50;

  top: 0;

  left: 0;

  background-color: rgba(0, 0, 0, 0.5);

  margin: 25%;

  border-radius: 50%;

  top: 0 !important;

  left: 0 !important;
}

.center-visual-bg {
  display: none !important;
}

/* Overlay de Sub-Avaliação (Ativado pelo JS ao interagir com a legenda) */

.sub-rating-overlay {
  opacity: 0;

  z-index: 55;
  top: 0;

  left: 0;

  background-color: rgba(0, 0, 0, 0.5);

  margin: 25%;

  border-radius: 50%;

  top: 0 !important;

  left: 0 !important;
}

/* Classe ativada pelo JS para mostrar o sub-overlay */

.sub-rating-overlay.active {
  opacity: 1;
}

/* Classe ativada no container pai para ocultar o global-overlay quando a interação está ativa */

.rating-circle-column.active .global-rating-overlay {
  opacity: 0;
}

/* Estilos do Texto Central (número e label) */

.rating-number {
  font-size: 48px;

  font-weight: 800;

  color: var(--global-stroke-color); /* Cor padrão do número */

  line-height: 1;

  transition: color 0.3s ease;
}

.rating-label-center {
  font-size: 14px;

  font-weight: 600;

  color: var(--color-text-main);

  margin-top: 5px;

  padding: 0 10px; /* Espaçamento para não tocar nas bordas */
}

.rating-label {
  font-size: 24px;

  font-weight: 500;

  color: var(--color-text-secondary);

  margin-left: 2px;
}

/* Legenda */

.rating-legend {
  width: 100%;

  max-width: 300px;

  display: flex;

  flex-direction: column;

  gap: 10px;

  padding: 10px 0;
}

.legend-item {
  display: flex;

  align-items: center;

  gap: 10px;

  padding: 8px;

  border-radius: 6px;

  cursor: pointer;

  transition: background 0.2s ease, transform 0.2s ease;
}

.legend-item:hover,
.legend-item.active {
  background: var(--color-light-bg); /* Fundo claro sutil para hover */

  transform: translateY(-1px);
}

.legend-color-dot {
  width: 10px;

  height: 10px;

  border-radius: 50%;

  flex-shrink: 0; /* Evita que o ponto diminua */
}

.legend-text {
  font-size: 14px;

  font-weight: 500;

  color: var(--color-text-secondary);

  flex-grow: 1;
}

.legend-value {
  font-size: 14px;

  font-weight: 700;

  color: var(--color-text-main);
}

/* Tooltip */

.circle-tooltip {
  position: absolute;

  background: rgba(255, 255, 255, 0.95); /* Tooltip claro para Dark Mode */

  color: var(--color-background-dark); /* Texto escuro */

  padding: 8px 12px;

  border-radius: 6px;

  font-size: 12px;

  font-weight: 500;

  white-space: nowrap;

  pointer-events: none;

  z-index: 1000;

  opacity: 0;

  transition: opacity 0.2s ease, transform 0.2s ease;

  transform: translate(
    0,
    0
  ); /* Garante que a transição de posição não cause problemas */
}

.circle-tooltip.visible {
  opacity: 1;
}

/* Animação dos círculos */

@keyframes draw-in {
  from {
    stroke-dashoffset: 1000; /* Um valor grande para garantir que esteja fora da tela */
  }

  to {
    stroke-dashoffset: var(--final-offset, 0);
  }
}

/* Configurações de Acessibilidade: Desabilita transições para usuários com preferência reduzida */

@media (prefers-reduced-motion: reduce) {
  .rating-circle-fill,
  .legend-item {
    transition: none !important;

    animation: none !important;
  }
}

/* Responsivo */

@media (max-width: 768px) {
  .game-review-container {
    grid-template-columns: 1fr;

    gap: 30px;

    padding: 20px;
  }

  .game-title {
    font-size: 24px;
  }

  .review-text {
    font-size: 14px;
  }

  .rating-circle-container {
    max-width: 250px;
  }
}

/* Estilos para o container principal que contém a palavra e o dropdown */
.autolink-multi-container {
    position: relative; /* Pai para posicionamento absoluto */
    display: inline-block;
    margin-left: 5px;
    font-size: 0.9em;
}

/* Estilos para o gatilho/ícone [🔗] */
.autolink-multi-trigger {
    font-weight: bold;
    cursor: pointer;
    color: #0073aa; /* Cor de link padrão do WP */
    user-select: none; /* Evita seleção de texto */
    vertical-align: middle;
}

/* Estilos para a lista suspensa em si */
.autolink-multi-list {
    /* Esconder por padrão - o JS vai mostrar/esconder */
    display: none; 
    
    /* Posicionamento e aparência */
    position: absolute;
    top: 100%; /* Abaixo do trigger */
    left: 0;
    min-width: 250px; /* Largura mínima para o menu */
    max-width: 350px;
    padding: 5px 0;
    margin: 0;
    list-style: none;
    
    /* Fundo e borda */
    background-color: #ffffff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    
    /* Camada de sobreposição */
    z-index: 1000;
}

/* Estilos dos itens da lista */
.autolink-multi-list li {
    margin: 0;
    padding: 0;
}

/* Estilos dos links dentro da lista */
.autolink-multi-list li a {
    display: block;
    padding: 5px 10px;
    font-size: 0.9em;
    text-decoration: none;
    color: #333;
}

/* Efeito hover nos links */
.autolink-multi-list li a:hover {
    background-color: #f1f1f1;
    color: #0073aa;
}