/* PokePolis Engine 1.18.0 — shared entity, recommendation and navigation UI */
:root{
  --pkp-ui-border:#dfe4ef;
  --pkp-ui-soft:#f7f9fc;
  --pkp-ui-ink:#17182f;
  --pkp-ui-muted:#687089;
  --pkp-ui-accent:#ffca05;
}
.entry-content .pkp-ui-source-hidden{display:none!important}
.entry-content .pkp-source-table{margin:0!important}

/* Entity cards — Pokédex relations / abilities / moves */
.pkp-entity-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
  margin:16px 0 22px;
}
.pkp-entity-card{
  min-width:0;
  min-height:176px;
  padding:14px 12px 13px;
  border:1px solid var(--pkp-ui-border);
  border-radius:15px;
  background:#fff;
  color:var(--pkp-ui-ink)!important;
  text-decoration:none!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  text-align:center;
  box-shadow:0 1px 0 rgba(16,24,40,.02);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.pkp-entity-card[href]:hover{
  transform:translateY(-3px);
  border-color:#b8c4da;
  box-shadow:0 10px 24px rgba(23,24,47,.09);
}
.pkp-entity-card__media{
  width:84px;
  height:84px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 84px;
}
.pkp-entity-card__media img{
  width:84px!important;
  height:84px!important;
  object-fit:contain!important;
  margin:0!important;
  border-radius:0!important;
}
.pkp-entity-card__media--empty{
  border-radius:50%;
  background:var(--pkp-ui-soft);
  color:#aeb5c6;
  font-size:22px;
}
.pkp-entity-card__body{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0;width:100%}
.pkp-entity-card__title{font-size:14px;line-height:1.25;overflow-wrap:anywhere;color:var(--pkp-ui-ink)}
.pkp-entity-card__types{display:flex;justify-content:center;gap:4px;flex-wrap:wrap}
.pkp-mini-badge{
  display:inline-flex;
  padding:2px 7px;
  border-radius:999px;
  border:1px solid #e3e7f0;
  background:#f8f9fc;
  font-size:10px;
  line-height:1.4;
  color:#4e5670;
}
.pkp-entity-card__meta{font-size:11px;line-height:1.35;color:var(--pkp-ui-muted)}
.pkp-entity-more{
  margin:4px 0 24px;
  border:1px solid var(--pkp-ui-border);
  border-radius:14px;
  background:#fff;
  overflow:hidden;
}
.pkp-entity-more>summary,
.pkp-data-details>summary{
  cursor:pointer;
  list-style:none;
  padding:13px 16px;
  font-weight:800;
  color:var(--pkp-ui-ink);
  background:var(--pkp-ui-soft);
}
.pkp-entity-more>summary::-webkit-details-marker,.pkp-data-details>summary::-webkit-details-marker{display:none}
.pkp-entity-more>summary:after,.pkp-data-details>summary:after{content:'+';float:right;font-size:18px;line-height:1}
.pkp-entity-more[open]>summary:after,.pkp-data-details[open]>summary:after{content:'−'}
.pkp-entity-grid--inside{padding:14px;margin:0}
.pkp-data-details{margin:0 0 22px;border:1px solid var(--pkp-ui-border);border-radius:12px;overflow:hidden;background:#fff}
.pkp-data-details table{margin:0!important;border:0!important}
.pkp-entity-note{margin:-6px 0 20px!important;color:var(--pkp-ui-muted);font-size:13px}

/* Related moves / abilities */
.pkp-related-link-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:15px 0 24px;
}
.pkp-related-link-card{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:70px;
  padding:11px 14px;
  border:1px solid var(--pkp-ui-border);
  border-radius:13px;
  background:#fff;
  text-decoration:none!important;
  color:var(--pkp-ui-ink)!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.pkp-related-link-card:hover{transform:translateY(-2px);border-color:#bac6dc;box-shadow:0 8px 20px rgba(23,24,47,.07)}
.pkp-related-link-card__icon{
  width:42px;height:42px;border-radius:11px;background:#fff7d8;display:flex;align-items:center;justify-content:center;font-size:19px
}
.pkp-related-link-card strong{display:block;font-size:14px;line-height:1.3;color:var(--pkp-ui-ink)}
.pkp-related-link-card small{display:block;margin-top:3px;color:var(--pkp-ui-muted);font-size:11px}
.pkp-related-link-card__arrow{font-size:18px;color:#8d96ab}

/* Generic related / useful content */
.pkp-recommendation-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:15px 0 26px;
}
.pkp-recommendation-card{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:84px;
  padding:14px;
  border:1px solid var(--pkp-ui-border);
  border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#fbfcff 100%);
  color:var(--pkp-ui-ink)!important;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.pkp-recommendation-card:hover{transform:translateY(-2px);border-color:#bcc8dd;box-shadow:0 9px 22px rgba(23,24,47,.08)}
.pkp-recommendation-card__icon{width:38px;height:38px;border-radius:10px;background:#eef3ff;color:#2c62d6;display:flex;align-items:center;justify-content:center;font-weight:900}
.pkp-recommendation-card__body{min-width:0}
.pkp-recommendation-card strong{display:block;font-size:14px;line-height:1.35;color:var(--pkp-ui-ink)}
.pkp-recommendation-card small{display:block;margin-top:4px;color:var(--pkp-ui-muted);font-size:11px}
.pkp-recommendation-card__arrow{color:#8d96ab;font-size:17px}

/* Shared previous / parent / next navigation */
.pkp-family-navigation,
.pkp-pokedex-navigation,
.pkp-inline-pokedex-nav{
  margin-top:34px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.pkp-family-navigation__label,
.pkp-pokedex-navigation__label{
  margin:0 0 12px!important;
  font-family:var(--pkp-font-head,inherit);
  font-size:15px;
  font-weight:900;
  color:var(--pkp-ui-ink);
}
.pkp-family-navigation__links,
.pkp-pokedex-navigation__adjacent,
.pkp-inline-pokedex-nav{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.pkp-pokedex-navigation__adjacent{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pkp-inline-pokedex-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.pkp-nav-card{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:88px;
  padding:12px!important;
  border:1px solid var(--pkp-ui-border)!important;
  border-radius:15px!important;
  background:#fff!important;
  color:var(--pkp-ui-ink)!important;
  text-decoration:none!important;
  text-align:left!important;
  overflow:hidden;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.pkp-nav-card:hover{transform:translateY(-2px);border-color:#b9c5dc!important;box-shadow:0 9px 22px rgba(23,24,47,.08)}
.pkp-nav-card__media{
  width:62px;height:62px;flex:0 0 62px;border-radius:12px;background:#f6f8fc;display:flex;align-items:center;justify-content:center;overflow:hidden
}
.pkp-nav-card__media img{width:62px!important;height:62px!important;object-fit:contain!important;margin:0!important;border-radius:0!important}
.pkp-nav-card__media--icon{font-size:22px;color:#66708a}
.pkp-nav-card__body{min-width:0;display:flex;flex-direction:column;gap:4px}
.pkp-nav-card__eyebrow{text-transform:uppercase;letter-spacing:.065em;font-size:10px;font-weight:900;color:#7b849a}
.pkp-nav-card__title{font-size:14px;line-height:1.35;color:var(--pkp-ui-ink);overflow-wrap:anywhere}
.pkp-nav-card--parent{justify-content:center}
.pkp-nav-card--parent .pkp-nav-card__body{text-align:center}
.pkp-pokedex-navigation__index{
  display:flex!important;
  width:max-content;
  max-width:100%;
  margin:12px auto 0!important;
  padding:9px 14px!important;
  border:1px solid var(--pkp-ui-border)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--pkp-ui-ink)!important;
  text-decoration:none!important;
  font-weight:800!important;
  font-size:12px!important;
}

/* Related post block gets a cleaner editorial shell. */
.pkp-related{
  margin-top:40px!important;
  padding:24px!important;
  border:1px solid var(--pkp-ui-border)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,#fbfcff 0%,#fff 100%)!important;
}
.pkp-related__title{margin-top:0!important}

@media (max-width:1100px){
  .pkp-entity-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .pkp-recommendation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .pkp-entity-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
  .pkp-related-link-grid,.pkp-recommendation-grid{grid-template-columns:1fr}
  .pkp-family-navigation__links,.pkp-pokedex-navigation__adjacent,.pkp-inline-pokedex-nav{grid-template-columns:1fr!important}
  .pkp-nav-card--parent{order:3}
}
@media (max-width:520px){
  .pkp-entity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pkp-entity-card{min-height:160px;padding:11px 8px}
  .pkp-entity-card__media,.pkp-entity-card__media img{width:72px!important;height:72px!important;flex-basis:72px}
  .pkp-related{padding:16px!important}
}
.pkp-related__header{margin-bottom:16px}
.pkp-related__intro{margin:-8px 0 0;color:var(--pkp-ui-muted);font-size:13px;line-height:1.55}
.pkp-recommendation-box>.pkp-recommendation-grid{margin-bottom:0}
