/* ==========================================================================
   WP TMDB Tracker — Detay Sayfası (single-tv / single-movie)
   Tüm kurallar .wtt-detail altına scoped; temanın geri kalanını etkilemez.
   ========================================================================== */

.wtt-detail {
	--bg-base: #0b0d14;
	--bg-elevated: #161a24;
	--bg-elevated-2: #1e2330;
	--accent: #f5b342;
	--accent-soft: rgba(245, 179, 66, 0.16);
	--teal: #3ed9a3;
	--text-primary: #f5f5f7;
	--text-muted: #9298ab;
	--text-faint: #5c6178;
	--border: rgba(255,255,255,0.08);

	background: var(--bg-base);
	color: var(--text-primary);
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	max-width: 780px;
	margin: 0 auto;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}

.wtt-detail * { box-sizing: border-box; }

/* ---------- HERO ---------- */
.wtt-hero {
	position: relative;
	min-height: 320px;
	background-size: cover;
	background-position: center;
	background-color: #171b28;
	background-image:
		linear-gradient(180deg, rgba(5,6,10,0.15) 0%, rgba(5,6,10,0.05) 40%, rgba(5,6,10,0.95) 100%),
		radial-gradient(120% 90% at 30% 20%, #2b3a52 0%, #141824 55%, #0b0d14 100%);
}
.wtt-hero[style*="background-image"] {
	background-blend-mode: normal;
}

.wtt-hero-topbar {
	display: flex;
	justify-content: space-between;
	padding: 18px 18px 0;
}

.wtt-icon-btn {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(11,13,20,0.55);
	backdrop-filter: blur(6px);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	color: var(--text-primary);
	border: 1px solid rgba(255,255,255,0.1);
	text-decoration: none;
}

.wtt-hero-rating {
	position: absolute;
	top: 18px;
	right: 18px;
	background: var(--bg-base);
	border: 2px solid var(--accent);
	color: var(--accent);
	font-weight: 800;
	font-size: 15px;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.wtt-hero-info {
	position: absolute;
	bottom: 28px;
	left: 24px;
	right: 24px;
}

.wtt-hero-eyebrow {
	font-size: 11.5px;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: var(--accent);
	font-weight: 700;
	margin: 0 0 8px;
}

.wtt-hero-title {
	font-size: 40px;
	font-weight: 800;
	letter-spacing: -0.5px;
	line-height: 1.02;
	margin: 0 0 10px;
	color: var(--text-primary);
}

.wtt-hero-meta {
	display: flex;
	gap: 10px;
	align-items: center;
	font-size: 13.5px;
	color: var(--text-muted);
}

.wtt-hero-meta .dot {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--text-faint);
}

/* ---------- Status badge (Ongoing / Ended / Upcoming) ---------- */
.wtt-status-badge {
	display: inline-block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: 20px;
	margin-bottom: 10px;
}

.wtt-status-badge.wtt-status-ongoing {
	background: rgba(62, 217, 163, 0.16);
	color: var(--teal);
	border: 1px solid rgba(62, 217, 163, 0.4);
}

.wtt-status-badge.wtt-status-ended {
	background: rgba(255,255,255,0.06);
	color: var(--text-muted);
	border: 1px solid var(--border);
}

.wtt-status-badge.wtt-status-upcoming {
	background: var(--accent-soft);
	color: var(--accent);
	border: 1px solid rgba(245, 179, 66, 0.4);
}

/* ---------- Where to Watch ---------- */
.wtt-providers-row {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

.wtt-provider-logo {
	width: 44px;
	height: 44px;
	border-radius: 10px;
	overflow: hidden;
	display: block;
	border: 1px solid var(--border);
}

.wtt-provider-logo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.wtt-providers-credit {
	font-size: 11px;
	color: var(--text-faint);
	margin: 0 0 26px;
}

.wtt-providers-empty {
	font-size: 13px;
	color: var(--text-faint);
	margin: 0 0 26px;
}

/* ---------- TICKET DIVIDER (imza öğe) ---------- */
.wtt-ticket-divider {
	position: relative;
	height: 18px;
	background: var(--bg-base);
}
.wtt-ticket-divider::before {
	content: "";
	position: absolute;
	top: -9px;
	left: 0; right: 0;
	height: 18px;
	background: radial-gradient(circle at center, transparent 8px, var(--bg-base) 9px);
	background-size: 22px 18px;
	background-repeat: repeat-x;
	background-position: center;
}

/* ---------- TABS ---------- */
.wtt-tabs {
	display: flex;
	gap: 28px;
	padding: 4px 24px 0;
	border-bottom: 1px solid var(--border);
}

.wtt-tab {
	background: none;
	border: none;
	color: var(--text-faint);
	font-weight: 700;
	font-size: 14px;
	padding: 14px 0;
	cursor: pointer;
	position: relative;
}

.wtt-tab.active { color: var(--text-primary); }

.wtt-tab.active::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -1px;
	height: 3px;
	border-radius: 3px 3px 0 0;
	background: var(--accent);
}

/* ---------- PANEL / İÇERİK ---------- */
.wtt-panel { padding: 24px; }

.wtt-overview {
	color: var(--text-muted);
	line-height: 1.7;
	font-size: 14.5px;
	margin-bottom: 26px;
}

.wtt-section-label {
	font-size: 11px;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--text-faint);
	font-weight: 700;
	margin: 0 0 14px;
}

