
/* Small inline badge shown on the entry (no large button, no header bleed). */
.tbook-party-badge {
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 2px 8px;
	border-radius: 999px;
	background: none;
	border: 1px solid rgba(124,58,237,.25);
	color: #7c3aed;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .02em;
	text-transform: uppercase;
	white-space: nowrap;
	max-width: 100%;
}
.tbook-party-badge__dot { width: 6px; height: 6px; border-radius: 50%; background: #7c3aed; flex: 0 0 auto; animation: tbook-party-pulse 1.4s ease-in-out infinite; }
/* Watch party card + banner + player modal. */
.tbook-party-card {
	position: absolute;
	top: 10px;
	right: 42px;
	z-index: 6;
	display: inline-flex; align-items: center; gap: 5px;
	padding: 3px 9px 3px 4px;
	border: 1px solid color-mix(in srgb, #7c3aed 30%, #fff);
	border-radius: 8px;
	background: linear-gradient(135deg, #7c3aed, #a855f7);
	color: #fff;
	font: inherit;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.3;
	cursor: pointer;
	white-space: nowrap;
	max-width: 50%;
	transition: background .15s ease, border-color .15s ease, transform .1s ease, box-shadow .15s ease;
	background: linear-gradient(135deg, #7c3aed, #a855f7);
	color: #fff; border: 0; cursor: pointer; font-size: 13px; font-weight: 600;
	box-shadow: 0 4px 14px rgba(124,58,237,.35);
	transition: transform .15s ease, box-shadow .15s ease;
}
.tbook-party-card:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(124,58,237,.45); }
.tbook-party-card__play { display: inline-flex; width: 14px; height: 14px; }
.tbook-party-card__play svg { width: 14px; height: 14px; }
.tbook-party-card__label { display: inline-flex; align-items: center; gap: 5px; }
.tbook-party-card__dot { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: tbook-party-pulse 1.4s ease-in-out infinite; }
@keyframes tbook-party-pulse { 0%,100%{opacity:1;transform:scale(1);} 50%{opacity:.4;transform:scale(.7);} }
.tbook-party-card__title { max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: .9; font-weight: 400; font-size: 10px; }
.tbook-party-card__viewers { opacity: .85; font-size: 12px; }
.tbook-party-card__countdown { font-size: 12px; opacity: .9; }
.tbook-party-card__ended { font-size: 12px; opacity: .7; font-style: italic; }
.tbook-party-card__join, .tbook-party-card__replay { background: rgba(255,255,255,.2); border: 0; color: #fff; padding: 2px 10px; border-radius: 999px; cursor: pointer; font-size: 12px; font-weight: 600; }

.tbook-party-banner { display: flex; align-items: center; gap: 10px; padding: 8px 14px; margin-bottom: 12px; border-radius: 10px; background: linear-gradient(135deg, rgba(124,58,237,.08), rgba(168,85,247,.06)); border: 1px solid rgba(124,58,237,.25); cursor: pointer; }
.tbook-party-banner__label { display: inline-flex; align-items: center; gap: 6px; font-weight: 800; color: #7c3aed; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.tbook-party-banner__dot { width: 8px; height: 8px; border-radius: 50%; background: #a855f7; animation: tbook-party-pulse 1.4s ease-in-out infinite; }
.tbook-party-banner__list { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.tbook-party-banner__item { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 12px; background: #fff; border: 1px solid rgba(124,58,237,.2); cursor: pointer; font-size: 12px; max-width: 100%; }
.tbook-party-banner__body { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.tbook-party-banner__item:hover { border-color: #a855f7; }
.tbook-party-banner__avatar { width: 22px; height: 22px; border-radius: 50%; overflow: hidden; background: #e5e7eb; }
.tbook-party-banner__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tbook-party-banner__info { display: inline-flex; align-items: baseline; gap: 6px; min-width: 0; }
.tbook-party-banner__title { color: #6b7280; font-size: 11px; max-width: 160px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tbook-party-banner__countdown { font-size: 11px; font-weight: 700; color: #7c3aed; }

/* Player modal */
.tbook-party-modal { position: fixed; inset: 0; z-index: 100060; background: rgba(0,0,0,.75); display: flex; align-items: center; justify-content: center; padding: 16px; }
.tbook-party-modal__box { background: #0f1115; color: #fff; border-radius: 12px; width: min(960px, 100%); max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
.tbook-party-modal__head { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-bottom: 1px solid rgba(255,255,255,.08); }
.tbook-party-modal__avatar { width: 36px; height: 36px; border-radius: 50%; overflow: hidden; background: #222; flex: 0 0 auto; }
.tbook-party-modal__avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tbook-party-modal__meta { flex: 1 1 auto; min-width: 0; }
.tbook-party-modal__name { display: block; font-size: 15px; font-weight: 700; }
.tbook-party-modal__sub { display: block; font-size: 12px; opacity: .7; }
.tbook-party-modal__close { background: transparent; border: 0; color: #fff; font-size: 26px; line-height: 1; cursor: pointer; opacity: .7; }
.tbook-party-modal__close:hover { opacity: 1; }
.tbook-party-modal__body { position: relative; background: #000; flex: 1 1 auto; min-height: 200px; }
.tbook-party-modal__video { width: 100%; max-height: 60vh; }
.tbook-party-modal__overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(0,0,0,.6); text-align: center; padding: 20px; }
.tbook-party-modal__countdown { font-size: 48px; font-weight: 800; letter-spacing: .02em; }
.tbook-party-modal__label { font-size: 14px; opacity: .8; margin-top: 8px; }
.tbook-party-modal__controls { display: flex; align-items: center; gap: 10px; padding: 10px 16px; border-top: 1px solid rgba(255,255,255,.08); flex-wrap: wrap; }
.tbook-party-modal__livebadge { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: #e02424; color: #fff; font-size: 12px; font-weight: 700; }
.tbook-party-modal__livebadge::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: tbook-party-pulse 1.4s ease-in-out infinite; }
.tbook-party-modal__golive { background: #7c3aed; color: #fff; border: 0; padding: 6px 14px; border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: 600; }
.tbook-party-modal__golive:hover { background: #6d28d9; }
.tbook-party-modal__meta { flex: 1 1 auto; font-size: 12px; opacity: .7; }
.tbook-party-modal__chat { width: 320px; max-width: 100%; border-left: 1px solid rgba(255,255,255,.08); display: flex; flex-direction: column; }
.tbook-party-modal__chathead { padding: 10px 12px; font-weight: 700; font-size: 13px; border-bottom: 1px solid rgba(255,255,255,.08); }
.tbook-party-modal__chatlog { flex: 0 0 auto; max-height: 180px; overflow-y: auto; padding: 10px 12px; font-size: 13px; }
.tbook-party-modal__chatmsg { margin-bottom: 8px; line-height: 1.35; }
.tbook-party-modal__chatmsg strong { color: #a855f7; }
.tbook-party-modal__chatmsg .t { opacity: .5; font-size: 11px; margin-left: 6px; }
.tbook-party-modal__chatinput { display: flex; gap: 6px; padding: 10px 12px; border-top: 1px solid rgba(255,255,255,.08); }
.tbook-party-modal__chatinput input { flex: 1 1 auto; padding: 6px 10px; border-radius: 6px; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.06); color: #fff; font-size: 13px; }
.tbook-party-modal__chatinput button { background: #7c3aed; color: #fff; border: 0; padding: 6px 10px; border-radius: 6px; cursor: pointer; font-size: 12px; font-weight: 600; white-space: nowrap; flex: 0 0 auto; }

/* When DVR is disabled, hide the seek bar (no seeking allowed). */
.tbook-party-modal.no-dvr .vjs-progress-control,
.tbook-party-modal.no-dvr .vjs-time-control { display: none !important; }

/* When DVR is disabled, hide the seek bar (no seeking allowed). */
.tbook-party-modal.no-dvr .vjs-progress-control,
.tbook-party-modal.no-dvr .vjs-time-control { display: none !important; }

@media (max-width: 768px) {
	.tbook-party-modal__box { flex-direction: column; }
	.tbook-party-modal__chat { width: 100%; border-left: 0; border-top: 1px solid rgba(255,255,255,.08); max-height: 40vh; }
}
