* { margin: 0; padding: 0; box-sizing: border-box; }

body {
  background: #08051a;
  color: #e8e8f0;
  font-family: 'Segoe UI', system-ui, sans-serif;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* ═══ HEADER ═══ */
.home p{ 
  color: #3e28a1; 
}
.home img{ 
  width: 25%; 
  height: auto; 
}
.home{ 
  grid-column: 1; 
  text-align: left; 
}

@media (max-width: 1150px) { .home img { width: 50%; } }

header {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  align-items: center;
  width: 100%;
  padding: 2em 1em 2%;
  background: linear-gradient(180deg, #0d0a3a 0%, transparent 100%);
  border-bottom: 1px solid #221d8a44;
}
header h1 {
  font-size: clamp(2rem, 6vw, 3.5rem);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: linear-gradient(135deg, #4853ec, #3e20ff, #2700ec);
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
header p {
  color: #3428a1; font-size: 0.9rem; margin-top: 0.4rem;
  letter-spacing: 0.08em; text-transform: uppercase;
}
.header-center { grid-column: 2; text-align: center; }

/* ═══ FOOTER ═══ */
footer {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: 100%;
  border-top: 1px solid #361d8a44;
  padding: 5% 1rem 1.5rem;
  background: linear-gradient(180deg, transparent 0%, #0f0a3a 100%);
}
footer p { 
  color: #282aa1; 
  font-size: 0.9rem;
  margin-top: 0.4rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
 }
.footer-left  { 
  grid-column: 1; 
  text-align: left; 
}
.footer-right { 
  grid-column: 3; 
  text-align: right; 
}

/* ═══ MAIN ═══ */
main {
  width: 100%;
  max-width: 700px;
  padding: 2rem 1rem 4rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: flex-start;
  gap: 1rem;
  margin: 0 auto;
  flex: 1;
}

/* ═══ SETUP ═══ */
#screen-setup{ 
  display: flex; 
  flex-direction: column; 
  gap: 1.5rem; 
  width: 100%; 
}

.card{ 
  background: #0d092a; 
  border: 1px solid #2d1d8a44; 
  border-radius: 16px; 
  padding: 1.5rem; 
}
.card-title{ 
  font-size: 0.75rem; 
  font-weight: 600; 
  letter-spacing: 0.12em; 
  text-transform: uppercase; 
  color: #202fff; 
  margin-bottom: 1rem; 
}
.input-row{ 
  display: flex; 
  gap: 0.5rem; 
}

input[type="text"]{
  flex: 1; background: #1d228a44; 
  border: 1px solid #1d248a44;
  border-radius: 10px; 
  padding: 0.65rem 1rem;
  color: #e8e8f0; 
  font-size: 1rem; 
  outline: none; 
  transition: border-color 0.2s;
}
input[type="text"]:focus{ 
  border-color: #5b3aed; 
}
input[type="text"]::placeholder{ 
  color: #303460; 
}

input[type="number"]{
  width: 70px;
  background: #1d228a44;
  border: 1px solid #1d248a44;
  border-radius: 10px;
  padding: 0.55rem 0.5rem;
  color: #e8e8f0;
  font-size: 1rem;
  text-align: center;
  outline: none;
  transition: border-color 0.2s;
  flex-shrink: 0;
}
input[type="number"]:focus{
  border-color: #5b3aed;
}

.btn{
  background: #361d8a; 
  color: #ffd4d4; 
  border: none;
  border-radius: 10px; 
  padding: 0.65rem 1.2rem;
  font-size: 0.95rem; 
  font-weight: 600; cursor: pointer;
  transition: background 0.2s, transform 0.1s;
}
.btn:hover { 
  background: #3024b8; 
}
.btn:active{ 
  transform: scale(0.97); 
}

.btn-primary{
  width: 100%;
  background: linear-gradient(135deg, #09078b, #002aff);
  color: #fff; 
  padding: 0.9rem; 
  font-size: 1.1rem;
  border-radius: 12px; 
  margin-top: 0.5rem; 
  letter-spacing: 0.04em;
  transition: opacity 0.3s, transform 0.1s;
}
.btn-primary:hover{ 
  background: linear-gradient(135deg, #3c33ea, #282ed9); 
}

.btn-primary:disabled{ 
  opacity: 0.35; 
  cursor: not-allowed; 
}

#player-list{
  display: flex; 
  flex-wrap: wrap; 
  gap: 0.5rem; 
  margin-top: 1rem;
   min-height: 1rem; 
}

.player-tag{
  display: flex; 
  align-items: center; 
  gap: 0.4rem;
  background: #0a0b40; 
  border: 1px solid #221d8a;
  border-radius: 999px; 
  padding: 0.3rem 0.75rem 0.3rem 1rem;
  font-size: 0.9rem; 
  color: #cab4fe;
}
.player-tag button { 
  background: none; 
  border: none; 
  color: #5e3aed; 
  cursor: pointer; 
  font-size: 1rem; 
  line-height: 1; 
  padding: 0; 
  transition: color 0.15s; 
}
.player-tag button:hover{ 
  color: #8179f9; 
}
.empty-hint{
  color: #343060; 
  font-size: 0.9rem; 
  font-style: italic; 
  padding: 0.5rem 0; 
}

.switch-card{ 
  padding: 1rem 1.5rem; 
}
.switch-row { 
  display: flex; 
  align-items: center; 
  justify-content: space-between; 
  gap: 1rem; 
}
.number-row { 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    gap: 1rem; 
  }

.switch-desc{
  font-size: 0.8rem; 
  color: #544a7a; 
  margin-top: 0.2rem; 
}

.setup-error{
  background: #3a0000;
  border: 1px solid #cc0000;
  color: #ff8080;
  border-radius: 12px;
  padding: 0.85rem 1.2rem;
  font-size: 0.9rem;
  width: 100%;
  text-align: center;
}

.toggle{ 
  position: relative; 
  display: inline-block; 
  width: 52px; 
  height: 28px; 
  flex-shrink: 0; 
}
.toggle input{ 
  opacity: 0; 
  width: 0; 
  height: 0; 
}
.toggle-slider{
  position: absolute; 
  inset: 0; 
  background: #150a40;
  border: 1px solid #1a1b5e; 
  border-radius: 999px; 
  cursor: pointer;
  transition: background 0.25s, border-color 0.25s;
}
.toggle-slider::before{
  content: ''; 
  position: absolute;
  width: 20px; 
  height: 20px; 
  left: 3px; 
  top: 50%;
  transform: translateY(-50%);
  background: #211d8a; border-radius: 50%;
  transition: transform 0.25s, background 0.25s;
}
.toggle input:checked + .toggle-slider{ 
  background: #b2b2b2; border-color: #fff; 
}
.toggle input:checked + .toggle-slider::before{ 
  transform: translate(24px, -50%); 
  background: #fff; 
}

/* ═══ ÉCRAN CARTE ═══ */
#screen-card{
  display: none; 
  flex-direction: column;
  align-items: center; 
  gap: 1.5rem; 
  width: 100%;
}

#players-row{ 
  display: flex; 
  flex-wrap: wrap; 
  gap: 0.5rem; 
  justify-content: center; 
}

.player-chip{
  background: #140a40; 
  border: 1px solid #211d8a44;
  border-radius: 999px; 
  padding: 0.25rem 0.75rem;
  font-size: 0.85rem; 
  color: #4b407a; transition: all 0.2s;
}
.player-chip.active{background: #331d8a; border-color: #3620ff; color: #ffd4d4; }
.player-chip.dead{ text-decoration: line-through; opacity: 0.4; }

/* ═══ FLIP CARD ═══ */
.card-scene{
  width: 260px; 
  height: 380px;
  perspective: 900px; 
  cursor: pointer; 
  flex-shrink: 0;
  position: relative;
}
.card-inner{
  width: 100%; 
  height: 100%; 
  position: relative;
  transform-style: preserve-3d;
  -webkit-transform-style: preserve-3d;
  transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-inner.flipped{ 
  transform: rotateY(180deg); 
}

.card-face{
  position: absolute; 
  inset: 0;
  border-radius: 20px;
  border: 1px solid #2d1d8a66;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  overflow: hidden;
}

/* ── VERSO ──*/
.card-verso{
  background: #0a0720;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.card-verso h1{
  color: #2D1D8A;
  position:relative;
  bottom: 80px;

}

.verso-logo-img{
  width: 140px;
  height: 140px;
  object-fit: contain;
}

.verso-hint{
  position: absolute; 
  bottom: 1.1rem;
  font-size: 0.72rem; 
  color: #6e5fb0;
  letter-spacing: 0.1em; 
  text-transform: uppercase; 
}

/* ── RECTO ──*/
.card-recto {
  background: #0d092a;
  transform: rotateY(180deg);
  display: flex; 
  flex-direction: column;
  align-items: center; 
  justify-content: space-between;
  padding: 1.4rem 1.2rem; 
  gap: 0.6rem;
}

.recto-title{
  font-size: 1.1rem; 
  font-weight: 700; 
  color: #cab4fe;
  letter-spacing: 0.04em; 
  text-align: center; 
  width: 100%;
  border-bottom: 1px solid #2d1d8a44; 
  padding-bottom: 0.75rem; 
  flex-shrink: 0;
}
.recto-icon{ 
  width: 110px; 
  height: 110px; 
  flex-shrink: 0; 
}
.recto-icon svg{
  width: 100%; 
  height: 100%; 
}
.recto-mot{
  font-size: 1.3rem; 
  font-weight: 800; 
  color: #fff;
  letter-spacing: 0.04em; 
  text-align: center;
  padding: 0.6rem 1rem; 
  background: #150a40;
  border: 1px solid #361d8a; 
  border-radius: 12px;
  width: 100%; 
  flex-shrink: 0;
}

.type-badge{
  font-size: 0.7rem; 
  font-weight: 700;
  letter-spacing: 0.12em; 
  text-transform: uppercase;
  padding: 0.3rem 1rem; 
  border-radius: 999px; 
  flex-shrink: 0;
}
/* Camp Infiltré = ROUGE */
.type-badge.infiltre{background: #6b0000; color: #ff8080; border: 1px solid #ff2020;}
/* Camp OugaBooga = VERT */
.type-badge.booga{ background: #003a1a; color: #80ffb4; border: 1px solid #00cc66;}
/* Rôles solo = JAUNE */
.type-badge.solo{ background: #3a3a00; color: #ffe680; border: 1px solid #ccaa00;}

.btn-quit{
  background: transparent; 
  border: 1px solid #2d1d8a44;
  color: #6e5fb0; 
  font-size: 0.85rem; 
  padding: 0.5rem 1.5rem;
}
.btn-quit:hover { 
  background: #150a40; 
  color: #cab4fe; 
}

/* ═══ ÉCRAN NUIT ═══ */
#screen-night{
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  width: 100%;
}
.night-header{
  text-align: center;
  width: 100%;
}
.night-jour{
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #5e3aed;
  margin-bottom: 0.6rem;
}
.night-role-title{
  font-size: 1.5rem;
  font-weight: 800;
  color: #cab4fe;
  letter-spacing: 0.03em;
}
.night-role-desc{
  font-size: 0.9rem;
  color: #7a6fae;
  margin-top: 0.4rem;
}
.night-info{
  background: #150a40;
  border: 1px solid #361d8a;
  border-radius: 14px;
  padding: 1rem 1.2rem;
  font-size: 0.95rem;
  color: #cab4fe;
  text-align: center;
  width: 100%;
}

/* ═══ ÉCRAN MATIN ═══ */
#screen-morning{
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
  width: 100%;
}

/* ═══ ÉCRAN VOTE ═══ */
#screen-vote{
  display: none; 
  flex-direction: column;
  align-items: center; 
  gap: 1.2rem; 
  width: 100%;
}

.vote-header{ 
  text-align: center; 
}
.vote-title{ 
  font-size: 1.3rem; 
  font-weight: 700; 
  color: #cab4fe; 
  margin-bottom: 0.4rem; 
}
.vote-sub{
  font-size: 0.85rem; 
  color: #7a6fae; 
}

/* Grille des boutons joueurs */
.vote-players{
  display: flex; 
  flex-wrap: wrap;
  gap: 0.75rem; 
  justify-content: center; 
  width: 100%;
}

.vote-btn{
  background: #0d092a; 
  border: 1px solid #2d1d8a66;
  border-radius: 12px; 
  padding: 0.75rem 1.4rem;
  font-size: 1rem; 
  font-weight: 600; 
  color: #cab4fe;
  cursor: pointer; 
  transition: background 0.2s, border-color 0.2s, transform 0.1s;
}
.vote-btn:hover{ 
  background: #361d8a; 
  border-color: #5e3aed; 
  color: #fff; 
}
.vote-btn:active{
  transform: scale(0.97); 
}
.vote-btn:disabled{
  opacity: 0.3;
  cursor: not-allowed;
}

/* Zone de résultat élimination */
.vote-result-area{
  display: none; 
  flex-direction: column;
  align-items: center;
  gap: 0.6rem; 
  width: 100%;
}

.result-block{
  border-radius: 14px; 
  padding: 1rem 1.2rem;
  font-size: 0.95rem; 
  line-height: 1.5;
  border: 1px solid;
}
.result-block.bravo{background: #001a40; border-color: #0055cc; color: #99ccff;}
.result-block.warning{ background: #2a1a00; border-color: #aa6600; color: #ffcc66;}
.result-block.win{ background: #001a0a; border-color: #00882a; color: #66ffaa;}
.result-block.fail{ background: #2a0000; border-color: #880000; color: #ff8080;}
.result-block.lose{ background: #1a0000; border-color: #550000; color: #ff5555;}

.result-sub{ 
  display: block; 
  font-size: 0.85rem; 
  margin-top: 0.3rem; 
  opacity: 0.8; 
}
.result-block strong{ 
  font-weight: 700; 
}
.result-block em{ 
  font-style: italic; 
}

/* ═══ CARTE DE RÉVÉLATION (écran vote) ═══ */
.reveal-scene{
  width: 220px;
  height: 320px;
}

.reveal-label{
  font-size: 0.9rem;
  color: #7a6fae;
  text-align: center;
}
.reveal-label strong{ 
  color: #cab4fe; 
}

/* Messages résultat — cachés jusqu'au flip */
.reveal-messages{
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  width: 100%;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.4s ease, opacity 0.4s ease;
}
.reveal-messages.visible{
  max-height: 600px;
  opacity: 1;
}

/* ═══ ÉCRAN PAROLE ═══ */
#screen-parole{
  display: none; 
  flex-direction: column;
  align-items: center; 
  gap: 1.2rem; 
  width: 100%;
}

.parole-card{
  width: 100%; 
  text-align: center;
  display: flex; 
  flex-direction: column; 
  align-items: center; 
  gap: 0.5rem;
}
.parole-label{
  font-size: 0.8rem; 
  color: #7a6fae; 
  letter-spacing: 0.1em; 
  text-transform: uppercase;
}
.parole-name{
  font-size: 2rem; 
  font-weight: 800; 
  color: #cab4fe; 
  letter-spacing: 0.04em;
}
.parole-hint{
  font-size: 0.85rem; 
  color: #5e548a; 
  font-style: italic;
}

/* ═══ ÉCRAN FINAL ═══ */
#screen-final{
  display: none; 
  flex-direction: column;
  align-items: center; 
  gap: 1.2rem; 
  width: 100%;
}

.final-content{
  width: 100%; 
  display: flex; 
  flex-direction: column; 
  gap: 0.5rem;
}

.final-header{
  display: grid; 
  grid-template-columns: 1fr 1fr;
  padding: 0.4rem 1rem; 
  gap: 0.5rem;
}
.final-col-header{
  font-size: 0.7rem; 
  font-weight: 700; 
  letter-spacing: 0.12em;
  text-transform: uppercase; 
  color: #5e548a;
}

.final-row{
  display: grid; 
  grid-template-columns: 1fr 1fr;
  align-items: center; 
  gap: 0.5rem;
  border-radius: 12px; 
  padding: 0.75rem 1rem;
  border: 1px solid;
}
.final-nom{
  font-weight: 700; 
  font-size: 1rem; 
}
.final-role{ 
  font-size: 0.8rem; 
  font-weight: 600; 
  letter-spacing: 0.06em; 
  text-transform: uppercase; 
  text-align: right;
}
.final-status{
  font-size: 0.7rem;
  font-weight: 600;
  opacity: 0.7;
  grid-column: 1 / -1;
}

.final-booga{background: #001a0a; border-color: #00882a; color: #66ffaa;}
.final-infiltre{background: #2a0000; border-color: #880000; color: #ff8080;}
.final-solo{background: #1a1a00; border-color: #888800; color: #ffff80;}
.final-row.dead{ opacity: 0.55; }

/* Bloc égalité */
.result-block.draw {background: #0d0d0d; border-color: #888; color: #fff;}

/* Variantes de défaite colorées */
.result-block.lose-red{background: #2a0000; border-color: #cc0000; color: #ff6666;}
.result-block.lose-yellow{background: #2a2000; border-color: #ccaa00; color: #ffe066;}

/* ═══ ÉCRAN VICTOIRE ═══ */
#screen-win{
  display: none; 
  flex-direction: column;
  align-items: center; 
  gap: 1.5rem; 
  width: 100%;
}

.win-content{
  width: 100%; 
  border-radius: 20px; 
  border: 1px solid;
  padding: 2rem 1.5rem;
  display: flex; 
  flex-direction: column; 
  align-items: center; 
  gap: 1rem;
  text-align: center;
}

.win-screen-booga{background: #001a0a; border-color: #00882a;}
.win-screen-infiltre{background: #2a0000; border-color: #cc0000;}
.win-screen-solo{background: #2a2000; border-color: #ccaa00;}
.win-screen-egalite{background: #0d0d0d; border-color: #666;}

.win-logos{
  display: flex; 
  gap: 1.5rem; 
  align-items: center; 
  justify-content: center; 
}
.win-logo{
  width: 100px; 
  height: 100px; 
  object-fit: contain; 
}
.win-logo-split{
  width: 80px; 
  height: 80px; 
}

.win-titre{
  font-size: 1.7rem; 
  font-weight: 800; 
  letter-spacing: 0.04em;
}
.win-screen-booga .win-titre {color: #66ffaa;}
.win-screen-infiltre .win-titre {color: #ff6666;}
.win-screen-solo .win-titre {color: #ffe066;}
.win-screen-egalite .win-titre {color: #fff;}

.win-sous{
  font-size: 0.9rem; 
  opacity: 0.7;
}
.win-screen-booga .win-sous {color: #66ffaa;}
.win-screen-infiltre .win-sous {color: #ff6666;}
.win-screen-solo .win-sous {color: #ffe066;}
.win-screen-egalite .win-sous {color: #aaa;}

.win-players{
  display: flex; 
  flex-wrap: wrap; 
  gap: 0.5rem; 
  justify-content: center; 
  margin-top: 0.5rem;
}
.win-player {
  border-radius: 999px; 
  padding: 0.35rem 1rem;
  font-size: 1rem; 
  font-weight: 700;
}
.win-screen-booga .win-player{background: #003a18; border: 1px solid #00882a; color: #66ffaa;}
.win-screen-infiltre .win-player{background: #3a0000; border: 1px solid #cc0000; color: #ff8080;}
.win-screen-solo .win-player{background: #3a2e00; border: 1px solid #ccaa00; color: #ffe066;}
.win-screen-egalite .win-player{background: #1a1a1a; border: 1px solid #666; color: #fff;}

/* Morning recap rows reuse final-row but allow icon-style status */
.morning-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 12px;
  padding: 0.75rem 1rem;
  border: 1px solid #2d1d8a44;
  background: #0d092a;
}
.morning-row.dead{
  border-color: #880000;
  background: #2a0000;
}
.morning-row .morning-nom{
  font-weight: 700;
}
.morning-row.dead .morning-nom{
  color: #ff8080;
}
.morning-row .morning-tag{
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.75;
}

/* ═══ BOUTONS FIN DE PARTIE ═══ */
.btn-continue {
  width: 100%;
  background: linear-gradient(135deg, #006622, #00aa44);
  color: #fff;
  padding: 0.9rem;
  font-size: 1.1rem;
  border-radius: 12px;
  letter-spacing: 0.04em;
  border: none;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
  font-weight: 600;
}
.btn-continue:hover {
  background: linear-gradient(135deg, #00882a, #00cc55);
}
.btn-continue:active { transform: scale(0.97); }

.btn-new {
  width: 100%;
  background: linear-gradient(135deg, #6b5000, #cc9900);
  color: #fff;
  padding: 0.9rem;
  font-size: 1.1rem;
  border-radius: 12px;
  letter-spacing: 0.04em;
  border: none;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
  font-weight: 600;
}
.btn-new:hover {
  background: linear-gradient(135deg, #886600, #ddaa00);
}
.btn-new:active { transform: scale(0.97); }

.btn-exit {
  width: 100%;
  background: linear-gradient(135deg, #6b0000, #cc0000);
  color: #fff;
  padding: 0.9rem;
  font-size: 1.1rem;
  border-radius: 12px;
  letter-spacing: 0.04em;
  border: none;
  cursor: pointer;
  transition: background 0.2s, transform 0.1s;
  font-weight: 600;
}
.btn-exit:hover {
  background: linear-gradient(135deg, #880000, #ee1111);
}
.btn-exit:active { transform: scale(0.97); }

/* ═══ COMPTEURS +/- (style Undercover) ═══ */
.counter-ctrl {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.counter-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: 1px solid #2d1d8a66;
  background: #150a40;
  color: #cab4fe;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.15s, border-color 0.15s;
}
.counter-btn:hover {
  background: #2d1d8a;
  border-color: #5e3aed;
  color: #fff;
}
.counter-btn:active { transform: scale(0.93); }
.counter-val {
  min-width: 28px;
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  color: #cab4fe;
}

/* ═══ ICÔNES FLATICON SUR LES CARTES ═══ */
.role-icon-img {
  width: 110px;
  height: 110px;
  object-fit: contain;
}

/* ════════════════════════════════════════════
   ÉLECTION DU MAIRE
════════════════════════════════════════════ */
.maire-btn {
  font-size: 1rem;
  padding: 0.75rem 1.6rem;
}
.maire-interdit {
  opacity: 0.35;
  cursor: not-allowed;
}
.maire-elu {
  background: linear-gradient(135deg, #7a5a00, #d4a800) !important;
  border-color: #ffd700 !important;
  color: #fff !important;
  box-shadow: 0 0 12px #d4a80066;
}

/* Médaillon maire sur les chips joueurs */
.player-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}
.maire-medaillon {
  width: 14px;
  height: 14px;
  object-fit: contain;
  flex-shrink: 0;
  /* Petite couronne en haut à gauche, légèrement en surplomb */
  position: absolute;
  top: -6px;
  left: -4px;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.6));
}

/* Badge "Chef Bouga ×2" sur le bouton de vote */
.vote-chef-badge {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  background: #7a5a00;
  color: #ffd700;
  border-radius: 999px;
  padding: 0.15rem 0.5rem;
  margin-left: 0.4rem;
  vertical-align: middle;
}
.vote-btn-chef {
  border-color: #d4a800 !important;
  box-shadow: 0 0 8px #d4a80044;
}