/* ---------- Sticky durum çubuğu (wtt_watch_button çıktısını override eder) ---------- */
.wtt-sticky-spacer { height: 86px; }

.wtt-sticky-bar {
	position: sticky;
	bottom: 0;
	left: 0; right: 0;
	padding: 14px 20px 20px;
	background: linear-gradient(0deg, var(--bg-base) 65%, transparent);
	z-index: 10;
}

.wtt-sticky-bar .wtt-watch-buttons {
	display: flex;
	gap: 8px;
	margin: 0;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: 16px;
	padding: 6px;
}

.wtt-sticky-bar .wtt-status-btn {
	flex: 1;
	background: none;
	border: none;
	border-radius: 12px;
	color: var(--text-muted);
	font-weight: 700;
	font-size: 12.5px;
	padding: 12px 4px;
	white-space: nowrap;
}

.wtt-sticky-bar .wtt-status-btn.active {
	background: var(--accent);
	color: #221803;
}

.wtt-sticky-bar .wtt-status-remove-btn {
	color: var(--text-faint);
	font-size: 12px;
	align-self: center;
	padding: 0 6px;
}

/* ---------- Puanlama bloğu override ---------- */
.wtt-panel .wtt-rating-block {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: 14px;
	padding: 16px 18px;
	margin-bottom: 26px;
}

.wtt-panel .wtt-avg-rating { color: var(--text-muted); font-size: 13px; margin: 0 0 10px; }

.wtt-panel .wtt-star {
	background: var(--bg-elevated-2);
	color: var(--text-faint);
}

.wtt-panel .wtt-star.selected {
	background: var(--accent);
	color: #221803;
}

/* ---------- Yorumlar bloğu override ---------- */
.wtt-panel .wtt-reviews-block h3 {
	font-size: 16px;
	margin: 0 0 14px;
}

.wtt-panel .wtt-review-form textarea {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: 10px;
	color: var(--text-primary);
	padding: 12px;
}

.wtt-panel .wtt-review-form label {
	color: var(--text-muted);
	font-size: 13px;
}

.wtt-panel .wtt-review-submit-btn {
	background: var(--accent);
	color: #221803;
	border: none;
	font-weight: 700;
	border-radius: 10px;
	padding: 10px 18px;
}

.wtt-panel .wtt-review-item {
	border-bottom-color: var(--border);
	color: var(--text-muted);
}

.wtt-panel .wtt-review-item strong { color: var(--text-primary); }

.wtt-panel .wtt-review-rating { color: var(--accent); }

/* ---------- Bölüm takip bloğu override (yeni kart yapısı) ---------- */
.wtt-episode-tracker { margin: 0; }

.wtt-continue-card {
	display: flex;
	gap: 14px;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: 16px;
	padding: 12px;
	align-items: center;
	margin-bottom: 30px;
}

