/* Wrapper générique */
.json-scroll-x {
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  -webkit-overflow-scrolling: touch;
  border-radius: 0.25rem;
}

.json-table {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: 900px;
}

.color-sector {
  color: #e9500e !important;
}

.json-table th,
.json-table td {
  white-space: nowrap;
  vertical-align: middle;
}

.text-end {
  text-align: right;
}

/* Figer 1ère colonne si demandé */
/* .freeze-first-1 thead th:first-child,
.freeze-first-1 tbody td:first-child {
  position: sticky;
  left: 0;
  background: #fff;
  z-index: 1;
  box-shadow: 4px 0 0 rgba(0, 0, 0, .03);
} */

.freeze-first-1 thead th:first-child {
  z-index: 2;
}

/* Tuiles */
/* .index-tile {
  position: relative;
  background: #f8f9fb;
  border-radius: 4px;
  padding: 10px 16px 12px;
  border-top: 4px solid #E9500E;
} */

.index-tile .tile-row {
  display: grid;
  grid-template-columns: 1fr 1fr 2fr;
  gap: 10px;
  align-items: start;
}

.index-tile .name {
  font-weight: 700;
  letter-spacing: 0.2px;
  font-family: Helvetica;
  color: #09244b;
  font-size: 15px;
}

.index-tile .current {
  font-size: 1.15rem;
  font-weight: 700;
  margin-top: 2px;
  /* font-size: 14px; */
  color: #09244b;
  font-family: Helvetica;
}

.index-tile .muted {
  color: #09244b;
  font-size: 14px;
  font-weight: 400;
}

.index-tile .v {
  font-weight: 700;
  margin-left: 0.35rem;
  font-size: 16px;
}

.index-tile .v.pos {
  color: #24be58;
}

.index-tile .v.neg {
  color: #ff0000;
}

.index-tile .block {
  display: flex;
  flex-direction: column;
}

.index-tile .mini {
  display: flex;
  flex-direction: column;
  gap: 2px;
  justify-content: space-around;
  text-align: center;
}

.index-tile .mini .val {
  font-weight: 700;
  line-height: 1.1;
}

.index-tile .mini small {
  color: #09244b;
  font-size: 14px;
  line-height: 1;
}

@media (max-width: 640px) {
  .index-tile .tile-row {
    grid-template-columns: 1fr;
  }
}

/* Variante compacte pour la tuile marché global */
.market-global-tile {
  border-top-color: #0b254b;
  /* bleu */
}

.market-global-tile .tile-row {
  grid-template-columns: 1.2fr 1fr 0.6fr;
  /* un peu plus compacte */
}

/* Barre de stats marché */
.market-stats-tile {
  border-top-color: #e9500e;
}

/* .market-stats-tile .stats-line {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
  padding-top: 6px;
  border-top: 3px solid #E9500E;
} */

.market-stats-tile .stat-block {
  display: flex;
  align-items: center;
  flex-direction: column;
}

.market-stats-tile .label {
  color: #0b254b;
  font-weight: 400;
  font-size: 12px;
  font-family: Helvetica;
}

/* Pastilles */
.stat-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 40px;
  padding: 6px 10px;
  border-radius: 15px;
  color: #fff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  height: 30px;
  font-family: "DM Sans", sans-serif;
  text-align: center;
  justify-content: center;
  margin-top: 15px;
}
.stats-line {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.stat-chip .ic {
  font-size: 12px;
  opacity: 0.9;
}

.chip-up {
  background: #24be58;
}

/* vert */
.chip-down {
  background: #ff0000;
}

/* rouge */
.chip-flat {
  background: #0f274a;
}

/* bleu nuit */
.chip-nc {
  background: #7f858a;
}

/* gris */
.chip-susp {
  background: #e9500e;
}

/* orange */

.market-stats-tile .total-note {
  margin-top: 8px;
  font-size: 12px;
  color: #6c757d;
}

.cap-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  overflow: hidden;
  color: #09244b;
}

.cap-table thead th {
  background: #0b254b;
  color: #fff;
  padding: 10px 14px;
  font-weight: 700;
}

.cap-table thead th + th {
  border-left: 2px solid #fff;
}

.cap-table td {
  border-top: 1px solid #bbc2c6cc;
  vertical-align: middle;
  padding: 5px;
  font-family: Helvetica;
  font-size: 15px;
}

.cap-table .row-total td {
  background: #f3f4f6;
  font-weight: 700;
  padding: 5px;
}

