/* ============================================================
   PF2026 — Pokédex Pokémon GO (liste + fiches), section GO des fiches
   du Pokédex et composants des guides Pokémon GO (shortcodes go_*).
   Gabarits : go-pokedex.php, go-pokedex-single.php, template-parts/pokedex/sec-go.php
   Données : inc/go-dex.php · JS : assets/js/godex.js
   ============================================================ */

/* ---------- Pastilles de type ---------- */
.gt { display: inline-block; padding: 2px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 800; color: #fff; background: #9FA19F; line-height: 1.6; }
.gt--lg { font-size: 14px; padding: 4px 14px; }
.gt-plante { background: #3FA129; } .gt-poison { background: #9141CB; } .gt-feu { background: #E62829; } .gt-vol { background: #81B9EF; }
.gt-eau { background: #2980EF; } .gt-insecte { background: #91A119; } .gt-normal { background: #9FA19F; } .gt-electrik { background: #E5B000; }
.gt-sol { background: #915121; } .gt-fee { background: #EF70EF; } .gt-combat { background: #FF8000; } .gt-psy { background: #EF4179; }
.gt-roche { background: #AFA981; } .gt-acier { background: #60A1B8; } .gt-glace { background: #3DCEF3; } .gt-spectre { background: #704170; }
.gt-dragon { background: #5060E1; } .gt-tenebres { background: #624D4E; }

.godex .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Liste ---------- */
.godex-hero { position: relative; overflow: hidden; color: #fff; padding: 40px 0 44px; background: linear-gradient(160deg, #3FC5E8, #1E6FD9 60%, #0D3B7A); }
.godex-hero__inner { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 28px; align-items: center; }
.godex-hero__title { font-size: clamp(34px, 5vw, 56px); line-height: 1.02; letter-spacing: -.03em; margin: 0 0 12px; color: #fff; }
.godex-hero__lead { font-size: 17px; line-height: 1.6; color: rgba(255, 255, 255, .9); max-width: 620px; margin: 0 0 18px; }
.godex-stats { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.godex-stats li { background: rgba(255, 255, 255, .14); border-radius: 14px; padding: 8px 14px; }
.godex-stats b { display: block; font-size: 22px; line-height: 1.1; }
.godex-stats span { font-size: 12px; color: rgba(255, 255, 255, .85); }
.godex-hero__mons { position: relative; height: 230px; }
.godex-hero__mons img { position: absolute; width: 120px; height: 120px; object-fit: contain; filter: drop-shadow(0 10px 12px rgba(0, 0, 0, .3)); left: calc(var(--i) * 18%); top: calc(10% + (var(--i) * 37 % 3) * 22%); animation: gd-float 3.2s ease-in-out infinite; animation-delay: calc(var(--i) * -.7s); }
@keyframes gd-float { 50% { transform: translateY(-10px); } }

.godex-tools { position: sticky; top: 66px; z-index: 40; background: rgba(242, 248, 252, .96); backdrop-filter: blur(8px); border-bottom: 1px solid #D9E8F2; padding: 12px 0 6px; }
.godex-tools__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px; }
.godex-tools__row + .godex-tools__row { margin-top: 10px; }
.godex-search { flex: 1 1 200px; }
.godex-search input { width: 100%; padding: 10px 14px; border: 1px solid #D9E8F2; border-radius: 12px; font-size: 15px; background: #fff; }
.godex-select { display: flex; flex-direction: column; gap: 3px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #57688A; }
.godex-select select { padding: 9px 12px; border: 1px solid #D9E8F2; border-radius: 12px; background: #fff; font-size: 14px; font-weight: 600; text-transform: none; letter-spacing: 0; color: #12233F; }
.godex-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 6px; }
.godex-chips::-webkit-scrollbar { display: none; }
.godex-chip { flex: none; padding: 7px 12px; border-radius: 999px; border: 1px solid #D9E8F2; background: #fff; font-size: 13px; font-weight: 700; color: #12233F; cursor: pointer; }
.godex-chip[aria-pressed="true"] { background: #1E6FD9; border-color: #1E6FD9; color: #fff; }
.godex-status { margin: 6px 0 0; font-size: 13px; color: #57688A; }
.godex-status [data-gd-count] { font-weight: 800; color: #12233F; }
.godex-reset { border: 0; background: none; color: #E5322D; font-weight: 700; cursor: pointer; text-decoration: underline; }

.godex-grid { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.godex-card[hidden] { display: none; }
.godex-card a { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; height: 100%; padding: 12px 10px 14px; border-radius: 18px; background: #fff; text-decoration: none; color: #12233F; text-align: center; box-shadow: 0 3px 12px rgba(13, 59, 122, .07); transition: transform .15s ease, box-shadow .15s ease; }
.godex-card a:hover { transform: translateY(-3px); box-shadow: 0 12px 26px rgba(13, 59, 122, .14); }
.godex-card.is-unreleased a { opacity: .6; }
.godex-card__img { width: 104px; height: 104px; display: grid; place-items: center; border-radius: 50%; background: radial-gradient(circle at 50% 60%, #E9F5FC, #fff 70%); }
.godex-card__img img { width: 100px; height: 100px; object-fit: contain; }
.godex-card__num { font-size: 11px; font-weight: 800; color: #57688A; }
.godex-card b { font-size: 15px; line-height: 1.2; }
.godex-card__types { display: flex; gap: 3px; flex-wrap: wrap; justify-content: center; }
.godex-card__cp { font-size: 12px; font-weight: 700; color: #1E6FD9; }
.godex-card__badges { position: absolute; top: 8px; right: 8px; display: flex; flex-direction: column; gap: 2px; font-style: normal; }
.godex-card__badges i { font-style: normal; font-size: 13px; }
.godex-empty { padding: 30px; text-align: center; background: #fff; border-radius: 16px; color: #57688A; }
.godex-source { font-size: 12.5px; color: #57688A; margin: 20px 0 40px; }

/* ---------- Fiche ---------- */
.gd-hero { color: #fff; padding: 36px 0 40px; background: linear-gradient(160deg, var(--gd-c1, #3FC5E8), var(--gd-c2, #0D3B7A)); }
.gt-bg-plante { --gd-c1: #5FC24A; --gd-c2: #1F6A16; } .gt-bg-feu { --gd-c1: #FF7A45; --gd-c2: #9C1414; } .gt-bg-eau { --gd-c1: #4AA3FF; --gd-c2: #14468F; }
.gt-bg-electrik { --gd-c1: #FFD23F; --gd-c2: #A26F00; } .gt-bg-psy { --gd-c1: #FF6FA0; --gd-c2: #8E1E4C; } .gt-bg-glace { --gd-c1: #7FE3FF; --gd-c2: #1B7F9E; }
.gt-bg-dragon { --gd-c1: #7A85FF; --gd-c2: #252F8F; } .gt-bg-tenebres { --gd-c1: #7D6A6B; --gd-c2: #2A2122; } .gt-bg-fee { --gd-c1: #FF9BF0; --gd-c2: #9C3897; }
.gt-bg-combat { --gd-c1: #FFA040; --gd-c2: #9C4A00; } .gt-bg-poison { --gd-c1: #B76CE8; --gd-c2: #521F7A; } .gt-bg-sol { --gd-c1: #C98A4B; --gd-c2: #5A3010; }
.gt-bg-vol { --gd-c1: #9CCBF5; --gd-c2: #3D6E9E; } .gt-bg-insecte { --gd-c1: #B6C63A; --gd-c2: #556100; } .gt-bg-roche { --gd-c1: #C9C39A; --gd-c2: #6E6845; }
.gt-bg-spectre { --gd-c1: #9A6A9A; --gd-c2: #3A1F3A; } .gt-bg-acier { --gd-c1: #8EC3D6; --gd-c2: #2F5F70; } .gt-bg-normal { --gd-c1: #BFC1BF; --gd-c2: #5E605E; }
.gd-hero__inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 32px; align-items: center; }
.gd-hero__art { position: relative; display: grid; place-items: center; }
.gd-hero__art::before { content: ""; position: absolute; width: 280px; height: 280px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 255, 255, .35), transparent 70%); }
.gd-hero__img { position: relative; width: 256px; height: 256px; object-fit: contain; filter: drop-shadow(0 16px 20px rgba(0, 0, 0, .35)); transition: opacity .2s ease; }
.gd-shiny-toggle { position: relative; margin-top: 10px; padding: 8px 14px; border-radius: 999px; border: 2px solid rgba(255, 255, 255, .6); background: rgba(0, 0, 0, .2); color: #fff; font-weight: 800; cursor: pointer; }
.gd-shiny-toggle[aria-pressed="true"] { background: #FFD23F; border-color: #FFD23F; color: #4A3500; }
.gd-hero__num { font-weight: 800; font-size: 14px; color: rgba(255, 255, 255, .85); }
.gd-hero__title { font-size: clamp(34px, 5vw, 54px); line-height: 1.05; margin: 4px 0 10px; color: #fff; letter-spacing: -.02em; }
.gd-hero__title small { display: block; font-size: .38em; font-weight: 700; color: rgba(255, 255, 255, .85); letter-spacing: 0; }
.gd-hero__types { display: flex; gap: 6px; margin-bottom: 12px; }
.gd-hero__types .gt { box-shadow: 0 0 0 2px rgba(255, 255, 255, .5); }
.gd-hero__flags { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.gd-hero__flags li { padding: 4px 10px; border-radius: 999px; background: rgba(0, 0, 0, .2); font-size: 13px; font-weight: 700; }
.gd-hero__flags .is-reg { background: #fff; color: #12233F; }
.gd-hero__flags .is-warn { background: #FFD23F; color: #4A3500; }
.gd-hero__cp { display: flex; gap: 12px; margin-bottom: 18px; }
.gd-hero__cp div { background: rgba(255, 255, 255, .16); border-radius: 16px; padding: 10px 16px; }
.gd-hero__cp b { display: block; font-size: 30px; line-height: 1.05; }
.gd-hero__cp span { font-size: 12px; color: rgba(255, 255, 255, .85); }

.gd-body { padding-bottom: 20px; }
.gd-keys { list-style: none; margin: -22px 0 24px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; position: relative; z-index: 2; }
.gd-keys li { display: flex; flex-direction: column; gap: 2px; background: #fff; border-radius: 18px; padding: 14px 16px; box-shadow: 0 10px 26px rgba(13, 59, 122, .1); }
.gd-keys span { font-size: 20px; }
.gd-keys b { font-size: 17px; color: #12233F; }
.gd-keys small { font-size: 12px; font-weight: 600; color: #57688A; }
.gd-keys em { font-style: normal; font-size: 13px; color: #57688A; }
.gd-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.gd-card { background: #fff; border-radius: 20px; padding: 20px; box-shadow: 0 4px 14px rgba(13, 59, 122, .06); }
.gd-card h2, .gd-section h2 { font-size: 22px; margin: 0 0 14px; letter-spacing: -.01em; }
.gd-section h3 { font-size: 16px; margin: 0 0 8px; }
.gd-stat { display: grid; grid-template-columns: 100px 46px 1fr; align-items: center; gap: 10px; margin-bottom: 10px; font-size: 14px; }
.gd-stat b { text-align: right; }
.gd-stat i { height: 10px; border-radius: 999px; background: #E9F0F7; overflow: hidden; }
.gd-stat em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #3FC5E8, #1E6FD9); }
.gd-section { margin-top: 28px; }
.gd-from { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; font-size: 15px; color: #57688A; }
.gd-from a { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; color: #12233F; text-decoration: none; }
.gd-from img { width: 44px; height: 44px; object-fit: contain; }
.gd-forms { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.gd-form { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 14px; border-radius: 18px; background: #fff; text-align: center; box-shadow: 0 4px 14px rgba(13, 59, 122, .06); }
.gd-form img { width: 110px; height: 110px; object-fit: contain; }
.gd-form b { font-size: 16px; }
.gd-form__types { display: flex; gap: 4px; }
.gd-form__stats, .gd-form__cost { font-size: 13px; color: #57688A; }
.gd-form__cost { font-weight: 700; color: #12233F; }
.gd-pager { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 30px; padding: 14px 0; border-top: 1px solid #D9E8F2; }
.gd-pager a { font-weight: 800; color: #1E6FD9; text-decoration: none; }
.gd-pager span { color: #57688A; font-weight: 600; }
.gd-pager__all { padding: 8px 14px; border-radius: 999px; background: #E9F5FC; }

/* ---------- Tableaux, évolutions, cartes (fiche + guides) ---------- */
.go-table-wrap { overflow-x: auto; margin: 14px 0; }
.go-table { width: 100%; border-collapse: collapse; font-size: 14px; background: #fff; border-radius: 14px; overflow: hidden; }
.go-table th, .go-table td { padding: 9px 12px; text-align: left; border-bottom: 1px solid #E9F0F7; }
.go-table thead th { background: #F2F8FC; font-size: 11.5px; text-transform: uppercase; letter-spacing: .06em; color: #57688A; }
.go-table--compact th { font-weight: 600; color: #57688A; }
.go-table--compact td { font-weight: 800; text-align: right; color: #12233F; }
.go-table tr.is-elite td:first-child { font-weight: 800; color: #9C3897; }
.article-body .go-table { margin: 0; }

.go-evo { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 16px; border-radius: 20px; background: #fff; box-shadow: 0 4px 14px rgba(13, 59, 122, .06); margin: 16px 0; }
.go-evo__from { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.go-evo__from img { width: 88px; height: 88px; object-fit: contain; }
.go-evo__arrow { font-size: 26px; color: #1E6FD9; }
.go-evo__list { list-style: none; margin: 0 !important; padding: 0 !important; flex: 1; display: grid; gap: 8px; min-width: 240px; }
.go-evo__list li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 8px 12px; border-radius: 14px; background: #F2F8FC; margin: 0 !important; }
.go-evo__to { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: #12233F !important; text-decoration: none !important; }
.go-evo__to img { width: 56px; height: 56px; object-fit: contain; margin: 0 !important; }
.go-candy { color: #C2410C; }
.go-evo__cost small { color: #57688A; }
.go-evo__tags { display: flex; flex-wrap: wrap; gap: 4px; width: 100%; }
.go-evo__tags span { font-size: 12.5px; font-weight: 700; padding: 3px 9px; border-radius: 999px; background: #fff; color: #12233F; }

.go-mons { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin: 18px 0; }
.go-mon { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 12px 10px; border-radius: 18px; background: #fff; text-align: center; text-decoration: none !important; color: #12233F !important; box-shadow: 0 3px 12px rgba(13, 59, 122, .08); transition: transform .15s ease; }
.go-mon:hover { transform: translateY(-3px); }
.go-mon img { width: 96px; height: 96px; object-fit: contain; margin: 0 !important; }
.go-mon__num { font-size: 11px; font-weight: 800; color: #57688A; }
.go-mon b { font-size: 15px; }
.go-mon__types { display: flex; gap: 3px; }
.go-mon__note { font-size: 12.5px; font-weight: 700; color: #1E6FD9; line-height: 1.35; }

.go-regs { list-style: none; margin: 18px 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.go-reg { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 16px; background: #fff; box-shadow: 0 3px 12px rgba(13, 59, 122, .07); margin: 0 !important; }
.go-reg img { width: 64px; height: 64px; object-fit: contain; margin: 0 !important; }
.go-reg span { display: flex; flex-direction: column; line-height: 1.3; }
.go-reg a { color: #12233F !important; text-decoration: none !important; }
.go-reg em { font-style: normal; font-size: 13px; color: #57688A; }

.go-buddy { list-style: none; margin: 18px 0 !important; padding: 0 !important; display: grid; gap: 8px; }
.go-buddy li { display: flex; gap: 14px; align-items: baseline; padding: 10px 14px; border-radius: 14px; background: #fff; box-shadow: 0 3px 12px rgba(13, 59, 122, .06); margin: 0 !important; }
.go-buddy b { flex: none; width: 70px; font-size: 18px; color: #1E6FD9; }
.go-buddy span { font-size: 14px; color: #57688A; }

.go-box { margin: 22px 0; padding: 16px 18px; border-radius: 16px; border-left: 5px solid #1E6FD9; background: #EEF6FD; }
.go-box p { margin-bottom: 10px; }
.go-box p:last-child, .go-box ul:last-child { margin-bottom: 0; }
.go-box__title { font-weight: 800; color: #12233F; margin-bottom: 6px !important; }
.go-box--astuce { border-color: #F2B807; background: #FFF9E6; }
.go-box--attention { border-color: #E5322D; background: #FFF1F0; }
.go-box--exemple { border-color: #18B39B; background: #E9FAF6; }
.go-quiz { margin: 30px 0 10px; padding: 20px; border-radius: 20px; background: linear-gradient(160deg, #1E6FD9, #0D3B7A); color: #fff; }
.go-quiz__title { font-size: 18px; font-weight: 800; color: #FFD23F; margin-bottom: 12px !important; }
.go-quiz__list { display: grid; gap: 10px; }
.go-q { background: rgba(255, 255, 255, .1); border-radius: 14px; padding: 12px 16px; }
.go-q summary { cursor: pointer; font-weight: 700; list-style: none; display: flex; gap: 10px; }
.go-q summary::-webkit-details-marker { display: none; }
.go-q summary::before { content: "?"; flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; background: #FFD23F; color: #12233F; }
.go-q[open] summary::before { content: "✓"; background: #4CD964; color: #fff; }
.go-q p { margin: 10px 0 0 32px !important; color: rgba(255, 255, 255, .9); }

/* ---------- Section « Dans Pokémon GO » des fiches du Pokédex ---------- */
.dex-go__card { display: flex; gap: 20px; align-items: center; padding: 18px; border-radius: 20px; background: linear-gradient(120deg, #E9F7FD, #F4F0FF); border: 1px solid #D9E8F2; }
.dex-go__art { position: relative; flex: none; display: grid; place-items: center; width: 150px; height: 150px; border-radius: 50%; background: radial-gradient(circle at 50% 60%, #fff, rgba(255, 255, 255, .2) 70%); }
.dex-go__art img { width: 140px; height: 140px; object-fit: contain; }
.dex-go__soon { position: absolute; bottom: 4px; padding: 3px 10px; border-radius: 999px; background: #12233F; color: #fff; font-size: 11px; font-weight: 800; }
.dex-go__body { flex: 1; min-width: 0; }
.dex-go__facts { list-style: none; margin: 0 0 10px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.dex-go__facts li { background: #fff; border-radius: 14px; padding: 8px 10px; }
.dex-go__facts b { display: block; font-size: 17px; color: #12233F; }
.dex-go__facts span { font-size: 12px; color: #57688A; }
.dex-go__tags { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.dex-go__tags li { font-size: 13px; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: #fff; color: #12233F; }
.dex-go__tags .is-reg { background: #12233F; color: #fff; }
.dex-go__btn { display: inline-flex; padding: 10px 16px; border-radius: 999px; background: #1E6FD9; color: #fff !important; font-weight: 800; text-decoration: none !important; }
.dex-go__btn:hover { background: #0D3B7A; }

/* ---------- Responsive ---------- */
@media (max-width: 900px) {
  .godex-hero__inner, .gd-hero__inner, .gd-grid { grid-template-columns: minmax(0, 1fr); }
  .godex-hero__mons { display: none; }
  .godex-tools { position: static; }
  .gd-keys { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dex-go__card { flex-direction: column; text-align: center; }
  .dex-go__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dex-go__tags { justify-content: center; }
}
@media (max-width: 640px) {
  .godex-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gd-hero__img { width: 200px; height: 200px; }
  .gd-hero__cp b { font-size: 24px; }
  .gd-pager { flex-wrap: wrap; justify-content: center; }
  .godex-select { flex: 1 1 45%; }
  .godex-select select { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .godex * { animation: none !important; transition: none !important; }
}
