/* GS V31.25 — Tableaux Pokémon Champions : vraies fiches mobiles sans débordement. */
.article-body figure.wp-block-table.gs-table-figure-ready{
  box-sizing:border-box;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:1.65rem 0;
  overflow:visible;
}
.article-body figure.wp-block-table.gs-table-figure-ready > .gs-article-table-shell{
  margin:0;
}
.gs-article-table-shell{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:1.65rem 0;
}
.gs-article-table-scroll{
  box-sizing:border-box;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  border-radius:14px;
  scrollbar-width:thin;
  scrollbar-color:rgba(255,61,91,.55) rgba(255,255,255,.05);
}
.gs-article-table-scroll:focus-visible{
  outline:2px solid #ff3d5b;
  outline-offset:4px;
}
.gs-table-view-toolbar,
.gs-table-mobile-cards{
  display:none;
}
.gs-responsive-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}

@media (max-width:760px){
  .gs-pokemon-champions-article .article-body,
  .gs-pokemon-champions-article .article-body > *,
  .gs-pokemon-champions-article .article-body figure.wp-block-table.gs-table-figure-ready,
  .gs-pokemon-champions-article .gs-article-table-shell{
    box-sizing:border-box;
    max-width:100%!important;
    min-width:0!important;
  }

  .gs-pokemon-champions-article .article-body figure.wp-block-table.gs-table-figure-ready,
  .gs-pokemon-champions-article .gs-article-table-shell{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  .gs-article-table-shell{
    margin:1.35rem 0 1.75rem;
    overflow:hidden;
    contain:inline-size;
  }

  .gs-table-view-toolbar{
    box-sizing:border-box;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0 0 10px;
    padding:8px 9px 8px 12px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:13px;
    background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(196,18,48,.075));
    box-shadow:0 10px 26px rgba(0,0,0,.18);
  }
  .gs-table-view-label{
    min-width:0;
    color:rgba(255,255,255,.66);
    font-size:11px;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
  }
  .gs-table-view-switch{
    display:flex;
    flex:0 0 auto;
    gap:4px;
    padding:3px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:10px;
    background:#09090b;
  }
  .gs-table-view-button{
    min-height:34px;
    padding:6px 10px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:rgba(255,255,255,.62);
    font-family:inherit;
    font-size:12px;
    font-weight:800;
    line-height:1.1;
    cursor:pointer;
  }
  .gs-table-view-button.is-active{
    color:#fff;
    background:linear-gradient(135deg,#c41230,#7d0d21);
    box-shadow:0 5px 16px rgba(196,18,48,.28);
  }

  /* Vue Fiches : on masque complètement la géométrie du tableau source. */
  .gs-article-table-shell[data-view="cards"] .gs-article-table-scroll{
    display:none!important;
  }
  .gs-article-table-shell[data-view="cards"] .gs-table-mobile-cards{
    box-sizing:border-box;
    display:block;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden;
  }

  .gs-table-mobile-card{
    box-sizing:border-box;
    display:block;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 14px;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.12);
    border-radius:17px;
    background:
      radial-gradient(circle at 100% 0,rgba(196,18,48,.15),transparent 46%),
      linear-gradient(145deg,#151216,#0b0b0d 65%);
    box-shadow:0 14px 32px rgba(0,0,0,.26),inset 0 1px rgba(255,255,255,.035);
  }
  .gs-table-mobile-card:last-child{
    margin-bottom:0;
  }

  .gs-table-mobile-card-title{
    box-sizing:border-box;
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    padding:14px 15px 15px;
    overflow:hidden;
    border-bottom:1px solid rgba(255,91,115,.25);
    background:linear-gradient(110deg,rgba(196,18,48,.30),rgba(196,18,48,.09) 62%,transparent);
    color:#fff;
  }
  .gs-table-mobile-card-title-label{
    display:block;
    margin:0 0 5px;
    color:rgba(255,255,255,.54);
    font-size:9px;
    font-weight:900;
    line-height:1.3;
    letter-spacing:.09em;
    text-transform:uppercase;
  }
  .gs-table-mobile-card-title-value{
    display:block;
    max-width:100%;
    min-width:0;
    color:#fff;
    font-size:18px;
    font-weight:850;
    line-height:1.42;
    overflow-wrap:anywhere;
  }

  .gs-table-mobile-field{
    box-sizing:border-box;
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    padding:13px 15px 15px;
    overflow:hidden;
    border-bottom:1px solid rgba(255,255,255,.08);
  }
  .gs-table-mobile-field:last-child{
    border-bottom:0;
  }
  .gs-table-mobile-field-label{
    display:block;
    margin:0 0 9px;
    color:#ff647c;
    font-size:10px;
    font-weight:900;
    line-height:1.3;
    letter-spacing:.09em;
    text-transform:uppercase;
  }
  .gs-table-mobile-field-value{
    box-sizing:border-box;
    display:block;
    width:100%;
    max-width:100%;
    min-width:0;
    overflow:hidden;
    color:rgba(255,255,255,.90);
    font-size:15px;
    line-height:1.58;
    text-align:left;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  .gs-table-mobile-field-value *,
  .gs-table-mobile-card-title-value *{
    box-sizing:border-box;
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  .gs-table-mobile-field-value p,
  .gs-table-mobile-card-title-value p{
    margin:.12rem 0 .55rem;
  }
  .gs-table-mobile-field-value p:last-child,
  .gs-table-mobile-card-title-value p:last-child{
    margin-bottom:0;
  }
  .gs-table-mobile-field-value ul,
  .gs-table-mobile-field-value ol{
    margin:.15rem 0 .25rem 1.15rem;
    padding:0;
  }
  .gs-table-mobile-field-value img,
  .gs-table-mobile-card-title-value img{
    height:auto!important;
  }
  .gs-table-mobile-field-value pre{
    width:100%;
    overflow-x:auto;
  }

  /* Sous-tableaux importés : conversion en lignes libellé / valeur. */
  .gs-table-mobile-subfields{
    display:grid;
    gap:9px;
    width:100%;
    max-width:100%;
    min-width:0;
  }
  .gs-table-mobile-subfield{
    box-sizing:border-box;
    display:grid;
    grid-template-columns:minmax(88px,31%) minmax(0,1fr);
    align-items:start;
    gap:10px;
    width:100%;
    max-width:100%;
    min-width:0;
    padding:0 0 9px;
    border-bottom:1px dashed rgba(255,255,255,.08);
  }
  .gs-table-mobile-subfield:last-child{
    padding-bottom:0;
    border-bottom:0;
  }
  .gs-table-mobile-subfield-label{
    min-width:0;
    color:rgba(255,255,255,.65);
    font-size:13px;
    font-weight:800;
    line-height:1.45;
    overflow-wrap:anywhere;
  }
  .gs-table-mobile-subfield-value{
    min-width:0;
    color:#fff;
    line-height:1.5;
    overflow-wrap:anywhere;
  }

  /* Vue Tableau : comparaison horizontale volontaire et contenue. */
  .gs-article-table-shell[data-view="table"] .gs-table-mobile-cards{
    display:none!important;
  }
  .gs-article-table-shell[data-view="table"] .gs-article-table-scroll{
    box-sizing:border-box;
    display:block;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto;
    padding-bottom:7px;
    border:1px solid rgba(255,255,255,.09);
    background:#0b0b0d;
  }
  .gs-article-table-shell[data-view="table"] .gs-responsive-table{
    width:max-content!important;
    max-width:none!important;
    min-width:720px!important;
    margin:0!important;
    font-size:14px!important;
  }
  .gs-article-table-shell[data-view="table"] .gs-responsive-table th,
  .gs-article-table-shell[data-view="table"] .gs-responsive-table td{
    box-sizing:border-box;
    min-width:145px;
    padding:13px 14px!important;
    white-space:normal!important;
    vertical-align:top;
  }
  .gs-article-table-shell[data-view="table"] .gs-responsive-table th:first-child,
  .gs-article-table-shell[data-view="table"] .gs-responsive-table td:first-child{
    position:sticky;
    left:0;
    z-index:2;
    min-width:132px;
    max-width:155px;
    background:#111113!important;
    box-shadow:8px 0 18px rgba(0,0,0,.28);
  }
  .gs-article-table-shell[data-view="table"] .gs-responsive-table thead th:first-child{
    z-index:3;
    background:#351115!important;
  }
}

@media (max-width:430px){
  .gs-table-mobile-subfield{
    grid-template-columns:1fr;
    gap:3px;
  }
  .gs-table-mobile-subfield-label{
    color:#ff91a3;
    font-size:11px;
    letter-spacing:.03em;
    text-transform:uppercase;
  }
}

@media (max-width:360px){
  .gs-table-view-label{
    display:none;
  }
  .gs-table-view-toolbar{
    justify-content:flex-end;
  }
  .gs-table-mobile-card-title,
  .gs-table-mobile-field{
    padding-left:12px;
    padding-right:12px;
  }
}