.cap-right .cum {
  font-weight: 700;
}

.cap-right .var {
  font-size: 0.95em;
}

.dash-card {
  padding: 0 10px;
}
.hitorique-market-watch .bggris {
  border-top: 3px solid #f74d40;
  background: #f3f3f3;
  padding: 15px;
  overflow: hidden;
  min-height: 130px;
}
.hitorique-market-watch  .row.g-3.align-items-stretch.mb-4 .bggris {
  min-height: 90px;
}
.dash-title {
  font-weight: 700;
  font-size: 1rem;
  margin: 0 0 0.5rem;
}

.dash-stack > .dash-card + .dash-card {
  margin-top: 12px;
}

.dash-tight .dash-card {
  padding: 0;
  overflow: hidden;
}

.dash-tight .cap-table,
.dash-tight .capitaux-card {
  border: 0;
  border-radius: 0;
  text-align: center;
}

.indices-card-803x521 .json-scroll-x {
  --minw: 900px;
}

/* .mp-wrap {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  overflow: hidden
} */

.mp-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.mp-table thead th {
  background: #0b254b;
  color: #fff;
  padding: 10px 12px;
  font-weight: 700;
  border-bottom: 3px solid #e9500e;
}

.mp-table td {
  padding: 10px 12px;
  border-top: 1px solid #edf0f3;
  vertical-align: middle;
}

.mp-table .text-end {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.capitaux-header {
  background: #0b254b;
  color: #fff;
  font-weight: 700;
  padding: 10px 14px;
}

.capitaux-subheader {
  display: grid;
  grid-template-columns: 1fr 160px;
  gap: 12px;
  padding: 8px 14px;
  border-bottom: 1px solid #eee;
  background: #f7f8fb;
  font-weight: 600;
}

.capitaux-subheader .c2 {
  text-align: right;
}

.capitaux-body {
  padding: 8px 14px;
}

.cap-row {
  display: grid;
  grid-template-columns: 1fr 160px 160px;
  gap: 12px;
  align-items: center;
  padding: 6px 0;
}

.cap-row .val,
.var {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.cap-row.total {
  background: #f3f4f6;
  border-radius: 4px;
  padding: 8px 10px;
  margin-bottom: 6px;
}

.capitaux-body .sep {
  border: none;
  border-top: 1px solid #eee;
  margin: 6px 0;
}

.text-success {
  color: #24be58;
}

.text-danger {
  color: #ff0000;
}

.text-muted {
  color: #6b7280;
}

@media (max-width: 640px) {
  .cap-row,
  .capitaux-subheader {
    grid-template-columns: 1fr 120px 120px;
  }
}

.mrk-table .mrk-sort-btn {
  text-decoration: none;
  color: #0b1f3a;
}

.mrk-table .mrk-sort-btn .arrow {
  font-weight: 700;
}

.boxfiltre-his {
  padding: 0 10px;
}

.actions-historique {
  justify-content: flex-end;
  align-items: center;
}

.boxfiltre-historique-market {
  background: #f9f9f9;
  border-radius: 10px;
  padding: 20px;
  margin: 0 0 25px;
  gap: 1rem;
}

.actions-historique .button-marketwatch {
  margin-top: 25px;
}

.actions-historique input#edit-reset--2 {
  margin-top: 25px;
}

.tabs-about.hitorique-market-watch .nav li a {
  font-size: 14px;
}

.tabs-about.hitorique-market-watch .nav.border-top.nav-tabs-historique {
  margin: 35px 0 25px;
}
.js-market-global .index-tile .tile-row {
  display: grid;
  grid-template-columns: 2fr 2fr;
  gap: 10px;
  align-items: start;
}
.index-tile .block > div.cap-boursiere {
  display: flex;
  align-items: center;
  font-family: Helvetica;
  color: #09244b;
  font-size: 14px;
  margin-top: 8px;
}
.mp-wrap .table-marche {
  width: 100%;
}
.box-tunidex {
  display: flex;
  flex-direction: column;
}
.mp-wrap .table-marche tr th {
  font-weight: 700;
  margin-top: 0;
  font-size: 14px;
  color: #09244b;
  font-family: Helvetica;
  height: 50px;
  padding: 0 5px;
  margin: 0;
  vertical-align: top;
}

.mp-wrap .table-marche tr td {
  font-weight: 700;
  margin-top: 0;
  font-size: 14px;
  color: #09244b;
  font-family: Helvetica;
  padding-top: 6px;
}
.dash-tight .cap-table thead tr:first-child th,
.dash-tight .capitaux-card thead tr:first-child th {
  border-bottom: 3px solid #e9500e;
}

.dash-tight .cap-table tbody tr,
.dash-tight .capitaux-card tbody tr td {
  padding: 5px 0;
}

.cap-table td.cap-left .cum {
  font-weight: 700;
}
.dash-tight .dash-card {
  margin: 0 0 40px;
}
.right-historique {
  padding-left: 10px !important;
  padding-right: 0 !important;
}
.box-table-index .index-tile .block.block-row {
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-around;
  color: #09244b;
}
/* .index-tile .block.pl-3 {
    padding-left: 35px;
} */
.hitorique-market-watch table.json-table thead tr th {
  background: #f3f3f3;
  font-family: Helvetica;
  font-size: 14px;
  color: #09244b;
  font-weight: 700;
  padding: 10px;
  border-radius: 0;
}

.hitorique-market-watch table.json-table {
  border-top: 3px solid #e9500e;
  border-radius: 0;
}

.hitorique-market-watch table.json-table tbody tr td {
  font-family: Helvetica;
  font-size: 13px;
  color: #09244b;
  font-weight: 400;
  padding: 7px 10px;
  border-radius: 0;
}

.hitorique-market-watch table.json-table tbody tr td span {
  color: #09244b;
}
.bloc-variation-market #market-title {
  font-size: 16px;
  color: #09244b;
  font-weight: 700;
}
.bg-title-historique {
  background: #09244b;
  border-radius: 5px;
  padding: 10px 15px;
  font-family: "Lato", sans-serif;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 35px;
}

