/* UKTDB shared public design — all public pages */
:root{--ink:#17283a;--muted:#66778b;--line:#e5eaf0;--surface:#fff}
*{box-sizing:border-box}body{background:#f8fafc;color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",sans-serif}a{transition:color .2s ease} .container-fluid{max-width:1750px}
.utility-bar{background:#111e2c;color:#dbe5f1;font-size:.85rem;border-bottom:1px solid #34475b}.utility-bar a{color:#dbe5f1;text-decoration:none}.utility-bar a:hover{color:#fff;text-decoration:underline}
.main-nav{background:#23374b;box-shadow:0 4px 18px #13243720}.main-nav .navbar-brand{color:#fff}.brand{font-weight:900;letter-spacing:.065em;font-size:1.55rem}.brand-tagline{font-size:.73rem;font-weight:450;letter-spacing:0;color:#d6e2ef;line-height:1.2;max-width:185px}
.main-nav .navbar-nav{gap:.25rem}.main-nav .nav-link{color:#e7edf4!important;font-weight:650;padding:.78rem 1rem!important;border-radius:6px;text-align:left;transition:background .2s ease}.main-nav .nav-link:hover{background:#ffffff24;color:#fff!important}.main-nav .nav-link.active{background:var(--page-accent);color:#fff!important;box-shadow:inset 0 -3px #0002}
.hero{background:linear-gradient(110deg,var(--page-accent),#24374b);color:#fff;padding:1.35rem 0}.hero h1{font-size:clamp(1.55rem,3vw,2.3rem);font-weight:800}
.media-section{padding:2.3rem 0;background:#f8fafc;position:relative}.media-section+.media-section:before,.stats-wrap:before{content:"";position:absolute;top:0;left:3%;right:3%;height:4px;background:var(--section-accent,#1abc9c);border-radius:5px}.media-section h2{font-weight:850;font-size:clamp(1.3rem,2vw,1.75rem);padding-left:.75rem;border-left:6px solid var(--section-accent)}.section-link{color:var(--section-accent)!important;text-decoration:none;font-weight:750}.section-link:hover{text-decoration:underline}
.media-card{position:relative;display:block;overflow:hidden;border-radius:12px;background:#152334;box-shadow:0 5px 20px #0b25301f;text-decoration:none;transition:transform .2s,box-shadow .2s}.media-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #0b253035}.media-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .35s}.media-card:hover img{transform:scale(1.035)}.media-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#07131fdd);pointer-events:none}.media-card-label{position:absolute;bottom:0;left:0;right:0;z-index:1;padding:2rem .9rem .8rem;color:white;font-size:1.04rem;font-weight:800;text-shadow:0 1px 3px #000}.media-card-label small{display:block;font-size:.82rem;font-weight:500;color:#e4edf6}
.media-card--actor img{aspect-ratio:3/4;object-fit:cover}.media-card--actor .media-card-label{font-size:.78rem;padding:1.4rem .35rem .45rem;text-align:center;line-height:1.25}
.stats-wrap{position:relative;padding:2.7rem 0;--section-accent:#1abc9c}.content-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.4rem;margin-bottom:1.25rem;box-shadow:0 3px 16px #0b25300a}.content-card img{max-width:100%}
/* Shared styles for list and detail pages supplied in phase 1 */
.poster{aspect-ratio:16/9;object-fit:cover;background:#14283c;width:100%;display:block}.tile{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;height:100%;box-shadow:0 3px 14px #0001}.tile a{text-decoration:none;color:inherit}.tile .caption{padding:.8rem;font-weight:750}
.actor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:.9rem}.actor-card{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden;text-align:center;padding:.45rem}.actor-card img{width:100%;aspect-ratio:3/4;object-fit:cover}.actor-name{font-weight:700;padding:.4rem 0}.actor-toolbar{position:sticky;top:0;background:#2980ff;color:white;z-index:100;padding:1rem}.actor-toolbar a{color:white;margin:.2rem}.actor-toolbar a.active{text-decoration:underline;font-weight:bold}
footer{background:#23374b;color:#fff;margin-top:2rem;padding:2rem 0}
@media(max-width:991.98px){.main-nav .navbar-nav{gap:0;padding:.7rem 0}.main-nav .nav-link,.main-nav .nav-link.active{display:block;margin:0!important;padding:.75rem 1rem!important;text-indent:0!important;border-radius:5px}.main-nav .navbar-collapse{width:100%}.brand-tagline{max-width:160px}}
@media(max-width:575.98px){.brand{font-size:1.3rem}.brand-tagline{font-size:.64rem;max-width:125px}.media-section{padding:1.8rem 0}.media-card-label{font-size:.93rem}}

/* Homepage v3: constrained gallery, compact coloured heading bars and original highlights */
.media-section{padding:2rem 0;background:#fff}
.media-section+.media-section:before,.stats-wrap:before{display:none}
.section-heading{background:var(--section-accent);border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.15rem;margin-bottom:1.1rem;color:#fff}
.media-section .section-heading h2{border:0;padding:0;margin:0;font-size:clamp(1.1rem,2vw,1.45rem);font-weight:800;text-transform:uppercase;color:#fff}
.section-heading .section-link{color:#fff!important;font-weight:750;text-decoration:none;white-space:nowrap;font-size:.95rem}
.section-heading .section-link:hover{text-decoration:underline}
.media-card{height:100%}
.media-card img{aspect-ratio:16/9}
.media-card--actor img{aspect-ratio:3/4}
.stats-wrap{background:#19b99e;padding:3rem 0 3.8rem;color:#fff}
.stats-heading{text-align:center;color:#fff;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:850;margin:0 0 1.6rem}
.stat-card{background:#fff;color:#000;border:2px solid #ddd;border-radius:8px;min-height:148px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:1rem .8rem;box-shadow:0 4px 10px #00000013}
.stat-card i{font-size:1.7rem;color:#19b99e;margin-bottom:.55rem}
.stat-label{color:#0fb69b;font-size:.92rem;font-weight:650;text-transform:uppercase;margin-bottom:.15rem}
.stat-value{font-size:clamp(1.15rem,2vw,1.5rem);font-weight:850;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:575.98px){.section-heading{padding:.75rem .85rem;gap:.5rem}.section-heading .section-link{font-size:.8rem}.stat-card{min-height:135px}}

/* Public listing pages — shared landscape card grid */
.listing-section{padding:2rem 0 3rem;background:#fff;min-height:45vh}
.listing-intro{color:#66778b;margin:0 0 1.35rem;font-size:1rem}
.listing-grid .media-card{height:100%}
.listing-grid .media-card img{aspect-ratio:16/9;width:100%;object-fit:cover}
.listing-grid .media-card-label{line-height:1.25;overflow-wrap:anywhere}
.listing-empty{border:1px solid #e5eaf0;border-radius:10px;padding:2rem;text-align:center;color:#66778b;background:#f8fafc}
/* Solid colour for internal page title bar */
.hero{background:var(--page-accent,#1abc9c)!important;background-image:none!important}
/* No gap above the footer */
footer,.site-footer,.copyright{margin-top:0!important}

/* Actors directory — portrait-first layout, scoped to this page */
.actors-listing{background:#fff;min-height:55vh}
.actors-filters{border:1px solid #dbe5f0;border-radius:12px;overflow:hidden;background:#f7faff;box-shadow:0 3px 14px #122e4910}
.actors-filters-heading{background:#2980ff;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.15rem}
.actors-filters-heading strong{font-size:1.13rem}.actors-filters-heading span{font-size:.88rem;opacity:.95}
.actors-filter-controls{padding:1.15rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(205px,260px);gap:1.1rem;align-items:center}
.actors-alphabet{display:flex;flex-wrap:wrap;gap:.35rem}
.actor-letter{background:#fff;border:1px solid #d6e1ed;border-radius:6px;min-width:31px;min-height:34px;padding:.25rem .45rem;color:#24405b;font-weight:700;font-size:.83rem;cursor:pointer}
.actor-letter:hover,.actor-letter:focus-visible{border-color:#2980ff;color:#1764ce}
.actor-letter.active{background:#2980ff;border-color:#2980ff;color:#fff}
.actors-search-label{display:block;color:#34516c;font-size:.82rem;font-weight:700;margin:0}.actors-search-label input{margin-top:.3rem;font-size:.95rem}
.actors-results-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.6rem 0 .9rem}
.actors-results-heading h2{font-size:1.25rem;font-weight:800;margin:0;color:#22374e}
#actors_status{color:#64748b;font-size:.85rem}
.actor-directory-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}
.actor-directory-grid .actor-card{padding:0;background:#fff;border:1px solid #dce4ec;border-radius:10px;overflow:hidden;box-shadow:0 3px 12px #122e4910;transition:transform .18s,box-shadow .18s}
.actor-directory-grid .actor-card:hover{transform:translateY(-3px);box-shadow:0 8px 18px #122e4924}
.actor-directory-grid .actor-card a{display:block;text-decoration:none;color:#20364e;height:100%}
.actor-directory-grid .actor-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:0;background:#e9eef4}
.actor-directory-grid .actor-name{padding:.65rem .45rem;font-weight:750;font-size:.9rem;line-height:1.25;overflow-wrap:anywhere;color:#22374e}
.actors-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:.4rem;margin:2rem 0 0}
.actors-page-button{background:#fff;color:#23507e;border:1px solid #cfdbe8;border-radius:6px;padding:.45rem .75rem;font-weight:700;font-size:.85rem;cursor:pointer}
.actors-page-button.active,.actors-page-button:hover:not(:disabled){background:#2980ff;border-color:#2980ff;color:#fff}
.actors-page-button:disabled{opacity:.45;cursor:default}.actors-page-ellipsis{padding:0 .2rem;color:#66778b}
.actors-empty{grid-column:1/-1;background:#f7faff;border:1px solid #dbe5f0;border-radius:8px;padding:2rem;text-align:center;color:#66778b}
@media(max-width:1199.98px){.actor-directory-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:991.98px){.actor-directory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.actors-filter-controls{grid-template-columns:1fr}}
@media(max-width:575.98px){.actor-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.actor-directory-grid .actor-name{font-size:.78rem;padding:.5rem .3rem}.actors-filters-heading{align-items:flex-start;flex-direction:column;gap:.15rem}.actors-filter-controls{padding:.75rem}.actor-letter{min-width:30px}.actors-results-heading{align-items:flex-start;flex-direction:column;gap:.3rem}}
