.cc-player-wrap { gap: 18px; }
.cc-player-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cc-player-card { overflow: hidden; }
.cc-home-card-wide.cc-player-card { overflow: visible; }
.cc-player-statline { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08); }
.cc-player-statline:last-child { border-bottom: 0; padding-bottom: 0; }
.cc-player-bestcards { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-top: 12px; }
.cc-player-bestcard { padding: 14px 16px; border-radius: 16px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.10); }
.cc-player-bestcard strong, .cc-player-bestcard span { display: block; }
.cc-player-bestcard span { margin-top: 6px; opacity: .88; }
.cc-ranking-ribbon { margin: 4px 0 10px; }
.cc-ranking-switch-wrap { padding: 12px 14px; border-radius: 22px; background: linear-gradient(180deg, rgba(11, 21, 39, 0.95) 0%, rgba(19, 31, 54, 0.88) 100%); border: 1px solid rgba(255,255,255,0.08); box-shadow: 0 18px 34px rgba(0,0,0,.18); }
.cc-profile-panel { margin-top: 12px; }
.cc-profile-details dt { width: 34%; }
.cc-profile-details dd { width: 66%; }
.cc-mini-profile { margin-top: 6px; font-size: .92em; line-height: 1.45; }
.cc-mini-profile dt { font-weight: 700; color: #7f9dbd; }
.cc-mini-profile dd { margin: 0 0 6px; }
@media (max-width: 900px) { .cc-player-grid { grid-template-columns: 1fr; } }

.cc-champion-badge { margin: 0 0 12px; padding: 10px 12px; border-radius: 14px; background: linear-gradient(135deg, rgba(255,215,87,.18), rgba(255,255,255,.07)); border: 1px solid rgba(255,215,87,.34); }
.cc-champion-badge strong { display: block; margin-bottom: 4px; color: #ffd54f; }
.cc-champion-badge span { opacity: .9; }
.cc-champion-badge-mini { display: inline-block; padding: 6px 8px; margin-bottom: 6px; }


/* Mini bloc CityCards sous le message, juste avant la ligne de modification */
.cc-post-citycards-meta {
  margin: 12px 0 8px;
  padding: 12px 14px;
  border: 1px solid rgba(50, 85, 120, 0.18);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(245,249,253,0.98) 100%);
  box-shadow: 0 8px 22px rgba(26, 54, 83, 0.08);
  color: #24384d;
}

.cc-post-citycards-champion {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(255, 230, 163, 0.38), rgba(255, 248, 225, 0.9));
  border: 1px solid rgba(208, 160, 47, 0.28);
}

.cc-post-citycards-champion__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, #fff7d8 0%, #ffd463 58%, #e6a90f 100%);
  box-shadow: 0 0 0 4px rgba(255, 214, 99, 0.18);
  animation: ccChampionPulse 1.9s ease-in-out infinite;
}

.cc-post-citycards-champion__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cc-post-citycards-champion__text strong {
  color: #8a6310;
}

.cc-post-citycards-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.cc-post-citycards-card {
  min-width: 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(72, 112, 150, 0.14);
}

.cc-post-citycards-label {
  display: block;
  margin-bottom: 6px;
  font-size: 0.86em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: #557391;
}

.cc-post-citycards-rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 74px;
  padding: 6px 12px;
  border-radius: 999px;
  font-weight: 700;
}