.section-historique table thead tr th {
  background: #f3f3f3;
  font-family: Helvetica;
  font-size: 13px;
  color: #09244b;
  font-weight: 700;
  padding: 10px;
  border-radius: 0;
  border-bottom: 1px solid #bbc2c6;
}

.section-historique table {
  border-top: 3px solid #e9500e;
  border-radius: 0;
}
.section-historique table tbody tr td {
  font-family: Helvetica;
  font-size: 13px;
  color: #09244b;
  font-weight: 400;
  padding: 10px 5px;
  border-radius: 0;
}
.section-historique .card {
  height: 350px !important;
}
.pal-1,
.pal-2,
.pal-3,
.pal-4,
.pal-5,
.pal-6,
.pal-8,
.pal-9,
.pal-7,
.pal-10 {
  margin-bottom: 35px;
}
.section-historique table thead tr th button {
  color: #09244b;
  text-decoration: none;
  font-size: 14px;
}
.border-canvas {
  border: 1px solid #bbc2c6;
  border-radius: 6px;
  padding: 20px;
  min-height: 405px;
}
.canvas-height {
  height: 740px;
}
.js-monthly-activity-bar.border-canvas {
  height: 265px !important;
}
.border-height-pie {
  min-height: 445px;
}
.padding-left {
  padding-left: 60px;
}
.padding-right {
  padding-right: 40px;
}
.section-historique table tbody tr.table-light.fw-semibold td {
  font-weight: 700;
  background: #f3f3f3;
}
.boxtitle-historique {
  text-align: center;
}
.box-cote-left {
  padding-right: 30px;
}
.box-cote-right {
  padding-left: 30px;
}

/* KPI compact : labels bleu foncé, valeurs colorées, barres de régression */
.kpi.kpi-compact {
  font-family: Helvetica, sans-serif;
}

.kpi.kpi-compact .kpi-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.kpi.kpi-compact .kpi-row:last-child {
  margin-bottom: 0;
}

.kpi.kpi-compact .kpi-label {
  color: #09244b;
  font-size: 16px;
  font-weight: 400;
  flex-shrink: 0;
}

.kpi.kpi-compact .kpi-value {
  font-size: 14px;
  font-weight: 400;
  flex-shrink: 0;
}

.kpi.kpi-compact .kpi-value--green {
  color: #00b050;
}

.kpi.kpi-compact .kpi-value--orange {
  color: #e9500e;
}

.kpi.kpi-compact .kpi-bar-wrap {
  flex: 1;
  min-width: 60px;
  height: 6px;
  /* background: rgba(9, 36, 75, 0.1); */
  border-radius: 6px;
  overflow: hidden;
}

.kpi.kpi-compact .kpi-bar {
  height: 100%;
  border-radius: 2px;
  transition: width 0.3s ease;
}

