/* ITAHUKA Video Platform v4.6.1 — watch page collision and sizing fixes */

.watch-layout,
.broadcast-watch-grid {
  width: 100% !important;
  max-width: min(1600px, 100%) !important;
  min-width: 0 !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) clamp(310px, 24vw, 390px) !important;
  gap: clamp(18px, 2vw, 30px) !important;
  align-items: start !important;
}

.watch-layout > *,
.broadcast-watch-grid > *,
.watch-layout article,
.broadcast-watch-grid article,
.watch-sidebar,
.broadcast-watch-sidebar,
.broadcast-watch-main,
.program-body,
.broadcast-watch-meta,
.channel-strip > *,
.broadcast-channel-strip > * { min-width: 0 !important; }

.watch-player-shell,
.itahuka-linear-player,
.itahuka-player-stage,
.broadcast-watch-player-card {
  width: 100% !important;
  max-width: 100% !important;
}

.watch-player-shell,
.itahuka-player-stage { aspect-ratio: 16 / 9 !important; }

.watch-layout .program-body h1,
.broadcast-watch-meta h1,
.broadcast-watch-navigation strong,
.compact-video-list strong,
.broadcast-related-copy strong,
.channel-identity strong,
.broadcast-channel-identity strong {
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: normal;
}

.watch-layout .program-body h1,
.broadcast-watch-meta h1 {
  font-size: clamp(20px, 2vw, 30px) !important;
  line-height: 1.2 !important;
}

.watch-meta-row,
.broadcast-watch-submeta,
.watch-actions,
.broadcast-watch-actions,
.channel-strip,
.broadcast-channel-strip {
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 10px !important;
}

.channel-strip,
.broadcast-channel-strip { justify-content: space-between !important; }
.channel-identity,
.broadcast-channel-identity { min-width: 0 !important; flex: 1 1 260px !important; }
.channel-identity > div,
.broadcast-channel-identity > div { min-width: 0 !important; }
.watch-actions .button,
.broadcast-watch-actions .button,
.channel-strip .button,
.broadcast-channel-strip .button { max-width: 100%; }

.watch-sidebar,
.broadcast-watch-sidebar {
  width: 100% !important;
  max-width: 100% !important;
  position: sticky !important;
  top: calc(var(--it-theme-header-height, 64px) + 16px) !important;
}