.cc-post-citycards-rank--gold {
  color: #7b5900;
  background: linear-gradient(135deg, #ffe08a, #fff6d2);
  border: 1px solid rgba(196, 146, 0, 0.26);
}

.cc-post-citycards-rank--silver {
  color: #4b5b6c;
  background: linear-gradient(135deg, #e9eef5, #fbfdff);
  border: 1px solid rgba(118, 136, 155, 0.24);
}

.cc-post-citycards-rank--bronze {
  color: #7b4a22;
  background: linear-gradient(135deg, #ebc2a0, #fff0e2);
  border: 1px solid rgba(163, 96, 38, 0.24);
}

.cc-post-citycards-rank--standard {
  color: #2d4f70;
  background: linear-gradient(135deg, #e7f1fb, #f9fcff);
  border: 1px solid rgba(74, 116, 156, 0.18);
}

.cc-post-citycards-progress__value {
  display: inline-block;
  margin-bottom: 8px;
  font-weight: 700;
  color: #214d73;
}

.cc-post-citycards-progress {
  display: block;
  overflow: hidden;
  height: 10px;
  border-radius: 999px;
  background: rgba(44, 88, 129, 0.10);
}

.cc-post-citycards-progress__bar {
  display: block;
  height: 100%;
  min-width: 10px;
  border-radius: inherit;
  background: linear-gradient(90deg, #76b8ff 0%, #4e7cff 55%, #87e2bc 100%);
  box-shadow: 0 0 12px rgba(78, 124, 255, 0.20);
  animation: ccProgressGrow 1.1s ease-out;
}

.cc-post-citycards-text {
  display: block;
  line-height: 1.5;
}

.cc-post-citycards-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, #2f80ed, #5aa7ff);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(47, 128, 237, 0.18);
}

.cc-post-citycards-button:hover,
.cc-post-citycards-button:focus {
  color: #fff;
  text-decoration: none;
  transform: translateY(-1px);
}

.cc-post-citycards-hovercard {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.cc-post-citycards-hovercard__trigger {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: linear-gradient(135deg, #eef6ff, #ffffff);
  border: 1px solid rgba(72, 112, 150, 0.18);
  font-weight: 700;
  color: #214d73;
  cursor: default;
}

.cc-post-citycards-hovercard__preview {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  z-index: 20;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 10px) scale(.94);
  transform-origin: 50% 100%;
  will-change: opacity, transform;
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease;
}

.cc-post-citycards-hovercard:hover .cc-post-citycards-hovercard__preview,
.cc-post-citycards-hovercard:focus-within .cc-post-citycards-hovercard__preview {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0) scale(1);
}


.cc-post-citycards-mini{
  display:block;
  padding:10px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(240,247,255,.98));
  border:1px solid rgba(105,132,166,.24);
  box-shadow:0 18px 40px rgba(0,0,0,.20);
}

.cc-post-citycards-mini::before{
  content:'';
  position:absolute;
  left:50%;
  top:-8px;
  width:14px;
  height:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(240,247,255,.98));
  border-left:1px solid rgba(105,132,166,.24);
  border-top:1px solid rgba(105,132,166,.24);
  transform:translateX(-50%) rotate(45deg);
}

.cc-post-citycards-mini__inner{
  position:relative;
  display:block;
  width:198px;
  aspect-ratio:188/220;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg,#f7fbff 0%,#edf3ff 100%);
  box-shadow:0 12px 24px rgba(0,0,0,.12);
}

.cc-post-citycards-mini__art{
  position:absolute;
  top:18%;
  left:8%;
  width:84%;
  height:54%;
  border-radius:12px;
  overflow:hidden;
  background:#f6f8fc;
  box-shadow:0 8px 18px rgba(0,0,0,.10);
}

.cc-post-citycards-mini__art img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.cc-post-citycards-mini__el{
  position:absolute;
  top:15%;
  left:4%;
  padding:2px 9px;
  min-height:8%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.98);
  color:#314762;
  border:1px solid rgba(84,112,145,.20);
  font-size:10px;
  font-weight:800;
  z-index:4;
}

.cc-post-citycards-mini__dir{
  position:absolute;
  z-index:3;
  min-width:27%;
  min-height:10.5%;
  padding:2px 5px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(76,105,140,.20);
  color:#42536a;
  font-size:10px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  box-shadow:0 3px 10px rgba(0,0,0,.06);
}

.cc-post-citycards-mini__dir strong{
  font-size:13px;
  color:#0f2740;
  margin-left:0;
}

.cc-post-citycards-mini__dir-n{top:2%;left:36.5%;}
.cc-post-citycards-mini__dir-ne{top:2%;right:2%;}
.cc-post-citycards-mini__dir-e{top:44%;right:1.5%;}
.cc-post-citycards-mini__dir-se{bottom:2%;right:2%;}
.cc-post-citycards-mini__dir-s{bottom:2%;left:36.5%;}
.cc-post-citycards-mini__dir-sw{bottom:2%;left:2%;}
.cc-post-citycards-mini__dir-w{top:44%;left:1.5%;}
.cc-post-citycards-mini__dir-nw{top:2%;left:2%;}

.cc-post-citycards-mini__name{
  position:absolute;
  left:4%;
  right:4%;
  bottom:15%;
  min-height:10%;
  padding:3px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(15,39,64,.90);
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-align:center;
  line-height:1.1;
  z-index:4;
}

@keyframes ccChampionPulse {
  0%, 100% { transform: scale(1); box-shadow: 0 0 0 4px rgba(255, 214, 99, 0.18); }
  50% { transform: scale(1.08); box-shadow: 0 0 0 8px rgba(255, 214, 99, 0.10); }
}

@keyframes ccProgressGrow {
  from { width: 0; }
}

@media (max-width: 700px) {
  .cc-post-citycards-grid {
    grid-template-columns: 1fr;
  }

  .cc-post-citycards-hovercard__preview {
    left: 50%;
    transform: translate(-50%, 8px);
  }

  .cc-post-citycards-hovercard:hover .cc-post-citycards-hovercard__preview,
  .cc-post-citycards-hovercard:focus-within .cc-post-citycards-hovercard__preview {
    transform: translate(-50%, 0) scale(1);
  }

  .cc-post-citycards-mini__inner {
    width: min(198px, calc(100vw - 64px));
  }
}


/* Meilleures cartes : aperçu hover */
.cc-player-bestcards{
  display:grid;
  gap:12px;
  overflow:visible;
}

.cc-player-bestcard{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(148,163,184,.24);
  overflow:visible;
  z-index:1;
}

.cc-player-bestcard:hover,
.cc-player-bestcard:focus-within{
  z-index:40;
}

.cc-player-bestcard__text{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.cc-player-bestcard__text strong{
  color:#16304a;
}

.cc-player-bestcard__text span{
  color:#5b6b82;
}

.cc-player-bestcard__hover{
  position:absolute;
  left:50%;
  top:100%;
  z-index:60;
  width:220px;
  max-width:min(220px, calc(100vw - 32px));
  margin-top:12px;
  transform:translate(-50%, 10px) scale(.94);
  transform-origin:50% 0%;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  will-change:opacity, transform;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;
}

.cc-player-bestcard:hover .cc-player-bestcard__hover,
.cc-player-bestcard:focus-within .cc-player-bestcard__hover{
  opacity:1;
  visibility:visible;
  transform:translate(-50%, 0) scale(1);
}

.cc-player-bestmini{
  position:relative;
  padding:10px;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(240,247,255,.98));
  border:1px solid rgba(105,132,166,.24);
  box-shadow:0 18px 40px rgba(0,0,0,.20);
}

.cc-player-bestmini::before{
  content:'';
  position:absolute;
  left:50%;
  top:-8px;
  width:14px;
  height:14px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(240,247,255,.98));
  border-left:1px solid rgba(105,132,166,.24);
  border-top:1px solid rgba(105,132,166,.24);
  transform:translateX(-50%) rotate(45deg);
}

