/* Video Hub Core 1.1.1 — structural width, tabs and card hard fix */
html, body { overflow-x: hidden !important; background:#043b44 !important; }
.tvm-video-hub, .tvm-video-hub * { box-sizing: border-box !important; }
.tvm-video-hub{
  position:relative !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
  background:radial-gradient(circle at 84% 38%,rgba(0,166,214,.14),transparent 34%),linear-gradient(180deg,#043f48 0%,#022832 50%,#031c27 100%) !important;
  color:#fff !important;
}
body:has(.tvm-video-hub) .entry-content,
body:has(.tvm-video-hub) .wp-block-post-content,
body:has(.tvm-video-hub) .wp-block-shortcode,
body:has(.tvm-video-hub) main,
body:has(.tvm-video-hub) .site-main,
body:has(.tvm-video-hub) .site-content{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow-x:hidden !important;
}
.tvm-video-hub__header,
.tvm-content-filters,
.tvm-main-grid,
.tvm-footer__inner{
  width:min(1360px, calc(100% - 48px)) !important;
  max-width:1360px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.tvm-video-hub__header{overflow:hidden !important;}

/* Zakładki: osobny pas na pełną szerokość huba, bez sztucznych 100vw i bez suwaka desktop */
.tvm-tabs-bar{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:14px 0 !important;
  overflow:hidden !important;
  background:linear-gradient(90deg,#02242e 0%,#03424c 50%,#02242e 100%) !important;
  border-top:1px solid rgba(82,210,230,.26) !important;
  border-bottom:1px solid rgba(82,210,230,.26) !important;
}
.tvm-tabs-inner{
  width:min(1480px, calc(100% - 32px)) !important;
  max-width:1480px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  overflow:hidden !important;
}
.tvm-tabs-mobile-toggle{display:none !important;}
.tvm-category-nav{
  flex:1 1 auto !important;
  min-width:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:11px !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  scrollbar-width:none !important;
}
.tvm-category-nav::-webkit-scrollbar{display:none !important;}
.tvm-category-nav a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:42px !important;
  padding:0 20px !important;
  border-radius:12px !important;
  background:#0b2a35 !important;
  border:1px solid rgba(94,218,237,.30) !important;
  color:#fff !important;
  font:800 15px/1.1 Inter,Roboto,"Open Sans","Noto Sans",Arial,sans-serif !important;
  text-decoration:none !important;
  box-shadow:none !important;
  white-space:nowrap !important;
  flex:0 1 auto !important;
}
.tvm-category-nav a:hover{transform:translateY(-1px) !important;background:#103846 !important;border-color:rgba(94,218,237,.45) !important;}
.tvm-category-nav a.is-active{background:linear-gradient(135deg,#0aa1bd,#08758d) !important;border-color:#67e6f4 !important;color:#fff !important;box-shadow:0 0 0 1px rgba(255,255,255,.18) inset,0 10px 24px rgba(0,166,214,.18) !important;}
.tvm-tabs-add-event{
  flex:0 0 auto !important;
  margin-left:auto !important;
  min-height:42px !important;
  padding:0 20px !important;
  border-radius:999px !important;
  background:#153844 !important;
  border:1px solid rgba(94,218,237,.28) !important;
  color:#fff !important;
  font:800 15px/1 Inter,Roboto,"Open Sans","Noto Sans",Arial,sans-serif !important;
  white-space:nowrap !important;
}
.tvm-tabs-add-event:hover{background:#0b8fab !important;border-color:#67e6f4 !important;}

/* Karty — blokada białych pasków i starych podbić */
.tvm-card, .tvm-card:hover, .tvm-card__button{
  background:linear-gradient(180deg,#073d47 0%,#052b34 100%) !important;
  color:#fff !important;
  border:1px solid rgba(99,221,239,.42) !important;
  box-shadow:0 18px 44px rgba(0,0,0,.28) !important;
}
.tvm-card:hover{transform:translateY(-3px) scale(1.01) !important;}
.tvm-card__thumb{background:#061923 !important;border:0 !important;border-bottom:0 !important;}
.tvm-card__thumb::before,.tvm-card__thumb::after,.tvm-card::before,.tvm-card::after{display:none !important;content:none !important;}
.tvm-card__thumb img{display:block !important;width:100% !important;height:100% !important;object-fit:cover !important;}
.tvm-card__content{background:transparent !important;color:#fff !important;border:0 !important;}
.tvm-card__title,.tvm-card__description,.tvm-card__categories,.tvm-card__meta{color:#fff !important;text-shadow:none !important;opacity:1 !important;}
.tvm-card__description{color:rgba(255,255,255,.88) !important;}
.tvm-card__categories span,.tvm-card__tag{background:rgba(16,165,185,.26) !important;border:1px solid rgba(98,230,244,.34) !important;color:#e8fbff !important;}
.tvm-card__stars,.tvm-card__rating,.tvm-card__rating-number{color:#ffbf3f !important;}

/* Modal filmu / wydarzenia — czytelność */
.tvm-modal,.tvm-modal *,.tvm-event-modal,.tvm-event-modal *{color:#fff !important;}
.tvm-modal__nav{background:#073643 !important;border:1px solid rgba(98,230,244,.38) !important;color:#fff !important;}
.tvm-modal__video iframe{background:#000 !important;}

/* Footer */
.tvm-footer{width:100% !important;max-width:100% !important;margin:0 !important;background:linear-gradient(90deg,#031722,#052d38,#031722) !important;border-top:1px solid rgba(92,214,235,.22) !important;color:#fff !important;}

@media (max-width: 1320px){
  .tvm-tabs-inner{width:calc(100% - 24px) !important;gap:9px !important;}
  .tvm-category-nav{gap:8px !important;}
  .tvm-category-nav a{padding:0 14px !important;font-size:14px !important;}
  .tvm-tabs-add-event{padding:0 14px !important;font-size:14px !important;}
}
@media (max-width: 760px){
  .tvm-video-hub__header,.tvm-content-filters,.tvm-main-grid,.tvm-footer__inner{width:calc(100% - 24px) !important;}
  .tvm-tabs-bar{padding:10px 0 !important;}
  .tvm-tabs-inner{width:calc(100% - 24px) !important;display:block !important;}
  .tvm-tabs-mobile-toggle{display:flex !important;width:100% !important;align-items:center !important;justify-content:center !important;gap:8px !important;min-height:46px !important;border-radius:16px !important;background:#0b4652 !important;border:1px solid rgba(98,230,244,.35) !important;color:#fff !important;font-weight:900 !important;}
  .tvm-category-nav{display:none !important;margin-top:10px !important;flex-direction:column !important;align-items:stretch !important;overflow:visible !important;white-space:normal !important;}
  .tvm-category-nav.is-open{display:flex !important;}
  .tvm-category-nav a{width:100% !important;justify-content:center !important;}
  .tvm-tabs-add-event{display:flex !important;width:100% !important;margin:10px 0 0 0 !important;justify-content:center !important;}
  .tvm-modal__nav{top:50% !important;}
}


/* Video Hub Core 1.1.2 — NAPRAWA KONKRETNA: strona sklejona do prawej
   Przyczyna: stare reguły kontenerów (.tvm-hero__top/.tvm-tabs-row/.tvm-tabs-bar)
   mieszały 100vw, margin/transform i kontenery WP. Ten blok ładuje się ostatni i
   stabilizuje hub względem viewportu, bez poziomego scrolla. */
html,
body {
  overflow-x: hidden !important;
  max-width: 100% !important;
}
body:has(.tvm-video-hub) {
  overflow-x: hidden !important;
  background: #043f48 !important;
}
body:has(.tvm-video-hub) .entry-content,
body:has(.tvm-video-hub) .wp-block-post-content,
body:has(.tvm-video-hub) .wp-block-shortcode,
body:has(.tvm-video-hub) .wp-site-blocks,
body:has(.tvm-video-hub) main,
body:has(.tvm-video-hub) .site-main,
body:has(.tvm-video-hub) .site-content,
body:has(.tvm-video-hub) .content-area,
body:has(.tvm-video-hub) article,
body:has(.tvm-video-hub) .entry {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow-x: clip !important;
}
section.tvm-video-hub,
.tvm-video-hub {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  transform: none !important;
  overflow-x: clip !important;
  padding: 0 !important;
  background:
    radial-gradient(circle at 80% 35%, rgba(0,166,214,.14), transparent 34%),
    linear-gradient(180deg,#043f48 0%,#022832 52%,#031c27 100%) !important;
}
.tvm-video-hub > *,
.tvm-video-hub .tvm-hero,
.tvm-video-hub .tvm-tabs-bar,
.tvm-video-hub .tvm-layout,
.tvm-video-hub .tvm-content-filters,
.tvm-video-hub .tvm-event-filters,
.tvm-video-hub .tvm-footer {
  max-width: 100vw !important;
}
.tvm-video-hub .tvm-hero {
  width: 100% !important;
  margin: 0 !important;
  padding: 24px 0 26px !important;
  overflow: visible !important;
  background: transparent !important;
}
.tvm-video-hub .tvm-hero__top {
  width: min(1180px, calc(100vw - 48px)) !important;
  max-width: min(1180px, calc(100vw - 48px)) !important;
  margin: 0 auto !important;
  padding: 28px 32px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(260px, 340px) !important;
  gap: 28px !important;
  align-items: center !important;
  border-radius: 28px !important;
  background: linear-gradient(135deg, rgba(2,35,48,.92), rgba(4,76,84,.88)) !important;
  border: 1px solid rgba(103,230,244,.22) !important;
  box-shadow: 0 24px 62px rgba(0,0,0,.22) !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
}
.tvm-video-hub .tvm-tabs-bar {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 14px 0 !important;
  transform: none !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg,#02242e 0%,#03424c 50%,#02242e 100%) !important;
  border-top: 1px solid rgba(82,210,230,.26) !important;
  border-bottom: 1px solid rgba(82,210,230,.26) !important;
}
.tvm-video-hub .tvm-tabs-inner {
  width: min(1480px, calc(100vw - 48px)) !important;
  max-width: min(1480px, calc(100vw - 48px)) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  overflow: hidden !important;
  transform: none !important;
}
.tvm-video-hub .tvm-tabs-mobile-toggle {
  display: none !important;
}
.tvm-video-hub .tvm-category-nav {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 11px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  scrollbar-width: none !important;
}
.tvm-video-hub .tvm-category-nav::-webkit-scrollbar {
  display: none !important;
}
.tvm-video-hub .tvm-category-nav a {
  flex: 0 1 auto !important;
  min-width: max-content !important;
  max-width: none !important;
  min-height: 42px !important;
  padding: 0 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: #0b2a35 !important;
  border: 1px solid rgba(94,218,237,.30) !important;
  color: #fff !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transform: none !important;
}
.tvm-video-hub .tvm-category-nav a.is-active {
  background: linear-gradient(135deg,#0aa1bd,#08758d) !important;
  border-color: #67e6f4 !important;
  color: #fff !important;
}
.tvm-video-hub .tvm-tabs-add-event {
  flex: 0 0 auto !important;
  margin-left: 14px !important;
  min-height: 42px !important;
  padding: 0 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: #153844 !important;
  border: 1px solid rgba(94,218,237,.28) !important;
  color: #fff !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
.tvm-video-hub .tvm-content-filters,
.tvm-video-hub .tvm-event-filters,
.tvm-video-hub .tvm-main-grid,
.tvm-video-hub .tvm-layout,
.tvm-video-hub .tvm-footer__inner {
  width: min(1180px, calc(100vw - 48px)) !important;
  max-width: min(1180px, calc(100vw - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}
.tvm-video-hub .tvm-footer {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  transform: none !important;
  overflow: hidden !important;
}
@media (max-width: 1180px) {
  .tvm-video-hub .tvm-hero__top {
    grid-template-columns: 1fr auto !important;
  }
  .tvm-video-hub .tvm-hero__live-col {
    grid-column: 1 / -1 !important;
  }
}
@media (max-width: 760px) {
  section.tvm-video-hub,
  .tvm-video-hub {
    width: 100% !important;
    max-width: 100% !important;
    left: auto !important;
    right: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .tvm-video-hub .tvm-hero__top,
  .tvm-video-hub .tvm-content-filters,
  .tvm-video-hub .tvm-event-filters,
  .tvm-video-hub .tvm-main-grid,
  .tvm-video-hub .tvm-layout,
  .tvm-video-hub .tvm-footer__inner {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
  .tvm-video-hub .tvm-hero__top {
    grid-template-columns: 1fr !important;
    padding: 20px 16px !important;
    text-align: left !important;
  }
  .tvm-video-hub .tvm-tabs-inner {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    display: block !important;
  }
  .tvm-video-hub .tvm-tabs-mobile-toggle {
    display: flex !important;
    width: 100% !important;
  }
  .tvm-video-hub .tvm-category-nav {
    display: none !important;
    margin-top: 10px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: visible !important;
    white-space: normal !important;
  }
  .tvm-video-hub .tvm-category-nav.is-open {
    display: flex !important;
  }
  .tvm-video-hub .tvm-category-nav a {
    width: 100% !important;
    justify-content: center !important;
  }
  .tvm-video-hub .tvm-tabs-add-event {
    width: 100% !important;
    margin: 10px 0 0 0 !important;
  }
}