.kpi.kpi-compact .kpi-bar--orange {
  background: #e9500e;
}

.kpi.kpi-compact .kpi-bar--blue {
  background: #09244b;
}

/* Légende pie : 2 clés par ligne en grille */
.pie-legend-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 24px;
  padding: 20px 0 0;
  margin-top: 10px;
  font-size: 13px;
  font-family: Helvetica, sans-serif;
  color: #183866;
}

.pie-legend-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pie-legend-swatch {
  flex-shrink: 0;
  width: 35px;
  height: 6px;
  border-radius: 1px;
}

.kpi-card {
  display: flex;
  align-items: center;
  gap: 20px;
  justify-content: space-between;
  min-height: 55px;
  width: 100%;
}

.kpi-card .kpi-value {
  background: #09244b1f;
  border-radius: 5px;
  padding: 10px;
  font-family: Helvetica;
  font-size: 16px;
  color: #09244b;
}

.kpi-card .kpi-title {
  font-family: Helvetica;
  font-size: 15px;
  color: #09244b;
  font-family: Helvetica, sans-serif;
}
.js-monthly-activity-bar {
  height: 500px !important;
}
.grayed {
  opacity: 0.4;
  pointer-events: none;
}
/* Fix disparition des lignes lors du scroll */
.json-scroll-x {
  position: relative;
  overflow-x: auto;
  overflow-y: visible !important; /* >>> Fix majeur <<< */
  -webkit-overflow-scrolling: touch;
}

/* Gèle la première colonne */
.freeze-first-1 table td:first-child,
.freeze-first-1 table th:first-child {
  position: sticky;
  left: 0;
  background: #fff; /* évite la transparence */
  z-index: 10; /* stable */
  border-right: 1px solid #ddd;
}

/* Pour éviter le “saut” vertical */
.freeze-first-1 table tr {
  position: relative;
  z-index: 1;
}

