/* =======================================================================
   TMDB Movie Hub — premium theme (IMDb-inspired: deep charcoal + gold)
   ======================================================================= */
:root{
	--tmh-bg:#0e0f12;
	--tmh-bg-raised:#17191d;
	--tmh-bg-card:#1b1d22;
	--tmh-border:#2a2d34;
	--tmh-text:#f1f2f4;
	--tmh-text-dim:#a7acb5;
	--tmh-text-faint:#6b7078;
	--tmh-gold:#f5c518;
	--tmh-gold-dark:#d4a90f;
	--tmh-font:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
	--tmh-serif:'Fraunces',Georgia,serif;
}

html, body{ background:var(--tmh-bg) !important; }
body{ color:var(--tmh-text); }

/* Our topbar replaces the theme's own site header everywhere on the front end
   (classic themes: #masthead/.site-header; block themes like Twenty Twenty-Five:
   header.wp-block-template-part) so there is one consistent premium nav bar. */
header#masthead,
header.site-header,
#masthead,
header.wp-block-template-part{ display:none !important; }

/* Block-theme wrappers (Twenty Twenty-Five etc.) and the theme footer template
   part: recolor so ordinary WordPress Pages (Home, Privacy Policy...) match the
   dark premium theme instead of showing through as a plain white page. */
