/* Convertisseur de fuseaux horaires */
.tc { width: 100%; max-width: 1100px; display: flex; flex-direction: column; align-items: center; gap: clamp(4px, 1.2vh, 14px); text-align: center; }
.tc-q, .tc-b { text-wrap: balance; }
.tc-on { white-space: nowrap; }
.tc-out { display: flex; align-items: baseline; justify-content: center; font-family: var(--f-display); line-height: .9; }
.tc-hm { font-size: calc(clamp(84px, min(16vw, 20vh), 230px) * var(--cs, 1)); font-variant-numeric: tabular-nums; }
.tc-ap { margin-left: .25em; font-family: var(--f-body); font-weight: 700; font-size: calc(clamp(20px, 2.4vw, 32px) * var(--cs, 1)); letter-spacing: .05em; }
.tc-ap:empty { display: none; }
.tc-detail { margin: 0; font-size: clamp(15px, 1.8vw, 20px); font-weight: 500; opacity: .9; max-width: 900px; text-wrap: balance; }
.tc-detail > span { display: inline-block; }
.tc-detail .tc-dd { font-weight: 700; }
.tc-list { list-style: none; margin: clamp(6px, 1.6vh, 18px) 0 0; padding: 0; width: 100%; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.tc-item { display: grid; grid-template-columns: auto auto; grid-template-areas: "name x" "time x" "day x"; align-items: center; column-gap: 4px; min-width: 150px; padding: 8px 6px 8px 16px; border-radius: 18px; background: var(--frame); text-align: left; animation: tc-in .32s var(--ease) both; }
@keyframes tc-in { from { transform: translateY(10px); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .tc-item { animation: none; } }
.tc-i-name { grid-area: name; font-size: 16px; font-weight: 700; white-space: nowrap; }
.tc-i-time { grid-area: time; font-family: var(--f-display); font-size: calc(clamp(28px, 2.6vw, 38px) * var(--cs, 1)); line-height: 1.05; white-space: nowrap; }
.tc-i-time small { margin-left: .2em; font-family: var(--f-body); font-size: .38em; font-weight: 700; }
.tc-i-day { grid-area: day; font-size: 14px; font-weight: 500; opacity: .9; white-space: nowrap; }
.tc-x { grid-area: x; align-self: start; display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 50%; background: transparent; color: inherit; opacity: .55; cursor: pointer; }
.tc-x:hover, .tc-x:focus-visible { opacity: 1; background: var(--frame); }
.tc-item--add { display: flex; padding: 0; background: transparent; box-shadow: inset 0 0 0 2px var(--frame); }
.tc-add { flex: 1; min-height: 88px; display: flex; align-items: center; justify-content: center; gap: 8px; padding: 0 18px; border: 0; border-radius: 18px; background: transparent; color: inherit; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
.tc-add:hover, .tc-add:focus-visible { background: var(--frame); }
.wp-extra .tc-find { width: 100%; margin-top: 12px; padding: 12px 16px; border: 0; border-radius: 14px; background: var(--tint); color: var(--bg); font: inherit; font-size: 17px; font-weight: 500; outline: none; }
.wp-extra .tc-find::placeholder { color: var(--bg); opacity: .7; }
.wp-extra .tc-find:focus { box-shadow: inset 0 0 0 2px var(--bg); }
/* Tableaux du texte : heures en police normale, colonnes serrées */
.content .tc-tbl td, .content .wc-tbl td { font-family: inherit; font-size: 17px; white-space: normal; }
.content .tc-tbl td, .content .tc-tbl th { padding: 9px 16px; }
@media (max-width: 620px) {
  .tc-list { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .tc-item { grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "name time x" "day time x"; padding: 6px 6px 6px 16px; }
  .tc-i-time { text-align: right; font-size: calc(30px * var(--cs, 1)); }
  .tc-x { width: 44px; height: 44px; align-self: center; }
  .tc-add { min-height: 52px; }
  .tc-bar .bar-sep, .tc-bar [data-tc-swap] { display: none; }
}