/* Empêche le z-index de sauter */
.freeze-first-1 table tbody tr:hover {
  z-index: 2;
}
.js-market-resume-secondary thead th {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}
.section-historique .text-success,
.cap-table .text-success {
  color: #00b050 !important;
}
.section-historique .text-danger,
.cap-table .text-danger {
  color: #ff0000 !important;
}
.js-market-resume .bg-title-historique {
  margin-top: 35px;
}
.actions-search input {
  background-color: rgba(10, 9, 75, 1);
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="white" viewBox="0 0 24 24"><path d="M10.4993 2C9.14387 2.00012 7.80814 2.32436 6.60353 2.94569C5.39893 3.56702 4.36037 4.46742 3.57451 5.57175C2.78866 6.67609 2.27829 7.95235 2.08599 9.29404C1.89368 10.6357 2.02503 12.004 2.46906 13.2846C2.91308 14.5652 3.65692 15.7211 4.63851 16.6557C5.6201 17.5904 6.81098 18.2768 8.11179 18.6576C9.4126 19.0384 10.7856 19.1026 12.1163 18.8449C13.447 18.5872 14.6967 18.015 15.7613 17.176L19.4133 20.828C19.6019 21.0102 19.8545 21.111 20.1167 21.1087C20.3789 21.1064 20.6297 21.0012 20.8151 20.8158C21.0005 20.6304 21.1057 20.3796 21.108 20.1174C21.1102 19.8552 21.0094 19.6026 20.8273 19.414L17.1753 15.762C18.1633 14.5086 18.7784 13.0024 18.9504 11.4157C19.1223 9.82905 18.8441 8.22602 18.1475 6.79009C17.4509 5.35417 16.3642 4.14336 15.0116 3.29623C13.659 2.44911 12.0952 1.99989 10.4993 2ZM3.99928 10.5C3.99928 8.77609 4.6841 7.12279 5.90308 5.90381C7.12207 4.68482 8.77537 4 10.4993 4C12.2232 4 13.8765 4.68482 15.0955 5.90381C16.3145 7.12279 16.9993 8.77609 16.9993 10.5C16.9993 12.2239 16.3145 13.8772 15.0955 15.0962C13.8765 16.3152 12.2232 17 10.4993 17C8.77537 17 7.12207 16.3152 5.90308 15.0962C4.6841 13.8772 3.99928 12.2239 3.99928 10.5Z"/></svg>');
  background-repeat: no-repeat;
  background-position: center;
  color: transparent;
  border: none;
  cursor: pointer;
  background-size: 1rem !important;
  width: 45px !important;
  height: 35px !important;
  border-radius: 5px !important;
  margin-top: 33px;
}
.actions-search input.js-mr-reset {
  border: 1px solid #0a094b;
  background: transparent;
  text-transform: uppercase;
  font-weight: 700;
  color: #0a094b;
  margin-left: 15px;
  border-radius: 5px;
  margin-top: 30px;
  font-family: Helvetica;
  font-size: 14px;
  padding: 6px 15px;
  width: auto !important;
  height: auto !important;
}
.dash-card.col-cap-26 {
  width: 26%;
}
.dash-card.col-cap-32 {
  width: 32.333%;
}
.js-market-global .index-tile .tile-row.title-row-cap {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.js-market-global .index-tile .tile-row.title-row-cap .block {
  flex-direction: row;
  align-items: center;
}

.js-market-global .index-tile .tile-row.title-row-cap .block.muted {
  flex-direction: column;
  align-items: flex-start;
}
.js-market-global .index-tile .tile-row.title-row-cap .current {
  margin-left: 10px;
  margin-top: 0;
}
/******************* Responsive *******************/
@media (max-width: 1640px) {
  .kpi.kpi-compact .kpi-label {
    font-size: 14px;
  }
  .kpi-card .kpi-title {
    font-size: 14px;
  }
  .kpi-card .kpi-title {
    font-size: 14px;
  }
  .kpi-card .kpi-value {
    font-size: 14px;
  }
}
@media (max-width: 1280px) {
  .hitorique-market-watch .col-cap-boursiere {
    width: 33.333% !important;
  }
  .mp-wrap .table-marche tr th {
    font-size: 10px;
  }
  .index-tile .block > div.cap-boursiere {
    font-size: 11px;
  }
  .index-tile .name {
    letter-spacing: 0;
    font-size: 12px;
  }
  .index-tile .current {
    font-size: 13px;
  }
  .stat-chip {
    min-width: 25px;
    border-radius: 15px;
    font-size: 11px;
    height: 25px;
  }
  .index-tile .muted {
    font-size: 13px;
  }
  .cap-table thead th {
    font-size: 13px;
  }
  .hitorique-market-watch .col-cap-boursiere {
    width: 50%;
  }
}
@media (max-width: 992px) {
  .hitorique-market-watch .col-cap-boursiere {
    width: 50% !important;
  }
  .js-market-resume-table, .box-width-graphe, .js-market-top-values-table, .graphe-100,
  .js-activity-secteur-table, .js-activity-compart-table, .js-activity-groupe-table, .js-monthly-activity-table,
  .js-monthly-activity-bar {
    width: 100% !important;
  }
  .border-height-pie {
    margin-bottom: 20px;
  }
  .actions-historique input#edit-reset--2 {
    margin-top: 0;
  }
  .actions-historique .button-marketwatch {
    margin-top: 0;
  }
  .actions-historique {
    width: 100%;
    justify-content: flex-start;
  }

  .bofiltre-historique {
    flex-wrap: wrap;
    width: 100%;
  }

  .align-items-stretch .dash-card {
    width: 50%;
    padding: 0 10px;
  }

  .align-items-stretch .dash-card:last-child {
    width: 100%;
  }

  .dash-tight {
    width: 100%;
  }

  .dash-stack {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
  }
  .boxtable-historique {
    width: 100%;
  }
  .right-historique {
    width: 100%;
  }
}
@media (max-width: 992px) {

  .section-historique {
    flex-wrap: wrap;
  }
  .box-cote-right {
    padding-left: 0;
    width: 100%;
  }
  .box-cote-left {
    width: 100%;
  }
  .align-items-stretch .dash-card {
    width: 100%;
    padding: 0 10px;
  }
  .align-items-stretch .dash-card {
    width: 100%;
    padding: 0;
    margin: 0 0 20px;
  }
  .hitorique-market-watch table.json-table tbody tr td {
    font-size: 12px;
  }
  .mp-wrap .table-marche tr th {
    font-size: 12px;
    padding: 0 11px;
  }
  .flexbox-historique-table {
    flex-wrap: wrap;
  }
  .boxflex-historique {
    flex-wrap: wrap;
  }

  .padding-left {
    padding-left: 0;
  }
  .padding-right, .box-cote-left {
    padding-right: 0;
  }
  .bg-title-historique {
    margin-bottom: 25px;
  }
  .boxfiltre-his {
    padding: 0;
    width: 100%;
  }
  .freeze-first-1 table td:first-child, .freeze-first-1 table th:first-child {
    position: relative !important;
    top: 0 !important;
  }
}
@media (max-width: 550px) {
  .freeze-first-1 table td:first-child, .freeze-first-1 table th:first-child {
    position: relative;
  }
  .hitorique-market-watch .col-cap-boursiere {
    width: 100% !important;
  }
  .pie-legend-grid {
    grid-template-columns: 1fr;
  }
  .canvas-height {
    height: 825px;
  }
  .border-height-pie {
    min-height: 460px;
  }
}
@media (max-width: 480px) {
  .canvas-height {
    height: 860px;
  }
  .border-height-pie {
    min-height: 480px;
  }
}
.height-graphe-cotation {
  min-height: 340px;
}
.height-graphe-cotation .js-activity-compart-pie, .height-graphe-cotation .js-activity-groupe-pie {
  height: 220px !important
}
.mp-wrap.table-responsive {
  overflow-y: hidden;
}
.boxtable-historique .index-tile .muted {
  padding: 0 5px;
}
#market-seance-date {
  display: block;
  margin-bottom: 30px;
}

