/* Tempus Belli Blocks : styles du bloc Counter (chargé uniquement quand le bloc est présent). Dépend de style.css. */
/* ===== Counter (1.5.0) ===== */
/* Conteneur du Counter : fond et arrondi réglables ; la grille s'adapte au nombre de compteurs. */
.tbb-cn { width: 100%; box-sizing: border-box; background: var(--cn-bg, transparent); border-radius: var(--cn-r, 14px); }
.tbb-cn__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(var(--cn-minw, 200px), 1fr)); gap: var(--cn-gap, 18px); }
.tbb-cn--n1 .tbb-cn__grid { grid-template-columns: minmax(0, 1fr); }
.tbb-cn__item { position: relative; display: flex; flex-direction: column; gap: 6px; padding: var(--cn-pad, 26px); box-sizing: border-box; border-radius: var(--cn-r, 14px); transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease; min-width: 0; }
.tbb-cn--a-center .tbb-cn__item { align-items: center; text-align: center; }
.tbb-cn--a-left .tbb-cn__item { align-items: flex-start; text-align: left; }
.tbb-cn--a-right .tbb-cn__item { align-items: flex-end; text-align: right; }
/* Styles d'élément : carte, contour, sans cadre, ligne sous le chiffre. */
.tbb-cn--card .tbb-cn__item { background: var(--cn-card, var(--tbb-surface, #fff)); border: var(--cn-bw, 1px) solid var(--cn-border, var(--tbb-line, #e3e5ea)); }
.tbb-cn--outline .tbb-cn__item { background: transparent; border: max(var(--cn-bw, 1px), 1px) solid var(--cn-border, var(--cn-accent, var(--tbb-accent, #c4161c))); }
.tbb-cn--plain .tbb-cn__item { background: transparent; border: 0; }
.tbb-cn--underline .tbb-cn__item { background: transparent; border: 0; border-bottom: max(var(--cn-bw, 1px), 1px) solid var(--cn-border, var(--tbb-line, #e3e5ea)); border-radius: 0; }
.tbb-cn--shadow.tbb-cn--card .tbb-cn__item, .tbb-cn--shadow.tbb-cn--outline .tbb-cn__item { box-shadow: var(--tbb-shadow, 0 10px 28px -14px rgba(16, 18, 24, .28)); }
/* Effets au survol : soulever, agrandir, halo. */
.tbb-cn--h-lift .tbb-cn__item:hover { transform: translateY(-6px); box-shadow: var(--tbb-shadow-hover, 0 20px 36px -16px rgba(16, 18, 24, .38)); }
.tbb-cn--h-scale .tbb-cn__item:hover { transform: scale(1.04); }
.tbb-cn--h-glow .tbb-cn__item:hover { box-shadow: 0 0 0 1px var(--cn-accent, var(--tbb-accent, #c4161c)), 0 10px 40px -8px var(--cn-accent, var(--tbb-accent, #c4161c)); }
.tbb-cn--div.tbb-cn--plain .tbb-cn__item + .tbb-cn__item::before, .tbb-cn--div.tbb-cn--underline .tbb-cn__item + .tbb-cn__item::before { content: ""; position: absolute; left: calc(var(--cn-gap, 18px) / -2); top: 18%; bottom: 18%; width: 1px; background: var(--cn-div, var(--tbb-line, #d6d9df)); }
.tbb .tbb-cn__icon { font-size: var(--cn-is, 2rem); line-height: 1; color: var(--cn-icon, var(--cn-accent, var(--tbb-accent, #c4161c))) !important; }
/* Le chiffre : taille ajustée à la largeur de la carte (voir --cn-len et container-type plus bas). */
.tbb .tbb-cn__value { display: flex; align-items: baseline; flex-wrap: wrap; justify-content: inherit; gap: 0; max-width: 100%; font-size: var(--cn-ns, clamp(2.2rem, 5vw, 3.4rem)); font-weight: var(--cn-nw, 800); line-height: 1.05; color: var(--cn-num, var(--tbb-ink)) !important; }
.tbb-cn--a-center .tbb-cn__value { justify-content: center; }
.tbb-cn--a-right .tbb-cn__value { justify-content: flex-end; }
.tbb-cn--tab .tbb-cn__num { font-variant-numeric: tabular-nums; }
.tbb-cn__aff { font-size: .6em; font-weight: 700; margin-inline: .08em; opacity: .9; }
.tbb-cn__item--1 .tbb-cn__value { color: var(--cn-num-1, var(--cn-num, var(--tbb-ink))) !important; }
.tbb-cn__item--2 .tbb-cn__value { color: var(--cn-num-2, var(--cn-num, var(--tbb-ink))) !important; }
.tbb-cn__item--3 .tbb-cn__value { color: var(--cn-num-3, var(--cn-num, var(--tbb-ink))) !important; }
.tbb-cn__item--4 .tbb-cn__value { color: var(--cn-num-4, var(--cn-num, var(--tbb-ink))) !important; }
.tbb-cn[style*="--cn-num2"] .tbb-cn__value { background-image: linear-gradient(90deg, var(--cn-num, var(--tbb-ink)), var(--cn-num2)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent !important; }
.tbb-cn__bar { display: none; width: 44px; height: 3px; border-radius: 3px; background: var(--cn-accent, var(--tbb-accent, #c4161c)); transform-origin: left center; transition: width .5s ease; }
.tbb-cn--bar .tbb-cn__bar { display: block; }
.tbb-cn--bar .tbb-cn__item:hover .tbb-cn__bar { width: 72px; }
.tbb .tbb-cn__label { margin: 0; font-size: var(--cn-ls, .95rem); line-height: 1.4; text-transform: var(--cn-lt, none); color: var(--cn-label, var(--tbb-muted)) !important; }
.tbb .tbb-cn__label a { color: inherit !important; text-decoration: underline; }
@media (max-width: 560px) { .tbb-cn__grid { grid-template-columns: repeat(auto-fit, minmax(min(var(--cn-minw, 200px), 100%), 1fr)); } .tbb-cn--div .tbb-cn__item::before { display: none; } }
.tbb-cn__item { container-type: inline-size; }
.tbb .tbb-cn__value { flex-wrap: nowrap; white-space: nowrap; font-size: min(var(--cn-ns, clamp(2.2rem, 5vw, 3.4rem)), calc(100cqw / (var(--cn-len, 6) * .62))); }
