/* =========================================================
   Coalition NAPAR — Elections 2024 FR — V6
   Les tableaux WPTB restent la source. Toute la colonne d’un parti
   ouvre sa popup de position globale, y compris depuis une case vide.
   ========================================================= */
.napar-election-table-wrap{
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  margin:0 0 .9rem;
  position:relative;
}
.napar-election-table-wrap table.napar-election-table{
  width:100%;
}
.napar-election-table .napar-party-column-cell{
  cursor:pointer;
  position:relative;
  transition:transform .15s ease;
}
/* V6 : un seul contour autour de TOUTE la colonne survolée/focalisée.
   Pas de bordure répétée cellule par cellule. */
.napar-election-column-outline{
  position:absolute;
  display:none;
  pointer-events:none;
  box-sizing:border-box;
  border:3px solid #31388c;
  border-radius:7px;
  box-shadow:0 0 0 1px rgba(49,56,140,.08);
  z-index:20;
}
.napar-election-column-outline.is-visible{display:block;}
.napar-election-table .napar-party-column-cell.napar-party-column-hover{
  box-shadow:none!important;
  outline:none!important;
}
.napar-election-table .napar-party-column-cell:active{
  transform:scale(.985);
}
.napar-election-table .napar-party-column-cell:focus-visible{
  outline:none;
}
.napar-election-table .napar-party-column-cell[data-napar-column-header="1"]::after{
  content:"↗";
  position:absolute;
  right:4px;
  bottom:3px;
  font-size:.66em;
  line-height:1;
  opacity:.42;
  pointer-events:none;
}
.napar-election-table-note{
  margin:.35rem 0 .8rem;
  font-size:.94rem;
  line-height:1.4;
}
.napar-election-table-note strong{font-weight:700;}
/* Les anciennes rangées de logos restent dans le DOM comme secours Popup Maker,
   mais sont masquées uniquement APRES activation réussie du tableau. */
.napar-legacy-party-column-hidden,
.napar-legacy-party-trigger-hidden{
  display:none!important;
}
@media (max-width:767px){
  .napar-election-table .napar-party-column-cell{
    min-width:44px;
    min-height:44px;
  }
  .napar-election-table-note{font-size:.9rem;}
}

/* Fallback modal: utilisé si Popup Maker ne charge pas une popup à cause de la langue. */
html.napar-modal-open,
html.napar-modal-open body { overflow:hidden!important; }
.napar-elections-fallback-modal{display:none;position:fixed;inset:0;z-index:2147483000;align-items:center;justify-content:center;padding:20px;}
.napar-elections-fallback-modal.is-open{display:flex;}
.napar-elections-fallback-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58);}
.napar-elections-fallback-dialog{position:relative;width:min(980px,96vw);max-height:90vh;overflow:auto;background:#fff;color:#1d2327;border-radius:12px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.28);}
.napar-elections-fallback-dialog h2{margin:0 44px 18px 0;}
.napar-elections-fallback-close{position:absolute;right:12px;top:10px;width:40px;height:40px;border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer;}
.napar-elections-fallback-body img{max-width:100%;height:auto;}
.napar-elections-fallback-body table{max-width:100%;}
@media(max-width:767px){.napar-elections-fallback-modal{padding:8px}.napar-elections-fallback-dialog{width:100%;max-height:94vh;padding:20px 16px}.napar-elections-fallback-close{right:5px;top:5px}}
