/* TV-paket – tabel shortcode v1.0.4 */
.tvpaket-table-wrap{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  margin:24px 0;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:14px;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
  overflow:hidden;
}
.tvpaket-table-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.tvpaket-sortable-table{
  width:100%;
  min-width:0;
  border-collapse:separate;
  border-spacing:0;
  color:#1a202c;
  font-size:13.5px;
  table-layout:fixed;
}
.tvpaket-sortable-table thead th{
  background:#f7fafc;
  border-bottom:1px solid #e2e8f0;
  padding:0;
  text-align:left;
  white-space:nowrap;
}
.tvpaket-sortable-table th button{
  width:100%;
  border:0;
  background:transparent;
  color:#2d3748;
  font:inherit;
  font-weight:700;
  text-align:left;
  padding:12px 10px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}
.tvpaket-sortable-table th button:hover{
  background:#edf2f7;
}
.tvpaket-sortable-table .tvpaket-table-head-label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  width:100%;
  color:#2d3748;
  font:inherit;
  font-weight:700;
  text-align:left;
  padding:12px 10px;
  box-sizing:border-box;
}
.tvpaket-sortable-table th.tvpaket-table-no-sort{
  cursor:default;
}
.tvpaket-sortable-table th button::after{
  content:'';
  color:#3182ce;
  font-size:12px;
  flex:0 0 auto;
}
.tvpaket-sortable-table th[aria-sort="ascending"] button::after{content:'↑';}
.tvpaket-sortable-table th[aria-sort="descending"] button::after{content:'↓';}
.tvpaket-sortable-table td{
  padding:12px 10px;
  border-bottom:1px solid #edf2f7;
  vertical-align:middle;
  overflow-wrap:anywhere;
}
.tvpaket-sortable-table tbody tr:nth-child(even){background:#fbfdff;}
.tvpaket-sortable-table tbody tr:hover{background:#f7fafc;}
.tvpaket-sortable-table tbody tr:last-child td{border-bottom:0;}
.tvpaket-table-package{
  font-weight:700;
  color:#1a202c;
}
.tvpaket-table-provider{
  font-weight:600;
  color:#2d3748;
  white-space:nowrap;
}
.tvpaket-table-price{
  font-weight:700;
  color:#1a202c;
  white-space:nowrap;
}
.tvpaket-table-muted{
  color:#718096;
}
.tvpaket-table-bool{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:26px;
  min-height:24px;
  border-radius:999px;
  background:#edf2f7;
  color:#4a5568;
  font-weight:700;
}
.tvpaket-table-bool.is-yes{
  background:#e6fffa;
  color:#2c7a7b;
}
.tvpaket-table-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  max-width:78px;
  box-sizing:border-box;
  padding:9px 12px;
  border-radius:8px;
  background:#3182ce;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  font-size:13px;
  line-height:1.15;
  white-space:nowrap;
}
.tvpaket-table-cta:hover{
  background:#2b6cb0;
  color:#fff;
}
.tvpaket-table-empty{
  padding:18px;
  color:#718096;
}

/* Kompakt kolonnebredde på desktop, så tabellen sjældnere kræver vandret scroll. */
.tvpaket-sortable-table .tvpaket-table-col-provider{width:12%;}
.tvpaket-sortable-table .tvpaket-table-col-title{width:14%;}
.tvpaket-sortable-table .tvpaket-table-col-minimum-price{width:13%;}
.tvpaket-sortable-table .tvpaket-table-col-price{width:10%;}
.tvpaket-sortable-table .tvpaket-table-col-channels{width:9%;}
.tvpaket-sortable-table .tvpaket-table-col-streamers{width:10%;}
.tvpaket-sortable-table .tvpaket-table-col-binding{width:10%;}
.tvpaket-sortable-table .tvpaket-table-col-sports{width:8%;}
.tvpaket-sortable-table .tvpaket-table-col-kids{width:8%;}
.tvpaket-sortable-table .tvpaket-table-col-mix{width:10%;}
.tvpaket-sortable-table .tvpaket-table-col-box{width:8%;}
.tvpaket-sortable-table .tvpaket-table-col-rating{width:8%;}
.tvpaket-sortable-table .tvpaket-table-col-updated{width:11%;}
.tvpaket-sortable-table .tvpaket-table-col-cta{width:96px;min-width:96px;max-width:96px;}

/* Link-kolonnen fastholdes til højre, hvis der stadig er brug for vandret scroll. */
.tvpaket-sortable-table th.tvpaket-table-col-cta,
.tvpaket-sortable-table td.tvpaket-table-col-cta{
  position:sticky;
  right:0;
  z-index:2;
  background:#fff;
  box-shadow:-8px 0 14px rgba(15,23,42,.06);
}
.tvpaket-sortable-table th.tvpaket-table-col-cta{
  z-index:3;
  background:#f7fafc;
}
.tvpaket-sortable-table tbody tr:nth-child(even) td.tvpaket-table-col-cta{background:#fbfdff;}
.tvpaket-sortable-table tbody tr:hover td.tvpaket-table-col-cta{background:#f7fafc;}

@media (max-width:900px){
  .tvpaket-sortable-table{
    font-size:13px;
    min-width:820px;
    table-layout:auto;
  }
  .tvpaket-sortable-table th button,
  .tvpaket-sortable-table .tvpaket-table-head-label,
  .tvpaket-sortable-table td{
    padding:12px 10px;
  }
}
@media (max-width:640px){
  .tvpaket-table-wrap{border-radius:12px;margin:18px 0;}
  .tvpaket-sortable-table{min-width:780px;}
}

/* Channel table additions */
.tvpaket-table-pills,
.tvpaket-table-package-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
}
.tvpaket-table-pill,
.tvpaket-table-package-pill{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px 8px;
  border:1px solid #e2e8f0;
  border-radius:999px;
  background:#f7fafc;
  color:#1a202c;
  font-weight:700;
  font-size:12px;
  line-height:1.1;
}
.tvpaket-table-pill-muted{
  color:#718096;
  background:#fff;
}
.tvpaket-table-package-pill{
  border-radius:9px;
  flex-direction:column;
  align-items:flex-start;
}
.tvpaket-table-package-pill em{
  font-style:normal;
  color:#718096;
  font-weight:600;
  font-size:11px;
}
.tvpaket-table-channel-name{
  display:block;
  font-weight:800;
  color:#1a202c;
}
.tvpaket-table-channel-id,
.tvpaket-table-subline{
  display:block;
  margin-top:3px;
  color:#718096;
  font-size:12px;
  line-height:1.25;
}
.tvpaket-table-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:6px 9px;
  font-size:12px;
  font-weight:800;
  background:#edf2f7;
  color:#4a5568;
  white-space:nowrap;
}
.tvpaket-table-status-fixed{background:#e6fffa;color:#2c7a7b;}
.tvpaket-table-status-selectable{background:#ebf8ff;color:#2b6cb0;}
.tvpaket-table-status-points{background:#fffaf0;color:#975a16;}
.tvpaket-sortable-table .tvpaket-table-col-channel-list{width:18%;}
.tvpaket-sortable-table .tvpaket-table-col-channel{width:14%;}
.tvpaket-sortable-table .tvpaket-table-col-availability{width:10%;}
.tvpaket-sortable-table .tvpaket-table-col-streaming{width:10%;}


/* Kanal-detaljtabel: undgå smalle kolonner og bogstav-ombrydning. */
.tvpaket-channel-packages-table-shortcode{
  min-width:1060px;
  table-layout:auto;
}
.tvpaket-channel-packages-table-shortcode th,
.tvpaket-channel-packages-table-shortcode td{
  overflow-wrap:normal;
  word-break:normal;
}
.tvpaket-channel-packages-table-shortcode .tvpaket-table-col-channel{width:105px;min-width:105px;}
.tvpaket-channel-packages-table-shortcode .tvpaket-table-col-provider{width:105px;min-width:105px;}
.tvpaket-channel-packages-table-shortcode .tvpaket-table-col-package{width:140px;min-width:140px;}
.tvpaket-channel-packages-table-shortcode .tvpaket-table-col-availability{width:105px;min-width:105px;}
.tvpaket-channel-packages-table-shortcode .tvpaket-table-col-price{width:105px;min-width:105px;}
.tvpaket-channel-packages-table-shortcode .tvpaket-table-col-minimum-price{width:115px;min-width:115px;}
.tvpaket-channel-packages-table-shortcode .tvpaket-table-col-binding{width:105px;min-width:105px;white-space:nowrap;}
.tvpaket-channel-packages-table-shortcode .tvpaket-table-col-channels{width:80px;min-width:80px;white-space:nowrap;}
.tvpaket-channel-packages-table-shortcode .tvpaket-table-col-streaming{width:85px;min-width:85px;white-space:nowrap;}
.tvpaket-channel-packages-table-shortcode .tvpaket-table-col-cta{width:96px;min-width:96px;max-width:96px;}
.tvpaket-channel-packages-table-shortcode .tvpaket-table-package{
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
}
.tvpaket-table-nowrap{white-space:nowrap;}