.cc-player-bestmini__inner{
  position:relative;
  display:block;
  width:198px;
  aspect-ratio:188/220;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg,#f7fbff 0%,#edf3ff 100%);
  box-shadow:0 12px 24px rgba(0,0,0,.12);
}

.cc-player-bestmini__art{
  position:absolute;
  top:18%;
  left:8%;
  width:84%;
  height:54%;
  border-radius:12px;
  overflow:hidden;
  background:#f6f8fc;
  box-shadow:0 8px 18px rgba(0,0,0,.10);
}

.cc-player-bestmini__art img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.cc-player-bestmini__el{
  position:absolute;
  top:15%;
  left:4%;
  padding:2px 9px;
  min-height:8%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.98);
  color:#314762;
  border:1px solid rgba(84,112,145,.20);
  font-size:10px;
  font-weight:800;
  z-index:4;
}

.cc-player-bestmini__dir{
  position:absolute;
  z-index:3;
  min-width:27%;
  min-height:10.5%;
  padding:2px 5px;
  border-radius:999px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(76,105,140,.20);
  color:#42536a;
  font-size:10px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  box-shadow:0 3px 10px rgba(0,0,0,.06);
}

.cc-player-bestmini__dir strong{
  font-size:13px;
  color:#0f2740;
  margin-left:0;
}

.cc-player-bestmini__dir-n{top:2%;left:36.5%;}
.cc-player-bestmini__dir-ne{top:2%;right:2%;}
.cc-player-bestmini__dir-e{top:44%;right:1.5%;}
.cc-player-bestmini__dir-se{bottom:2%;right:2%;}
.cc-player-bestmini__dir-s{bottom:2%;left:36.5%;}
.cc-player-bestmini__dir-sw{bottom:2%;left:2%;}
.cc-player-bestmini__dir-w{top:44%;left:1.5%;}
.cc-player-bestmini__dir-nw{top:2%;left:2%;}

.cc-player-bestmini__name{
  position:absolute;
  left:4%;
  right:4%;
  bottom:15%;
  min-height:10%;
  padding:3px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(15,39,64,.90);
  color:#fff;
  font-size:11px;
  font-weight:900;
  text-align:center;
  line-height:1.1;
  z-index:4;
}

@media (max-width: 700px){
  .cc-player-bestcard__hover{
    width:min(220px, calc(100vw - 40px));
  }

  .cc-player-bestmini__inner{
    width:100%;
  }
}

.cc-player-badges-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 12px;
}

.cc-player-badge-item,
.cc-post-citycards-badge-item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(241,247,255,.96));
  border: 1px solid rgba(89, 125, 164, 0.18);
}

.cc-player-badge-item__img,
.cc-post-citycards-badge-item__img {
  width: 54px;
  height: 54px;
  border-radius: 12px;
  object-fit: contain;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(101, 131, 166, 0.16);
  box-shadow: 0 8px 18px rgba(34, 73, 110, 0.10);
}

.cc-player-badge-item__text,
.cc-post-citycards-badge-item__text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.cc-player-badge-item__text strong,
.cc-post-citycards-badge-item__text strong {
  color: #214d73;
}

.cc-player-badge-item__text span,
.cc-post-citycards-badge-item__text span {
  color: #355d81;
}

.cc-player-badge-item__text small,
.cc-post-citycards-badge-item__text small {
  color: #5d7892;
}

.cc-post-citycards-card--badges {
  grid-column: 1 / -1;
}

.cc-post-citycards-badges-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

@media (max-width: 900px) {
  .cc-player-badges-row,
  .cc-post-citycards-badges-row {
    grid-template-columns: 1fr;
  }
}