.wp-site-blocks{ background:var(--tmh-bg); }
main.wp-block-group{ background:var(--tmh-bg); color:var(--tmh-text); padding-top:8px; }
main.wp-block-group h1,
main.wp-block-group h2,
main.wp-block-group h3{ color:#fff; font-family:var(--tmh-serif); }
main.wp-block-group p{ color:var(--tmh-text-dim); line-height:1.7; }
main.wp-block-group a{ color:var(--tmh-gold); }
/* The theme's own footer template part is fully replaced by our single
   sitewide .tmh-global-footer (printed via wp_footer on every front-end
   page), so hide it rather than maintain two different-looking footers. */
footer.wp-block-template-part{ display:none !important; }

.tmh-global-footer{ background:#000; border-top:1px solid var(--tmh-border); margin-top:40px; }
.tmh-global-footer-inner{ max-width:1240px; margin:0 auto; padding:30px 20px; }
.tmh-footer-nav{ display:flex; flex-wrap:wrap; gap:10px 22px; margin-bottom:16px; }
.tmh-footer-nav a{ color:var(--tmh-text-dim); text-decoration:none; font-size:13.5px; font-weight:600; }
.tmh-footer-nav a:hover{ color:var(--tmh-gold); }
.tmh-footer-copy{ color:var(--tmh-text-faint); font-size:12px; margin:0; line-height:1.6; max-width:820px; }

/* ---- Top bar ---- */
.tmh-topbar{
	background:#000; border-bottom:1px solid #000;
	position:sticky; top:0; z-index:100;
}
.tmh-topbar-inner{
	max-width:1240px; margin:0 auto; padding:14px 20px;
	display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.tmh-logo{
	font-family:var(--tmh-serif); font-weight:700; font-size:21px;
	color:var(--tmh-gold); text-decoration:none; letter-spacing:.2px;
	display:flex; align-items:center; gap:8px; white-space:nowrap;
}
.tmh-nav{ display:flex; gap:28px; }
.tmh-nav a{
	color:#e6e7ea; text-decoration:none; font-size:14.5px; font-weight:600;
	letter-spacing:.2px; transition:color .15s ease;
}
.tmh-nav a:hover{ color:var(--tmh-gold); }

/* ---- Base typography & layout ---- */
.tmh-wrap{ max-width:1240px; margin:0 auto; padding:28px 20px 70px; color:var(--tmh-text); font-family:var(--tmh-font); }
.tmh-wrap, .tmh-wrap *{ box-sizing:border-box; }
.tmh-breadcrumb{ font-size:13px; color:var(--tmh-text-faint); margin-bottom:14px; }
.tmh-breadcrumb a{ color:var(--tmh-text-faint); text-decoration:none; }
.tmh-breadcrumb a:hover{ color:var(--tmh-gold); }
.tmh-wrap h1{ font-family:var(--tmh-serif); font-size:36px; margin:0 0 10px; line-height:1.15; color:#fff; font-weight:700; }
.tmh-wrap h2{ font-family:var(--tmh-serif); font-size:24px; color:#fff; margin:38px 0 16px; font-weight:700; }
.tmh-lede{ color:var(--tmh-text-dim); max-width:640px; margin-bottom:22px; font-size:15.5px; line-height:1.6; }

/* ---- Search ---- */
.tmh-search{ display:flex; gap:10px; max-width:560px; margin:0 0 24px; }
.tmh-search input{
	flex:1; padding:13px 16px; border:1px solid var(--tmh-border); border-radius:8px;
	font-size:15px; background:var(--tmh-bg-raised); color:var(--tmh-text);
}
.tmh-search input::placeholder{ color:var(--tmh-text-faint); }
.tmh-search input:focus{ outline:none; border-color:var(--tmh-gold); }
.tmh-search button{
	padding:13px 24px; background:var(--tmh-gold); color:#111; border:0; border-radius:8px;
	cursor:pointer; font-weight:700; font-size:14.5px; transition:background .15s ease;
}
.tmh-search button:hover{ background:var(--tmh-gold-dark); }

/* ---- Tabs ---- */
.tmh-tabs{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:28px; }
.tmh-tab{
	padding:9px 18px; border-radius:999px; background:var(--tmh-bg-raised); color:var(--tmh-text-dim);
	text-decoration:none; font-size:13.5px; font-weight:700; border:1px solid var(--tmh-border);
	transition:all .15s ease;
}
.tmh-tab:hover{ border-color:var(--tmh-gold); color:#fff; }
.tmh-tab.active{ background:var(--tmh-gold); color:#111; border-color:var(--tmh-gold); }

/* ---- Card grid ---- */
.tmh-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:24px; }
.tmh-card{ text-decoration:none; color:inherit; display:block; transition:transform .18s ease; }
.tmh-card:hover{ transform:translateY(-4px); }
.tmh-poster{
	position:relative; border-radius:10px; overflow:hidden; aspect-ratio:2/3;
	background:var(--tmh-bg-card); box-shadow:0 1px 2px rgba(0,0,0,.4);
	transition:box-shadow .18s ease;
}
.tmh-card:hover .tmh-poster{ box-shadow:0 14px 30px rgba(0,0,0,.55), 0 0 0 1px var(--tmh-gold); }
.tmh-poster img{ width:100%; height:100%; object-fit:cover; display:block; }
.tmh-rating{
	position:absolute; top:9px; left:9px; background:rgba(0,0,0,.82); color:var(--tmh-gold);
	font-size:12.5px; font-weight:800; padding:4px 8px; border-radius:6px; letter-spacing:.2px;
}
.tmh-card h3{ font-size:14.5px; margin:10px 0 2px; line-height:1.3; color:#fff; font-weight:700; }
.tmh-year{ color:var(--tmh-text-faint); font-size:13px; }

/* ---- Pagination ---- */
.tmh-pagination{ display:flex; justify-content:space-between; align-items:center; margin-top:38px; color:var(--tmh-text-dim); font-size:14px; }
.tmh-pagination a{ color:var(--tmh-gold); text-decoration:none; font-weight:700; }
.tmh-more{ color:var(--tmh-gold); text-decoration:none; font-weight:700; }
.tmh-attribution{ color:var(--tmh-text-faint); font-size:12px; margin-top:46px; border-top:1px solid var(--tmh-border); padding-top:18px; }
.tmh-ad{ margin:34px 0; text-align:center; }

/* ---- Detail / single page ---- */
.tmh-backdrop{
	height:380px; background-size:cover; background-position:center top; position:relative; background-color:#000;
}
.tmh-backdrop:after{
	content:""; position:absolute; inset:0;
	background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(14,15,18,.75) 55%,var(--tmh-bg) 100%);
}
.tmh-single{ margin-top:-170px; position:relative; }
.tmh-detail-head{ display:flex; gap:30px; align-items:flex-start; flex-wrap:wrap; }
.tmh-detail-poster{ width:230px; border-radius:12px; box-shadow:0 20px 50px rgba(0,0,0,.6); flex-shrink:0; }
.tmh-detail-head h1{ font-family:var(--tmh-serif); font-size:34px; margin:0; color:#fff; font-weight:700; }
.tmh-detail-head > div{ padding-top:6px; min-width:260px; flex:1; }
.tmh-tagline{ color:var(--tmh-text-dim); font-size:15px; margin:6px 0; }
.tmh-meta-row{ display:flex; gap:16px; flex-wrap:wrap; color:var(--tmh-text-dim); font-size:14.5px; margin:14px 0; align-items:center; }
.tmh-rating-badge{ background:var(--tmh-gold); color:#111; font-weight:800; padding:4px 13px; border-radius:999px; font-size:14px; }
.tmh-genres{ margin:12px 0; }
.tmh-genres a{
	display:inline-block; background:var(--tmh-bg-raised); border:1px solid var(--tmh-border); color:var(--tmh-text);
	text-decoration:none; font-size:12.5px; font-weight:600; padding:5px 12px; border-radius:999px; margin:0 8px 8px 0;
	transition:border-color .15s ease;
}
.tmh-genres a:hover{ border-color:var(--tmh-gold); color:var(--tmh-gold); }
.tmh-credits-line{ color:var(--tmh-text-dim); font-size:14.5px; margin:10px 0; }
.tmh-credits-line strong{ color:#fff; }
.tmh-overview{ max-width:700px; line-height:1.75; color:#d8dadf; margin-top:16px; font-size:15.5px; }

.tmh-providers{ display:flex; gap:10px; flex-wrap:wrap; margin-top:12px; }
.tmh-provider{
	display:flex; align-items:center; gap:7px; background:var(--tmh-bg-raised); border:1px solid var(--tmh-border);
	padding:7px 12px; border-radius:8px; font-size:13px; color:var(--tmh-text);
}
.tmh-provider img{ width:22px; height:22px; border-radius:4px; }

.tmh-trailer{ max-width:820px; aspect-ratio:16/9; margin-top:14px; border-radius:12px; overflow:hidden; }
.tmh-trailer iframe{ width:100%; height:100%; border:0; }

.tmh-cast{ display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:18px; margin-top:12px; }
.tmh-cast-item img{ width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:9px; background:var(--tmh-bg-card); }
.tmh-cast-item strong{ display:block; font-size:13.5px; margin-top:8px; color:#fff; }
.tmh-cast-item span{ display:block; font-size:12.5px; color:var(--tmh-text-faint); margin-top:2px; }

/* ---- Reviews ---- */
.tmh-review-count{ color:var(--tmh-text-faint); font-weight:500; font-size:18px; }
.tmh-reviews{ display:flex; flex-direction:column; gap:18px; max-width:760px; }
.tmh-review-item{
	background:var(--tmh-bg-raised); border:1px solid var(--tmh-border); border-radius:12px; padding:20px;
}
.tmh-review-head{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.tmh-review-avatar{ width:38px; height:38px; border-radius:50%; object-fit:cover; background:var(--tmh-bg-card); flex-shrink:0; }
.tmh-review-author{ display:block; color:#fff; font-size:14px; }
.tmh-review-date{ display:block; color:var(--tmh-text-faint); font-size:12.5px; }
.tmh-review-rating{ margin-left:auto; background:var(--tmh-gold); color:#111; font-weight:800; font-size:13px; padding:4px 10px; border-radius:999px; white-space:nowrap; }
.tmh-review-content{ color:#d8dadf; font-size:14.5px; line-height:1.7; margin:0; white-space:pre-line; }

/* ---- Person (cast/crew) pages — no backdrop, so no negative margin pull-up ---- */
.tmh-person-wrap{ padding-top:36px; }
.tmh-person-photo{ width:220px; aspect-ratio:2/3; object-fit:cover; background:var(--tmh-bg-card); }

/* ---- News ---- */
.tmh-news-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
.tmh-news-item{
	display:flex; flex-direction:column; text-decoration:none; color:inherit; background:var(--tmh-bg-raised);
	border:1px solid var(--tmh-border); border-radius:12px; overflow:hidden; transition:border-color .15s ease,transform .15s ease;
}
.tmh-news-item:hover{ border-color:var(--tmh-gold); transform:translateY(-3px); }
.tmh-news-thumb{ aspect-ratio:16/9; background:var(--tmh-bg-card); overflow:hidden; }
.tmh-news-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.tmh-news-body{ padding:14px 16px 16px; }
.tmh-news-source{ color:var(--tmh-gold); font-size:11.5px; font-weight:800; text-transform:uppercase; letter-spacing:.4px; }
.tmh-news-body h3{ font-size:15px; color:#fff; margin:7px 0 8px; line-height:1.4; font-weight:700; }
.tmh-news-date{ color:var(--tmh-text-faint); font-size:12px; }

/* ---- Homepage ---- */
.tmh-home .tmh-search{ margin-top:4px; }

/* ---- Footer / misc ---- */
.tmh-wrap a{ color:var(--tmh-gold); }

@media(max-width:700px){
	.tmh-topbar-inner{ flex-wrap:wrap; gap:10px 16px; }
	.tmh-nav{ gap:18px; }
	.tmh-detail-poster{ width:150px; }
	.tmh-detail-head h1{ font-size:25px; }
	.tmh-wrap h1{ font-size:27px; }
	.tmh-backdrop{ height:260px; }
	.tmh-single{ margin-top:-120px; }
	.tmh-grid{ grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:16px; }
	.tmh-wrap{ padding:22px 14px 50px; }
}
@media(max-width:420px){
	.tmh-nav{ gap:12px; }
	.tmh-nav a{ font-size:13px; }
	.tmh-logo{ font-size:18px; }
}
