.tvd-box{background:#fff;border:1px solid #e6e8eb;border-radius:16px;overflow:hidden;margin:22px 0;box-shadow:0 2px 10px rgba(21,34,50,.04);font-family:inherit}.tvd-table-wrap{overflow-x:auto;margin:0!important;padding:0!important}.tvd-table{width:100%;border-collapse:collapse;border-spacing:0;margin:0!important;padding:0!important}.tvd-table th{background:#f7f8fa;color:#182b49;font-weight:700;text-align:left;padding:14px 16px;border-bottom:1px solid #e6e8eb;white-space:nowrap}.tvd-table td{padding:14px 16px;border-bottom:1px solid #eef0f2;vertical-align:middle;color:#27364b}.tvd-table tbody tr:last-child td{border-bottom:0}.tvd-table tbody tr:hover{background:#fcfaf5}.tvd-service{display:inline-flex;align-items:center;gap:10px;font-weight:650;color:#152844}.tvd-logo{width:28px;height:28px;object-fit:contain;border-radius:6px}.tvd-logo-fallback{width:28px;height:28px;border-radius:7px;background:#f3eadc;color:#9d6b25;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.tvd-filters{display:flex;gap:10px;flex-wrap:wrap;padding:16px;border-bottom:1px solid #eceef1;background:#fff}.tvd-filters input,.tvd-filters select{min-height:42px;border:1px solid #d9dde3;border-radius:10px;padding:8px 12px;background:#fff;color:#26364a}.tvd-search{flex:1 1 230px}.tvd-filter{flex:0 1 210px}.tvd-reset{border:1px solid #b28a52;background:#fff;color:#7b5725;border-radius:10px;padding:8px 14px;cursor:pointer}.tvd-count{margin:0!important;padding:8px 16px;color:#687386;font-size:.9rem;border-bottom:1px solid #eef0f2}.tvd-empty{display:none}.tvd-offer-list{display:flex;flex-direction:column;gap:10px}.tvd-offer-item{display:flex;flex-direction:column;line-height:1.3}.tvd-offer-item+.tvd-offer-item{padding-top:10px;border-top:1px solid #eef0f2}.tvd-offer-name{font-weight:650;color:#182b49}.tvd-offer-price{margin-top:2px;font-size:.94em;color:#94631f}.tvd-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* États de services */
.tvd-state{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;font-size:.92em;font-weight:650}.tvd-state>span[aria-hidden="true"]{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;font-size:12px;line-height:1}.tvd-state--yes{color:#28633d}.tvd-state--yes>span[aria-hidden="true"]{background:#eaf5ed;color:#28633d}.tvd-state--no{color:#6d3540}.tvd-state--no>span[aria-hidden="true"]{background:#f7eaed;color:#6d3540}.tvd-state--unknown{color:#667085;font-weight:550}.tvd-state--unknown>span[aria-hidden="true"]{background:#f0f2f5;color:#667085}

/* Grands tableaux : pas de défilement vertical interne, en-tête collant au scroll de la page */
.tvd-table-wrap--large{overflow:visible}.tvd-table-wrap--large .tvd-table{table-layout:fixed}.tvd-table-wrap--large .tvd-table thead th{position:sticky;top:0;z-index:8;background:#f7f8fa;box-shadow:none;border-bottom:1px solid #e6e8eb;}.tvd-table-wrap--large .tvd-table th:nth-child(1){width:18%}.tvd-table-wrap--large .tvd-table th:nth-child(2){width:8%}.tvd-table-wrap--large .tvd-table th:nth-child(3){width:16%}.tvd-table-wrap--large .tvd-table th:nth-child(4){width:10%}.tvd-table-wrap--large .tvd-table th:nth-child(5){width:18%}.tvd-table-wrap--large .tvd-table th:nth-child(6){width:30%}.tvd-table-wrap--large .tvd-table td{overflow-wrap:anywhere}.tvd-services-compact{display:flex;flex-wrap:wrap;gap:6px}.tvd-service-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #e4e7ec;border-radius:999px;padding:4px 8px;font-size:.78rem;line-height:1.15;white-space:nowrap;background:#fff}.tvd-service-chip>span[aria-hidden="true"]{font-weight:800}.tvd-service-chip--yes{color:#28633d;background:#f4faf6;border-color:#d9eadf}.tvd-service-chip--no{color:#6d3540;background:#fcf6f7;border-color:#efdde1}.tvd-service-chip--unknown{color:#667085;background:#f7f8fa;border-color:#e7e9ed}

@media(max-width:980px) and (min-width:701px){.tvd-table-wrap--large{overflow-x:auto}.tvd-table-wrap--large .tvd-table{min-width:850px;table-layout:auto}.tvd-table-wrap--large .tvd-table thead th{position:static}}
@media(max-width:700px){.tvd-box{border:0;background:transparent;box-shadow:none;overflow:visible}.tvd-table-wrap,.tvd-table-wrap--large{overflow:visible}.tvd-table,.tvd-table thead,.tvd-table tbody,.tvd-table tr,.tvd-table th,.tvd-table td{display:block}.tvd-table thead{position:absolute;left:-9999px}.tvd-table tbody{display:grid;gap:12px}.tvd-table tr{background:#fff;border:1px solid #e6e8eb;border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(21,34,50,.04)}.tvd-table td{display:grid;grid-template-columns:minmax(105px,40%) 1fr;gap:10px;padding:10px 14px;border-bottom:1px solid #eef0f2}.tvd-table td:before{content:attr(data-label);font-weight:700;color:#182b49}.tvd-table td:last-child{border-bottom:0}.tvd-filters{border:1px solid #e6e8eb;border-radius:14px;margin-bottom:12px}.tvd-filters>*{width:100%;flex-basis:100%}.tvd-count{background:#fff;border:1px solid #e6e8eb;border-radius:10px;margin-bottom:10px!important}.tvd-offer-list{gap:8px}.tvd-services-compact{justify-content:flex-start}.tvd-service-chip-label{display:inline}}

/* Métadonnées sous forme de bulles */
.tvd-meta-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.tvd-meta-chip{display:inline-flex;align-items:center;max-width:100%;border:1px solid #e3e7ed;border-radius:999px;padding:5px 9px;font-size:.82rem;font-weight:650;line-height:1.15;white-space:normal}
.tvd-meta-chip--category{background:#f4f6f9;color:#40516a;border-color:#e1e6ec}
.tvd-meta-chip--quality{background:#eef6ff;color:#24527a;border-color:#d7e7f7;white-space:nowrap}
.tvd-meta-chip--offer{background:#fff7e9;color:#80591f;border-color:#f0dfbd}
.tvd-meta-empty{color:#98a2b3}
.tvd-offer-item{align-items:flex-start}
.tvd-offer-name{width:auto}

/* Sticky fiable : aucun ancêtre ne doit couper l'en-tête */
.tvd-box--large{overflow:visible}
.tvd-box--large .tvd-table-wrap--large{overflow:visible!important;position:relative}
.tvd-box--large .tvd-table-wrap--large thead{position:relative;z-index:20}
.tvd-box--large .tvd-table-wrap--large thead th{position:-webkit-sticky;position:sticky;top:0;z-index:25;background:#f7f8fa!important}
body.admin-bar .tvd-box--large .tvd-table-wrap--large thead th{top:32px}
@media screen and (max-width:782px){body.admin-bar .tvd-box--large .tvd-table-wrap--large thead th{top:46px}}


/* v0.5.3 : tableaux comparatifs plus compacts */
.tvd-box:not(.tvd-box--large) .tvd-table{table-layout:auto}
.tvd-box:not(.tvd-box--large) .tvd-table th,
.tvd-box:not(.tvd-box--large) .tvd-table td{padding:13px 14px}
.tvd-box:not(.tvd-box--large) .tvd-service{min-width:0}
.tvd-box:not(.tvd-box--large) .tvd-service>span:last-child{white-space:nowrap}
.tvd-box:not(.tvd-box--large) .tvd-services-compact{min-width:250px}
.tvd-box:not(.tvd-box--large) .tvd-service-chip{font-size:.76rem;padding:4px 7px}
.tvd-offer-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}
.tvd-offer-item{display:inline-flex;flex-direction:row;align-items:center}
.tvd-offer-item+.tvd-offer-item{padding-top:0;border-top:0}
.tvd-offer-name{white-space:nowrap}
.tvd-offer-price{display:none}

@media(min-width:701px){
  .tvd-box:not(.tvd-box--large) .tvd-table-wrap{overflow-x:visible}
  .tvd-box:not(.tvd-box--large) .tvd-table{width:100%}
  .tvd-box:not(.tvd-box--large) .tvd-table th:first-child{width:18%}
  .tvd-box:not(.tvd-box--large) .tvd-table th:nth-child(2){width:8%}
  .tvd-box:not(.tvd-box--large) .tvd-table th:last-child{width:38%}
}


/* v0.6.0 — largeurs adaptées aux tableaux plateformes */
.tvd-context-platform-list .tvd-table,
.tvd-context-tnt-list .tvd-table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
}
.tvd-context-platform-list .tvd-table th:nth-child(1){width:22%}
.tvd-context-platform-list .tvd-table th:nth-child(2){width:16%}
.tvd-context-platform-list .tvd-table th:nth-child(3){width:10%}
.tvd-context-platform-list .tvd-table th:nth-child(4){width:34%}
.tvd-context-platform-list .tvd-table th:nth-child(5){width:18%}

.tvd-context-platform-list .tvd-table th,
.tvd-context-platform-list .tvd-table td,
.tvd-context-channel-platforms .tvd-table th,
.tvd-context-channel-platforms .tvd-table td {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}
.tvd-context-platform-list .tvd-offer-list,
.tvd-context-channel-platforms .tvd-offer-list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 7px;
    max-width: 100%;
}
.tvd-context-platform-list .tvd-offer-item,
.tvd-context-channel-platforms .tvd-offer-item {
    display: inline-flex;
    min-width: 0;
    max-width: 100%;
}
.tvd-context-platform-list .tvd-offer-name,
.tvd-context-channel-platforms .tvd-offer-name {
    white-space: normal;
    overflow-wrap: anywhere;
    max-width: 100%;
}
.tvd-context-channel-platforms .tvd-table {
    table-layout: fixed;
}
.tvd-context-channel-platforms .tvd-table th:nth-child(1){width:23%}
.tvd-context-channel-platforms .tvd-table th:nth-child(2){width:12%}
.tvd-context-channel-platforms .tvd-table th:nth-child(3){width:43%}
.tvd-context-channel-platforms .tvd-table th:nth-child(4){width:22%}

/* TNT list: same six-column layout as operators. */
.tvd-context-tnt-list .tvd-table th:nth-child(1){width:22%}
.tvd-context-tnt-list .tvd-table th:nth-child(2){width:9%}
.tvd-context-tnt-list .tvd-table th:nth-child(3){width:17%}
.tvd-context-tnt-list .tvd-table th:nth-child(4){width:11%}
.tvd-context-tnt-list .tvd-table th:nth-child(5){width:21%}
.tvd-context-tnt-list .tvd-table th:nth-child(6){width:20%}

@media(max-width:980px) and (min-width:701px){
    .tvd-context-platform-list .tvd-table-wrap,
    .tvd-context-channel-platforms .tvd-table-wrap,
    .tvd-context-tnt-list .tvd-table-wrap {
        overflow-x:auto;
    }
    .tvd-context-platform-list .tvd-table,
    .tvd-context-tnt-list .tvd-table {min-width:820px}
    .tvd-context-channel-platforms .tvd-table {min-width:680px}
}


/* v0.6.1 — colonnes plus lisibles sur les tableaux de plateformes */
.tvd-context-platform-list .tvd-table {
    table-layout: fixed;
}

.tvd-context-platform-list .tvd-table th:nth-child(1),
.tvd-context-platform-list .tvd-table td:nth-child(1) {
    width: 18%;
}

.tvd-context-platform-list .tvd-table th:nth-child(2),
.tvd-context-platform-list .tvd-table td:nth-child(2) {
    width: 18%;
    min-width: 130px;
}

.tvd-context-platform-list .tvd-table th:nth-child(3),
.tvd-context-platform-list .tvd-table td:nth-child(3) {
    width: 13%;
    min-width: 95px;
}

.tvd-context-platform-list .tvd-table th:nth-child(4),
.tvd-context-platform-list .tvd-table td:nth-child(4) {
    width: 33%;
}

.tvd-context-platform-list .tvd-table th:nth-child(5),
.tvd-context-platform-list .tvd-table td:nth-child(5) {
    width: 18%;
}

/* Évite les en-têtes coupés lettre par lettre. */
.tvd-context-platform-list .tvd-table th,
.tvd-context-platform-list .tvd-table td {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.tvd-context-platform-list .tvd-table th {
    white-space: normal;
}

/* Les badges d'offres restent entiers autant que possible. */
.tvd-context-platform-list .tvd-offer-item,
.tvd-context-channel-platforms .tvd-offer-item {
    white-space: nowrap;
    max-width: 100%;
}

@media (max-width: 900px) and (min-width: 701px) {
    .tvd-context-platform-list .tvd-table {
        min-width: 900px;
    }
}


/* v0.6.2 — tableau [tvd_plateformes chaine="..."] */
.tvd-context-channel-platforms .tvd-table {
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
}

.tvd-context-channel-platforms .tvd-table th:nth-child(1),
.tvd-context-channel-platforms .tvd-table td:nth-child(1) {
    width: 24%;
}

.tvd-context-channel-platforms .tvd-table th:nth-child(2),
.tvd-context-channel-platforms .tvd-table td:nth-child(2) {
    width: 15%;
    min-width: 105px;
}

.tvd-context-channel-platforms .tvd-table th:nth-child(3),
.tvd-context-channel-platforms .tvd-table td:nth-child(3) {
    width: 41%;
}

.tvd-context-channel-platforms .tvd-table th:nth-child(4),
.tvd-context-channel-platforms .tvd-table td:nth-child(4) {
    width: 20%;
}

.tvd-context-channel-platforms .tvd-table th,
.tvd-context-channel-platforms .tvd-table td {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.tvd-context-channel-platforms .tvd-table th {
    white-space: normal;
}

/* L'offre complète reste dans un seul badge. */
.tvd-context-channel-platforms .tvd-offer-name {
    white-space: nowrap;
    max-width: 100%;
}

@media (max-width: 760px) and (min-width: 701px) {
    .tvd-context-channel-platforms .tvd-table {
        min-width: 720px;
    }
}
