/* =====================================================
   AGTV TV SCHEDULE — BASE STYLES
   SAFE / GLOBAL
   ===================================================== */

.agtv-tvs{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;
  color:#ffffff;
}

/* Ensure theme styles never leak */
.agtv-tvs,
.agtv-tvs *{
  box-sizing:border-box;
}

/* =====================================================
   BUTTONS
   ===================================================== */

.agtv-tvs .agtv-tvs-btn{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  color:#ffffff;
  border-radius:10px;
  padding:8px 12px;
  cursor:pointer;
  line-height:1;
  font-size:13px;
}

.agtv-tvs .agtv-tvs-btn:hover{
  background:rgba(255,255,255,.12);
}

.agtv-tvs .agtv-tvs-btn.is-active{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.35);
}

/* =====================================================
   BADGES (LIVE / REPEAT)
   IMPORTANT: INLINE ONLY — NEVER ABSOLUTE
   ===================================================== */

.agtv-tvs .agtv-tvs-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1;
  white-space:nowrap;
}

/* Explicitly prevent overlap bugs */
.agtv-tvs .agtv-tvs-badge{
  position:static !important;
}

/* LIVE */
.agtv-tvs .agtv-tvs-badge.is-live{
  background:rgba(0,200,120,.18);
  border:1px solid rgba(0,200,120,.45);
  color:#eafff4;
}

/* REPEAT */
.agtv-tvs .agtv-tvs-badge.is-repeat{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  color:#ffffff;
}

/* =====================================================
   EMPTY STATES
   ===================================================== */

.agtv-tvs .agtv-tvs-empty{
  padding:16px;
  border:1px dashed rgba(255,255,255,.25);
  border-radius:14px;
  color:rgba(255,255,255,.85);
  background:rgba(255,255,255,.02);
}

/* =====================================================
   MODAL — FORCE ABOVE ALL HEADERS (FINAL)
   ===================================================== */

html,
body{
  overflow-x:hidden;
}

/* Kill all stacking context conflicts */
body.agtv-tvs-modal-open{
  overflow:hidden;
}

/* Modal root */
.agtv-tvs-modal{
  position:fixed !important;
  inset:0 !important;
  display:none;
  z-index:2147483647 !important; /* MAX SAFE */
  isolation:isolate; /* escape stacking contexts */
}

.agtv-tvs-modal.is-open{
  display:block;
}

/* Backdrop */
.agtv-tvs-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.7);
  z-index:1;
}

/* Dialog */
.agtv-tvs-modal-dialog{
  position:fixed !important;
  top:90px !important; /* BELOW NAV BAR */
  left:50%;
  transform:translateX(-50%);
  max-width:720px;
  width:calc(100% - 32px);
  background:#0b0b0b;
  border:1px solid rgba(255,255,255,.12);
  border-radius:18px;
  box-shadow:0 40px 100px rgba(0,0,0,.9);
  z-index:2;
}

/* Ensure NOTHING clips modal */
header,
.site-header,
.elementor-location-header,
.elementor-section,
.elementor-container{
  overflow:visible !important;
}