.wtt-continue-thumb {
	width: 60px;
	height: 60px;
	border-radius: 10px;
	flex-shrink: 0;
	background: linear-gradient(135deg, #3a4a63, #1c2130);
}

.wtt-continue-info { flex: 1; min-width: 0; }

.wtt-continue-ep {
	font-size: 11px;
	color: var(--accent);
	font-weight: 700;
	letter-spacing: 0.5px;
	margin: 0 0 3px;
}

.wtt-continue-name {
	font-size: 14px;
	font-weight: 600;
	margin: 0;
	color: var(--text-primary);
}

.wtt-check-circle {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1.5px solid var(--text-faint);
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: transparent;
	font-size: 14px;
	background: none;
	cursor: pointer;
}

.wtt-check-circle.done {
	background: var(--teal);
	border-color: var(--teal);
	color: #05060a;
}

.wtt-season { margin-bottom: 18px; }

.wtt-season-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-radius: 14px;
	cursor: pointer;
}

.wtt-season-header-left { flex: 1; }

.wtt-season-title { font-weight: 700; font-size: 14.5px; color: var(--text-primary); }

.wtt-season-progress-text { font-size: 12px; color: var(--text-faint); margin: 2px 0 8px; }

.wtt-progress-track {
	width: 180px;
	max-width: 60%;
	height: 4px;
	background: var(--bg-elevated-2);
	border-radius: 4px;
	overflow: hidden;
}

.wtt-progress-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--accent), var(--teal));
}

.wtt-episode-list {
	background: var(--bg-elevated);
	border: 1px solid var(--border);
	border-top: none;
	border-radius: 0 0 14px 14px;
	overflow: hidden;
	margin-bottom: 2px;
}

.wtt-episode-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-top: 1px dashed var(--border);
}

.wtt-episode-row:first-child { border-top: none; }

.wtt-episode-thumb {
	width: 46px;
	height: 46px;
	border-radius: 8px;
	flex-shrink: 0;
	background: linear-gradient(135deg, #2b3346, #171a24);
}

.wtt-episode-info { flex: 1; min-width: 0; }

.wtt-episode-num {
	font-size: 10.5px;
	color: var(--text-faint);
	font-weight: 700;
	letter-spacing: 0.5px;
}

.wtt-episode-name {
	font-size: 13.5px;
	font-weight: 500;
	color: var(--text-primary);
}

.wtt-login-notice {
	text-align: center;
	color: var(--text-faint);
	font-size: 13px;
	margin-top: 20px;
}

.wtt-login-notice a { color: var(--accent); }

/* ---------- Mobil ---------- */
@media (max-width: 600px) {
	.wtt-detail { border-radius: 0; }
	.wtt-hero-title { font-size: 32px; }
}

/* ==========================================================================
   Archive page (movie/TV show listing — "home" grid)
   ========================================================================== */
.wtt-archive {
	--bg-base: #0b0d14;
	--bg-elevated: #161a24;
	--accent: #f5b342;
	--teal: #3ed9a3;
	--text-primary: #f5f5f7;
	--text-muted: #9298ab;
	--text-faint: #5c6178;
	--border: rgba(255,255,255,0.08);

	background: var(--bg-base);
	color: var(--text-primary);
	border-radius: 18px;
	padding: 24px;
	max-width: 1000px;
	margin: 0 auto;
}

.wtt-archive-header { margin-bottom: 20px; }
.wtt-archive-header h1 { font-size: 26px; font-weight: 800; margin: 0; }

.wtt-archive .wtt-content-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: 18px;
}

.wtt-archive .wtt-grid-item { display: block; text-decoration: none; color: var(--text-primary); }

.wtt-archive .wtt-grid-poster {
	width: 100%;
	aspect-ratio: 2 / 3;
	background-color: var(--bg-elevated);
	background-size: cover;
	background-position: center;
	border-radius: 10px;
	position: relative;
}

.wtt-archive .wtt-grid-rating {
	position: absolute;
	bottom: 6px;
	right: 6px;
	background: rgba(0,0,0,0.7);
	color: #fff;
	font-size: 11px;
	padding: 2px 7px;
	border-radius: 10px;
}

.wtt-archive .wtt-grid-title {
	display: block;
	font-size: 13px;
	margin-top: 8px;
	color: var(--text-primary);
}

.wtt-archive .wtt-empty { color: var(--text-faint); font-size: 13px; }

.wtt-archive .pagination,
.wtt-archive .nav-links {
	margin-top: 24px;
	display: flex;
	gap: 8px;
}

.wtt-archive .pagination a,
.wtt-archive .nav-links a {
	color: var(--accent);
	text-decoration: none;
	font-size: 13px;
	font-weight: 700;
}