.watch-sidebar .sidebar-card,
.broadcast-related-panel {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.watch-sidebar .watch-playlist-card {
  margin-bottom: 22px !important;
  padding: 16px !important;
  border: 1px solid var(--it-theme-border, #e5e7eb) !important;
  border-radius: var(--it-theme-radius, 14px) !important;
  box-shadow: var(--it-theme-shadow, 0 8px 28px rgba(15,23,42,.10)) !important;
}

.watch-sidebar form,
.watch-sidebar select,
.watch-sidebar .button-full { width: 100% !important; min-width: 0 !important; }
.watch-sidebar form { display: grid !important; gap: 10px !important; }
.watch-sidebar h3,
.broadcast-related-panel h2 { overflow-wrap: anywhere; }

.compact-video-list,
.broadcast-related-panel { min-width: 0 !important; }

.compact-video-list > a,
.broadcast-related-item {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(118px, 42%) minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
}

.compact-video-list img,
.broadcast-related-thumb,
.broadcast-related-thumb img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
}

.compact-video-list span,
.broadcast-related-copy { min-width: 0 !important; }
.compact-video-list strong,
.broadcast-related-copy strong {
  display: -webkit-box !important;
  overflow: hidden !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-height: 1.3 !important;
}

.video-description,
.broadcast-watch-description,
.video-description p,
.broadcast-watch-description p,
.comment-content,
.comment-content p { max-width: 100%; overflow-wrap: anywhere; }

.comment-form {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px !important;
  clear: both !important;
}
.comment-form::after { content: ""; display: block; clear: both; }
.comment-form .button {
  float: none !important;
  align-self: flex-end !important;
  margin: 0 !important;
}
.comment,
.comment-content,
.comment-content header { min-width: 0 !important; }
.comment-content header { flex-wrap: wrap !important; }
.comment-content time { margin-left: auto; }
.reply-form { min-width: 0; flex-wrap: wrap; }
.reply-form textarea { min-width: 0; flex: 1 1 280px; }

.broadcast-watch-navigation {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}
.broadcast-watch-navigation a { min-width: 0 !important; }

@media (max-width: 1180px) {
  .watch-layout,
  .broadcast-watch-grid {
    grid-template-columns: minmax(0, 1fr) minmax(290px, 34vw) !important;
  }
  .compact-video-list > a,
  .broadcast-related-item { grid-template-columns: minmax(112px, 40%) minmax(0, 1fr) !important; }
}

@media (max-width: 980px) {
  .watch-layout,
  .broadcast-watch-grid { grid-template-columns: 1fr !important; }
  .watch-sidebar,
  .broadcast-watch-sidebar { position: static !important; margin-top: 8px !important; }
  .compact-video-list,
  .broadcast-related-panel { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 14px !important; }
  .broadcast-related-panel > h2,
  .broadcast-related-panel > .empty-state { grid-column: 1 / -1; }
  .compact-video-list > a,
  .broadcast-related-item { grid-template-columns: minmax(120px, 42%) minmax(0, 1fr) !important; }
}

@media (max-width: 680px) {
  .watch-layout,
  .broadcast-watch-grid { display: block !important; }
  .legacy-watch-page .watch-player-shell,
  .broadcast-watch-page .itahuka-linear-player {
    width: calc(100% + 24px) !important;
    max-width: none !important;
    margin-left: -12px !important;
    border-radius: 0 !important;
  }
  .compact-video-list,
  .broadcast-related-panel { grid-template-columns: 1fr !important; }
  .compact-video-list > a,
  .broadcast-related-item { grid-template-columns: minmax(118px, 40%) minmax(0, 1fr) !important; }
  .broadcast-watch-navigation { grid-template-columns: 1fr !important; }
  .watch-actions .button,
  .broadcast-watch-actions .button { flex: 1 1 auto; }
  .channel-strip,
  .broadcast-channel-strip { align-items: flex-start !important; }
}

@media (max-width: 430px) {
  .compact-video-list > a,
  .broadcast-related-item { grid-template-columns: 122px minmax(0, 1fr) !important; }
  .compact-video-list strong,
  .broadcast-related-copy strong { -webkit-line-clamp: 2 !important; font-size: 13px !important; }
}

/* v4.7.8 watch-page visual normalization */
.legacy-watch-page .featured-program {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.legacy-watch-page .watch-player-shell {
  border-radius: 12px !important;
  box-shadow: 0 1px 2px rgba(15,23,42,.08) !important;
}
.legacy-watch-page .program-body {
  padding: 14px 2px 0 !important;
}
.legacy-watch-page .program-body h1 {
  margin: 4px 0 6px !important;
  font-size: clamp(22px, 2.15vw, 32px) !important;
  letter-spacing: -.015em !important;
}
.legacy-watch-page .watch-meta-row { margin-bottom: 4px !important; }
.legacy-watch-page .watch-actions {
  display: flex !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin: 14px 0 !important;
}
.legacy-watch-page .watch-actions .button {
  flex: 0 0 auto !important;
  min-width: 0 !important;
  min-height: 40px !important;
  border-radius: 999px !important;
  padding: 9px 15px !important;
}
.legacy-watch-page .watch-actions .button-report {
  margin-left: auto !important;
  background: transparent !important;
  color: var(--it-theme-danger, #d71920) !important;
  border-color: color-mix(in srgb, var(--it-theme-danger, #d71920) 42%, transparent) !important;
}
.legacy-watch-page .watch-actions .button-report:hover {
  background: color-mix(in srgb, var(--it-theme-danger, #d71920) 9%, transparent) !important;
}
.legacy-watch-page .channel-strip {
  padding: 14px 0 !important;
  border-block: 1px solid var(--it-theme-border, #e5e7eb) !important;
}
.legacy-watch-page .video-description {
  margin-top: 14px !important;
  padding: 14px 16px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: var(--it-theme-surface-muted, #f2f2f2) !important;
}
.legacy-watch-page .comments-section {
  margin-top: 24px !important;
  padding: 20px !important;
  border: 1px solid var(--it-theme-border, #e5e7eb) !important;
  border-radius: 14px !important;
  background: var(--it-theme-surface, #fff) !important;
}
.legacy-watch-page .comments-section .section-heading { align-items: center !important; }
.legacy-watch-page .comment-form textarea {
  min-height: 92px !important;
  padding: 12px 0 !important;
  resize: vertical !important;
  background: transparent !important;
}

.report-modal[hidden] { display: none !important; }
.report-modal {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10050 !important;
  display: grid !important;
  place-items: center !important;
  padding: 20px !important;
  background: rgba(3, 7, 18, .62) !important;
  backdrop-filter: blur(4px);
}
.report-modal-card {
  position: relative !important;
  width: min(560px, 100%) !important;
  max-height: min(760px, calc(100vh - 40px)) !important;
  overflow: auto !important;
  padding: 26px !important;
  border: 1px solid var(--it-theme-border, #e5e7eb) !important;
  border-radius: 18px !important;
  background: var(--it-theme-surface, #fff) !important;
  color: var(--it-theme-text, #111827) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.28) !important;
}
.report-modal-card h2 { margin: 4px 40px 4px 0 !important; font-size: 25px !important; }
.report-intro { margin: 0 0 16px !important; color: var(--it-theme-text-muted, #606060) !important; }
.report-target { margin-bottom: 16px; padding: 10px 12px; border-radius: 10px; background: var(--it-theme-surface-muted, #f3f4f6); font-weight: 700; overflow-wrap: anywhere; }
.report-modal-card form { display: grid !important; gap: 16px !important; }
.report-modal-card label:not(.report-confirm) { display: grid !important; gap: 7px !important; font-weight: 700 !important; }
.report-modal-card select,
.report-modal-card textarea { width: 100% !important; border: 1px solid var(--it-theme-border, #d1d5db) !important; border-radius: 10px !important; padding: 11px 12px !important; background: var(--it-theme-surface, #fff) !important; color: inherit !important; }
.report-modal-card textarea { min-height: 120px !important; resize: vertical !important; }
.report-modal-card small { text-align: right; color: var(--it-theme-text-muted, #6b7280); font-weight: 400; }
.field-optional { font-weight: 400; color: var(--it-theme-text-muted, #6b7280); }
.report-confirm { display: flex !important; gap: 10px !important; align-items: flex-start !important; font-weight: 500 !important; }
.report-confirm input { margin-top: 4px; }
.report-form-status { min-height: 20px; font-weight: 700; }
.report-form-status.is-error { color: #b91c1c; }
.report-form-status.is-success { color: #047857; }
.report-actions { display: flex; justify-content: flex-end; gap: 10px; }
.report-modal-card .modal-close { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--it-theme-surface-muted, #f3f4f6); color: inherit; font-size: 24px; }

@media (max-width: 700px) {
  .legacy-watch-page .watch-actions .button { flex: 1 1 calc(50% - 8px) !important; }
  .legacy-watch-page .watch-actions .button-report { margin-left: 0 !important; }
  .report-modal { align-items: end !important; padding: 0 !important; }
  .report-modal-card { width: 100% !important; max-height: 90vh !important; border-radius: 18px 18px 0 0 !important; padding: 22px 18px !important; }
}

/* v4.7.9 report case conversation */
.report-case-layout{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.5fr);gap:20px;align-items:start}.report-case-summary,.report-thread{padding:22px}.case-summary-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.case-summary-head h2{margin:10px 0 0}.report-case-summary dl,.admin-card dl{display:grid;gap:14px}.report-case-summary dl>div,.admin-card dl>div{padding-top:12px;border-top:1px solid var(--border-color)}dt{font-size:.78rem;font-weight:800;text-transform:uppercase;color:var(--text-muted)}dd{margin:5px 0 0}.case-messages{display:grid;gap:12px;margin:18px 0}.case-message{max-width:82%;padding:14px 16px;border:1px solid var(--border-color);border-radius:16px;background:var(--surface-muted)}.case-message.reporter{margin-left:auto;background:color-mix(in srgb,var(--brand) 8%,var(--surface))}.case-message.staff{margin-right:auto;border-color:color-mix(in srgb,var(--brand) 35%,var(--border-color))}.case-message.internal{max-width:100%;background:color-mix(in srgb,#d99b00 10%,var(--surface));border-style:dashed}.case-message-meta{display:flex;justify-content:space-between;gap:12px;font-size:.8rem}.case-message p{margin:8px 0 0;white-space:normal}.case-reply-form{display:grid;gap:14px;padding-top:18px;border-top:1px solid var(--border-color)}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:16px}.report-admin-grid{grid-template-columns:minmax(280px,.75fr) minmax(0,1.5fr)}.admin-case-messages{max-height:560px;overflow:auto;padding-right:4px}
@media(max-width:900px){.report-case-layout,.report-admin-grid{grid-template-columns:1fr}.case-message{max-width:94%}.form-actions{align-items:stretch;flex-direction:column}.form-actions .button{width:100%}}
.case-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.report-list .notification-card>div{width:100%}
@media(max-width:640px){.case-list-head{align-items:flex-start;flex-direction:column}}
