#comparateur-canaries {
      --cc-bleu: #075985;
      --cc-bleu-clair: #e0f2fe;
      --cc-turquoise: #0f766e;
      --cc-jaune: #f59e0b;
      --cc-encre: #172033;
      --cc-gris: #64748b;
      --cc-bordure: #dbe5ee;
      max-width: 1180px;
      max-height: 1900px;
      margin: 32px auto;
      overflow: auto;
      color: var(--cc-encre);
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      border: 1px solid #dbeafe;
      border-radius: 28px;
      background:
        radial-gradient(circle at 0 0, rgba(14, 165, 233, .14), transparent 34%),
        radial-gradient(circle at 100% 0, rgba(245, 158, 11, .12), transparent 30%),
        #fff;
      box-shadow: 0 22px 60px rgba(15, 23, 42, .11);
    }

    #comparateur-canaries * {
      box-sizing: border-box;
    }

    #comparateur-canaries button,
    #comparateur-canaries select {
      font: inherit;
    }

    #comparateur-canaries button:focus-visible,
    #comparateur-canaries select:focus-visible {
      outline: 3px solid rgba(14, 165, 233, .35);
      outline-offset: 2px;
    }

    .cc-entete {
      padding: 28px 28px 22px;
      border-bottom: 1px solid rgba(219, 229, 238, .9);
    }

    .cc-sur-titre {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 10px;
      padding: 7px 11px;
      color: #075985;
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
      background: rgba(224, 242, 254, .9);
      border-radius: 999px;
    }

    .cc-sur-titre::before {
      width: 8px;
      height: 8px;
      content: "";
      background: #0ea5e9;
      border-radius: 50%;
      box-shadow: 0 0 0 5px rgba(14, 165, 233, .12);
    }

    .cc-titre {
      max-width: 820px;
      margin: 0;
      color: #0f172a;
      font-size: clamp(25px, 4vw, 42px);
      font-weight: 850;
      line-height: 1.08;
      letter-spacing: -.035em;
    }

    .cc-introduction {
      max-width: 850px;
      margin: 13px 0 0;
      color: #526177;
      font-size: 15px;
      line-height: 1.65;
    }

    .cc-commandes {
      display: grid;
      grid-template-columns: minmax(0, 1.45fr) minmax(210px, .55fr);
      gap: 18px;
      padding: 22px 28px;
      background: rgba(248, 250, 252, .7);
      border-bottom: 1px solid var(--cc-bordure);
    }

    .cc-groupe {
      min-width: 0;
    }

    .cc-libelle {
      display: block;
      margin-bottom: 9px;
      color: #334155;
      font-size: 13px;
      font-weight: 800;
    }

    .cc-saisons {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }

    .cc-saison {
      min-height: 46px;
      padding: 9px 8px;
      color: #334155;
      font-size: 13px;
      font-weight: 750;
      line-height: 1.2;
      background: #fff;
      border: 1px solid var(--cc-bordure);
      border-radius: 13px;
      cursor: pointer;
      transition: transform .18s ease, border-color .18s ease, background .18s ease;
    }

    .cc-saison:hover {
      transform: translateY(-1px);
      border-color: #7dd3fc;
    }

    .cc-saison[aria-pressed="true"] {
      color: #fff;
      background: linear-gradient(135deg, #0369a1, #0f766e);
      border-color: transparent;
      box-shadow: 0 8px 20px rgba(3, 105, 161, .2);
    }

    .cc-select {
      width: 100%;
      min-height: 46px;
      padding: 0 39px 0 13px;
      color: #263449;
      font-weight: 700;
      background: #fff;
      border: 1px solid var(--cc-bordure);
      border-radius: 13px;
      cursor: pointer;
    }

    .cc-iles-zone {
      padding: 20px 28px;
      border-bottom: 1px solid var(--cc-bordure);
    }

    .cc-iles-haut {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 15px;
      margin-bottom: 11px;
    }

    .cc-compteur {
      color: #64748b;
      font-size: 12px;
      font-weight: 700;
    }

    .cc-iles {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .cc-ile {
      padding: 9px 13px;
      color: #475569;
      font-size: 13px;
      font-weight: 750;
      background: #fff;
      border: 1px solid var(--cc-bordure);
      border-radius: 999px;
      cursor: pointer;
      transition: all .18s ease;
    }

    .cc-ile:hover {
      color: #0369a1;
      border-color: #7dd3fc;
    }

    .cc-ile[aria-pressed="true"] {
      color: #075985;
      background: #e0f2fe;
      border-color: #38bdf8;
      box-shadow: inset 0 0 0 1px rgba(56, 189, 248, .15);
    }

    .cc-ile[aria-pressed="true"]::before {
      margin-right: 6px;
      content: "✓";
      font-weight: 900;
    }

    .cc-synthese {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(120px, .45fr));
      gap: 12px;
      padding: 20px 28px;
    }

    .cc-recommandation,
    .cc-indicateur {
      min-height: 98px;
      padding: 17px;
      border-radius: 18px;
    }

    .cc-recommandation {
      color: #fff;
      background: linear-gradient(135deg, #075985, #0f766e);
      box-shadow: 0 13px 28px rgba(15, 118, 110, .18);
    }

    .cc-mini-libelle {
      display: block;
      margin-bottom: 6px;
      font-size: 11px;
      font-weight: 850;
      letter-spacing: .08em;
      text-transform: uppercase;
      opacity: .78;
    }

    .cc-meilleur {
      display: block;
      font-size: 22px;
      font-weight: 850;
      line-height: 1.15;
    }

    .cc-raison {
      display: block;
      margin-top: 7px;
      font-size: 12px;
      line-height: 1.4;
      opacity: .86;
    }

    .cc-indicateur {
      background: #f8fafc;
      border: 1px solid var(--cc-bordure);
    }

    .cc-indicateur strong {
      display: block;
      margin-top: 8px;
      color: #0f172a;
      font-size: 20px;
      line-height: 1.1;
    }

    .cc-table-zone {
      margin: 0 28px;
      overflow: auto;
      border: 1px solid var(--cc-bordure);
      border-radius: 19px;
      background: #fff;
    }

    .cc-table {
      width: 100%;
      min-width: 1010px;
      border-collapse: separate;
      border-spacing: 0;
      font-size: 13px;
    }

    .cc-table caption {
      position: absolute;
      width: 1px;
      height: 1px;
      overflow: hidden;
      clip: rect(0 0 0 0);
      white-space: nowrap;
    }

    .cc-table th {
      position: sticky;
      top: 0;
      z-index: 3;
      padding: 13px 11px;
      color: #475569;
      font-size: 11px;
      font-weight: 850;
      letter-spacing: .045em;
      text-align: left;
      text-transform: uppercase;
      white-space: nowrap;
      background: #f8fafc;
      border-bottom: 1px solid var(--cc-bordure);
    }

    .cc-table th:first-child {
      left: 0;
      z-index: 4;
    }

    .cc-tri {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      color: inherit;
      font: inherit;
      text-transform: inherit;
      background: transparent;
      border: 0;
      cursor: pointer;
    }

    .cc-tri::after {
      color: #94a3b8;
      content: "↕";
      font-size: 13px;
    }

    .cc-tri[data-direction="croissant"]::after {
      color: #0284c7;
      content: "↑";
    }

    .cc-tri[data-direction="decroissant"]::after {
      color: #0284c7;
      content: "↓";
    }

    .cc-table td {
      padding: 15px 11px;
      vertical-align: middle;
      border-bottom: 1px solid #edf2f7;
    }

    .cc-table tbody tr:last-child td {
      border-bottom: 0;
    }

    .cc-table tbody tr {
      transition: background .18s ease;
    }

    .cc-table tbody tr:hover td {
      background: #f8fcff;
    }

    .cc-table tbody tr.cc-premier td {
      background: #f0fdfa;
    }

    .cc-table tbody tr.cc-premier:hover td {
      background: #e7faf6;
    }

    .cc-table td:first-child {
      position: sticky;
      left: 0;
      z-index: 2;
      min-width: 148px;
      background: #fff;
      box-shadow: 8px 0 15px -16px #0f172a;
    }

    .cc-table tbody tr.cc-premier td:first-child {
      background: #f0fdfa;
    }

    .cc-nom-ile {
      display: block;
      color: #0f172a;
      font-size: 14px;
      font-weight: 850;
    }

    .cc-badge-choix {
      display: inline-block;
      margin-top: 5px;
      padding: 4px 7px;
      color: #0f766e;
      font-size: 9px;
      font-weight: 900;
      letter-spacing: .06em;
      text-transform: uppercase;
      background: #ccfbf1;
      border-radius: 999px;
    }

    .cc-valeur {
      display: block;
      color: #1e293b;
      font-size: 14px;
      font-weight: 800;
      white-space: nowrap;
    }

    .cc-detail {
      display: block;
      margin-top: 3px;
      color: #718096;
      font-size: 10px;
      white-space: nowrap;
    }

    .cc-niveau {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 6px 8px;
      color: #334155;
      font-size: 11px;
      font-weight: 800;
      white-space: nowrap;
      background: #f1f5f9;
      border-radius: 999px;
    }

    .cc-niveau::before {
      width: 7px;
      height: 7px;
      content: "";
      background: var(--niveau-couleur, #94a3b8);
      border-radius: 50%;
    }

    .cc-activites {
      max-width: 230px;
      color: #46566c;
      font-size: 12px;
      line-height: 1.5;
    }

    .cc-score {
      min-width: 82px;
    }

    .cc-score-haut {
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 6px;
      margin-bottom: 6px;
    }

    .cc-score-haut strong {
      color: #075985;
      font-size: 16px;
    }

    .cc-score-haut span {
      color: #94a3b8;
      font-size: 10px;
    }

    .cc-jauge {
      width: 74px;
      height: 6px;
      overflow: hidden;
      background: #e2e8f0;
      border-radius: 999px;
    }

    .cc-jauge span {
      display: block;
      height: 100%;
      background: linear-gradient(90deg, #38bdf8, #0f766e);
      border-radius: inherit;
    }

    .cc-pied {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 20px;
      padding: 18px 28px 26px;
    }

    .cc-note {
      max-width: 760px;
      margin: 0;
      color: #64748b;
      font-size: 11px;
      line-height: 1.55;
    }

    .cc-reinitialiser {
      flex: 0 0 auto;
      padding: 9px 12px;
      color: #075985;
      font-size: 12px;
      font-weight: 800;
      background: #f0f9ff;
      border: 1px solid #bae6fd;
      border-radius: 11px;
      cursor: pointer;
    }

    .cc-vide {
      padding: 35px !important;
      color: #64748b;
      text-align: center;
    }

    @media (max-width: 780px) {
      #comparateur-canaries {
        margin: 20px 0;
        border-radius: 20px;
      }

      .cc-entete,
      .cc-commandes,
      .cc-iles-zone,
      .cc-synthese,
      .cc-pied {
        padding-left: 18px;
        padding-right: 18px;
      }

      .cc-commandes {
        grid-template-columns: 1fr;
      }

      .cc-synthese {
        grid-template-columns: repeat(3, 1fr);
      }

      .cc-recommandation {
        grid-column: 1 / -1;
      }

      .cc-table-zone {
        margin: 0 18px;
      }
    }

    @media (max-width: 520px) {
      .cc-entete {
        padding-top: 22px;
      }

      .cc-saisons {
        grid-template-columns: repeat(2, 1fr);
      }

      .cc-synthese {
        grid-template-columns: 1fr;
      }

      .cc-recommandation {
        grid-column: auto;
      }

      .cc-indicateur {
        min-height: 78px;
      }

      .cc-pied {
        flex-direction: column;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      #comparateur-canaries *,
      #comparateur-canaries *::before,
      #comparateur-canaries *::after {
        scroll-behavior: auto !important;
        transition: none !important;
      }
    }