#market-seance-date .seance-date-value {
  font-family: "DM Sans", sans-serif;
  color: #09244B;
  font-size: 20px;
  font-weight: 700;
  display: block;
}

#market-seance-date .seance-date-loading {
  font-family: "DM Sans", sans-serif;
  color: #09244B;
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0.45;
}

.seance-date-spinner {
  width: 13px;
  height: 13px;
  border: 2px solid rgba(9, 36, 75, 0.25);
  border-top-color: #09244B;
  border-radius: 50%;
  animation: spin 0.7s linear infinite;
  flex-shrink: 0;
}

@keyframes spin { to { transform: rotate(360deg); } }
.hitorique-market-watch .js-market-segment.bggris .mp-wrap .table-marche thead tr {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0px;
}

.hitorique-market-watch .js-market-segment.bggris .mp-wrap .table-marche tbody tr {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0px;
}

.js-market-global,
.js-market-segment,
.js-market-stats {
  min-height: 120px;
}

.js-capitaux-tnd,
.js-quantites-tnd,
.js-nbtx-tnd {
  min-height: 80px;
}

/* Skeleton loader pendant le chargement */
.js-market-global:empty,
.js-market-segment:empty,
.js-market-stats:empty {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: skeleton-shimmer 1.5s infinite;
  border-radius: 4px;
}

@keyframes skeleton-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

@keyframes sk-shimmer {
  0%   { background-position: 200% center; }
  100% { background-position: -200% center; }
}


.sk-line {
  height: 13px;
  border-radius: 4px;
  margin-bottom: 10px;
  width: 80%;
  background: linear-gradient(
    90deg,
    #e8e8e8 25%,
    #d4d4d4 50%,
    #e8e8e8 75%
  );
  background-size: 200% 100%;
  animation: sk-shimmer 1.6s ease-in-out infinite;

  &--title  { width: 60%; height: 14px; margin-bottom: 14px; }
  &--value  { width: 45%; height: 24px; margin-bottom: 10px; }
  &--short  { width: 35%; }
  &--label  { width: 55%; height: 11px; }
  &--kpi    { width: 70%; height: 28px; margin-bottom: 0; }
}

.sk-widget {
  padding: 16px;
  min-height: 140px;   
  box-sizing: border-box;

  &--kpi {
    min-height: 80px;
    padding: 12px 16px;
  }

  &--index {
    min-height: 100px;
    padding: 14px;
  }
}

.js-market-global.bggris,
.js-market-segment.bggris,
.js-market-stats.bggris {
  min-height: 140px;
}

.js-capitaux-tnd,
.js-quantites-tnd,
.js-nbtx-tnd {
  min-height: 80px;
}

.box-table-index {
  min-height: 100px;
}

.js-index-summary canvas,
.js-variation-chart canvas {
  min-height: 400px;
  display: block;
}

.js-tab1-top-row .dash-card {
  min-height: 140px;
}

@media (prefers-color-scheme: dark) {
  .sk-line {
    background: linear-gradient(
      90deg,
      #2a2a2a 25%,
      #333333 50%,
      #2a2a2a 75%
    );
    background-size: 200% 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sk-line {
    animation: none;
    background: #e8e8e8;
  }
}