.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-progress-wrap { gap: 18px; }
.cc-progress-hero .inner { max-width: 1180px; }
.cc-progress-current { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cc-progress-card { display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 18px; align-items: center; }
.cc-progress-card__badge { display: flex; align-items: center; justify-content: center; min-height: 130px; border-radius: 18px; background: linear-gradient(135deg, rgba(51,154,240,.14), rgba(149,82,255,.10)); border: 1px solid rgba(72,139,220,.20); }
.cc-progress-card__badge img { display: block; max-width: 106px; max-height: 106px; object-fit: contain; filter: drop-shadow(0 12px 18px rgba(0,0,0,.18)); }
.cc-progress-card__body h2 { margin: 4px 0 8px; font-size: 30px; line-height: 1.05; }
.cc-progress-card__body p { margin: 0 0 12px; color: #63738d; font-weight: 800; }
.cc-progress-meter { display: block; overflow: hidden; height: 14px; border-radius: 999px; background: rgba(42,88,132,.12); border: 1px solid rgba(55,112,170,.14); }
.cc-progress-meter span { display: block; height: 100%; min-width: 8px; border-radius: inherit; background: linear-gradient(90deg, #34d399, #38bdf8 52%, #8b5cf6); box-shadow: 0 0 18px rgba(56,189,248,.28); }
.cc-progress-next { display: inline-block; margin-top: 10px; color: #24405f; }
.cc-progress-tiers-card { overflow: hidden; }
.cc-progress-tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; max-height: 520px; overflow: auto; padding: 4px 4px 8px; }
.cc-progress-tier { padding: 12px 14px; border-radius: 14px; background: rgba(255,255,255,.72); border: 1px solid rgba(74,116,156,.14); box-shadow: 0 8px 18px rgba(33,77,115,.06); }
.cc-progress-tier strong, .cc-progress-tier span, .cc-progress-tier em { display: block; }
.cc-progress-tier strong { margin-bottom: 6px; color: #24384d; font-size: 16px; }
.cc-progress-tier span { color: #5f6f86; line-height: 1.35; }
.cc-progress-tier em { margin-top: 8px; color: #7c3aed; font-style: normal; font-weight: 800; }

@media (max-width: 900px) {
  .cc-progress-current { grid-template-columns: 1fr; }
  .cc-progress-card { grid-template-columns: 96px minmax(0, 1fr); }
  .cc-progress-card__badge { min-height: 104px; }
  .cc-progress-card__badge img { max-width: 84px; max-height: 84px; }
  .cc-progress-card__body h2 { font-size: 24px; }
}

.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;
  }
}
