/* Refinement layer for the Entertainment / Film / TV / Celebrity cluster
   (2026-08-24). The approved People-style center, ribbon, and masthead stay
   in entertainment-pop.css untouched; this layer only carries the v2.1
   mandate: sticky nav with a compact wordmark, the vertical Cover Story unit,
   Coming soon for empty desks, and the article/author/utility chrome. The
   palette is mirrored at the .layout- level so pages without the .pop-
   wrappers (author, 404, utilities) keep the sector colors. */
.layout-entertainment-pop { --ink: #111; --line: #d8d8d8; --muted: #6b6b6b; --warm: #f3f3f3; --accent: var(--vuga-color-accent, #c8102e); --sector-accent: var(--vuga-color-accent, #c8102e); --marker: #ffe93b; }

/* The screen-reader homepage H1 needs a local rule: the base bundle is not
   loaded by every entertainment page. */
.layout-entertainment-pop .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* 🔒 Sticky menu: the category nav stays pinned to the top of the screen;
   the compact wordmark rides inside it once the masthead scrolls away. */
.layout-entertainment-pop .sector-nav[data-entertainment-nav] { position: sticky; top: 0; z-index: 40; background: #fff; }
.layout-entertainment-pop .pop-nav-logo { display: none; align-items: center; padding-right: .9rem; margin-right: .35rem; border-right: 1px solid var(--line); }
.layout-entertainment-pop .pop-nav-logo strong { font: 900 .92rem/1 'Libre Franklin', sans-serif; letter-spacing: -.02em; text-transform: uppercase; }
.layout-entertainment-pop .pop-nav-logo strong:after { content: '.'; color: var(--sector-accent); }
.pop-scrolled .layout-entertainment-pop .pop-nav-logo { display: inline-flex; }

/* 🔒 Cover Story sidebar unit (the only homepage addition): vertical 3:4
   cover, up to two text lines, closing link; Coming soon while empty. */
.layout-entertainment-pop .pop-cs-side { margin-top: 2rem; border-top: 3px solid var(--ink); padding-top: 1.6rem; }
.layout-entertainment-pop .pop-cs-side h2 { font: 900 .95rem/1 'Libre Franklin', sans-serif; letter-spacing: .12em; text-transform: uppercase; margin: 0; }
.layout-entertainment-pop .pop-cs-side > p { color: var(--muted); margin: .6rem 0 0; line-height: 1.5; }
.layout-entertainment-pop .pop-cs-side > a { color: var(--sector-accent); font: 800 11px/1.2 'Libre Franklin', sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.layout-entertainment-pop .pop-cs-feature { display: block; margin-top: 1rem; }
.layout-entertainment-pop .pop-cs-feature .sector-media { aspect-ratio: 3 / 4; }
.layout-entertainment-pop .pop-cs-feature h3 { font: 800 1.3rem/1.05 'Libre Franklin', sans-serif; margin: .6rem 0 .3rem; }
.layout-entertainment-pop .pop-cs-feature p { margin: .4rem 0 0; color: #3f3f3f; line-height: 1.45; }
.layout-entertainment-pop .pop-cs-more { display: block; padding: 1rem 0; border-top: 1px solid var(--line); }
.layout-entertainment-pop .pop-cs-more h4 { font: 800 1.05rem/1.15 'Libre Franklin', sans-serif; margin: .35rem 0 0; }
.layout-entertainment-pop .pop-cs-all { display: block; margin-top: .9rem; padding-top: .9rem; border-top: 1px solid var(--line); }

/* 🔒 Empty approved rubrics publish a Coming soon card instead of a bare
   grid. */
.layout-entertainment-pop .pop-coming-soon { margin-top: 3rem; padding: 2rem 1.6rem; border: 3px dashed var(--line); background: var(--warm); }
.layout-entertainment-pop .pop-coming-soon .pop-kicker { margin-top: 0; }
.layout-entertainment-pop .pop-coming-soon .pop-coming-title { margin: .5rem 0 0; font: 900 clamp(2rem, 5vw, 3.2rem)/.9 'Libre Franklin', sans-serif; letter-spacing: -.03em; text-transform: uppercase; }
.layout-entertainment-pop .pop-coming-soon p { margin: .6rem 0 1rem; color: #3f3f3f; line-height: 1.5; }
.layout-entertainment-pop .pop-coming-soon a { color: var(--sector-accent); font: 800 11px/1.2 'Libre Franklin', sans-serif; letter-spacing: .1em; text-transform: uppercase; }

/* 🔒 Cover Story category pages keep portrait art portrait: a 3:4 magazine
   grid instead of the horizontal roster. */
.layout-entertainment-pop .pop-category-grid--portrait { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem 1.4rem; }
.layout-entertainment-pop .pop-category-grid--portrait .pop-category-lead { grid-column: span 2; display: block; }
.layout-entertainment-pop .pop-category-grid--portrait .pop-category-lead > a { display: block; }
.layout-entertainment-pop .pop-category-grid--portrait .sector-media { aspect-ratio: 3 / 4; }
.layout-entertainment-pop .pop-category-grid--portrait .pop-category-lead h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }

/* 🔒 Article chrome: caps crumb with an accent Home, ink rule under the
   byline, and the share row in the sector voice. */
.layout-entertainment-pop .pop-crumb { font: 800 11px/1.2 'Libre Franklin', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 1rem; }
.layout-entertainment-pop .pop-crumb a:first-child { color: var(--sector-accent); }
.layout-entertainment-pop .pop-article header .pop-meta { border-bottom: 3px solid var(--ink); padding-bottom: 1.1rem; }
.layout-entertainment-pop .pop-share { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin: 1.1rem 0 0; }
.layout-entertainment-pop .pop-share > span { font: 800 11px/1.2 'Libre Franklin', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-right: .2rem; }
.layout-entertainment-pop .pop-share a { border: 2px solid var(--ink); background: #fff; padding: .5rem .75rem; font: 800 11px/1 'Libre Franklin', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: var(--ink); }
.layout-entertainment-pop .pop-share a:hover { background: var(--marker); }

/* Author page in the sector voice: caps Author label, heavy name over an
   ink rule, square photo tile, card grid below. */
.layout-entertainment-pop .pop-crumb { margin-bottom: 1.2rem; }
.layout-entertainment-pop .sector-author-page { border-bottom: 3px solid var(--ink); }
.layout-entertainment-pop .sector-author-page-photo { border-radius: 0; border: 3px solid var(--ink); box-shadow: 8px -8px 0 -3px var(--warm), 8px -8px 0 0 var(--ink); }
.layout-entertainment-pop .sector-author-page .sector-kicker { font: 800 11px/1.2 'Libre Franklin', sans-serif; letter-spacing: .14em; }
.layout-entertainment-pop .sector-author-page h1 { font: 900 clamp(2.6rem, 6vw, 4.6rem)/.9 'Libre Franklin', sans-serif; letter-spacing: -.04em; }
.layout-entertainment-pop .sector-author-title { color: var(--sector-accent); }
.layout-entertainment-pop .sector-author-articles .sector-section-head { border-bottom: 3px solid var(--ink); }

/* Utility pages wear the sector header: caps crumb, heavy Libre Franklin
   heading over an ink rule; contact shares the same title treatment. */
.layout-entertainment-pop .sector-utility-wrap .sector-crumb, .layout-entertainment-pop .sector-utility .sector-crumb { font: 800 11px/1.2 'Libre Franklin', sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.layout-entertainment-pop .sector-utility .sector-crumb a, .layout-entertainment-pop .pop-crumb a { color: var(--sector-accent); }
.layout-entertainment-pop .sector-utility > h1 { font: 900 clamp(2.6rem, 6vw, 4.6rem)/.9 'Libre Franklin', sans-serif; letter-spacing: -.04em; text-transform: uppercase; border-bottom: 3px solid var(--ink); padding-bottom: 1.1rem; }
.layout-entertainment-pop .sector-utility #contact-page-title { font: 900 clamp(2.6rem, 6vw, 4.6rem)/.9 'Libre Franklin', sans-serif; letter-spacing: -.04em; text-transform: uppercase; border-bottom: 3px solid var(--ink); padding-bottom: 1.1rem; }

@media (max-width: 900px) {
  .layout-entertainment-pop .pop-category-grid--portrait { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .layout-entertainment-pop .pop-category-grid--portrait .pop-category-lead { grid-column: 1 / -1; }
}

/* ---- 2026-09-05 canon alignment (user: width + type scale + card bylines) ---- */
/* Uniform site width: utility pages, article pages and data pages share the
   homepage container width (1200px) instead of the legacy 960/1060 squeeze. */
.layout-entertainment-pop .sector-utility-wrap { width: min(1200px, 100%); }
.layout-entertainment-pop .pop-article { max-width: 1200px; }
.layout-entertainment-pop .pop-article > header { max-width: 840px; }

/* Compact headline canon: utility h1, contact title and category h1 share the
   network scale (clamp to ~3.2rem) instead of the oversized 4.6/9rem display. */
.layout-entertainment-pop .sector-utility > h1,
.layout-entertainment-pop .sector-utility #contact-page-title { font: 900 clamp(2.1rem, 5vw, 3.2rem)/1.05 'Libre Franklin', sans-serif; letter-spacing: -.02em; }
.layout-entertainment-pop .pop-category > header h1 { font: 900 clamp(2.1rem, 5vw, 3.2rem)/1.05 'Libre Franklin', sans-serif; letter-spacing: -.02em; text-transform: uppercase; }

/* Card byline canon: author on its own line, publish date (and category when
   present) on the line below, small muted interface type. */
.pop-byline { margin-top: .6rem; }
.pop-byline b { display: block; font: 800 11px/1.3 'Libre Franklin', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #111; }
.pop-byline time { display: block; font: 600 10px/1.4 'Libre Franklin', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #777; margin-top: .15rem; }

/* ---- 2026-09-05 wave 1b (revised): one shared content width = the nav/footer
   container (1180px, centered). The homepage header menu is the reference:
   every page starts and ends where the menu starts and ends. */
.layout-entertainment-pop .pop-home,
.layout-entertainment-pop .pop-category { max-width: 1180px; margin-left: auto; margin-right: auto; }
.layout-entertainment-pop .sector-utility-wrap { width: min(1180px, 100%); margin: 0 auto; }
.layout-entertainment-pop .data-main { width: min(1180px, 100%); }

/* ---- wave 1c: THE canon gate. Base sector-publication.css squeezes
   .sector-utility to width:min(760px,100%) — the same bug the arts/business/
   education clusters fixed with their layout-scoped width:100% override.
   Utility content now fills the shared 1180px container. */
.layout-entertainment-pop .sector-utility { width: 100%; max-width: none; margin: 0; }
.layout-entertainment-pop .sector-utility--about > .sector-about-body,
.layout-entertainment-pop .sector-utility--about > .about-team,
.layout-entertainment-pop .sector-utility--about > .about-network { width: 100%; margin-inline: 0; }

/* ---- wave 2: card meta stack — category (brand accent) → author → date,
     annotation below. About team: 4 per row, circle photo on top, name
     under it, only the photo links to the author page. */
.pop-byline .pop-cat { display: block; font: 800 11px/1.3 'Libre Franklin', sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--sector-accent); margin-bottom: .2rem; }
.pop-byline b { display: block; font: 800 11px/1.3 'Libre Franklin', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #111; }
.pop-byline time { display: block; font: 600 10px/1.4 'Libre Franklin', sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #777; margin-top: .15rem; }

/* About team grid: 4 columns, round photo up top, name below, same avatar
   size (96px circle). Only the photo is a link to the author page. */
.layout-entertainment-pop .team-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.6rem 1rem; list-style: none; padding: 0; margin: 0; text-align: center; }
.layout-entertainment-pop .team-member a { display: block; text-decoration: none; }
.layout-entertainment-pop .team-member img { border-radius: 50%; width: 96px; height: 96px; object-fit: cover; margin: 0 auto; }
.layout-entertainment-pop .team-member .name { display: block; margin-top: .5rem; font-weight: 700; color: #111; text-decoration: none; }
.layout-entertainment-pop .team-member .title, .layout-entertainment-pop .team-member .line { font-size: .8rem; color: #777; }
@media (max-width: 760px) { .layout-entertainment-pop .team-grid { grid-template-columns: repeat(2, 1fr); } }

/* ---- wave 2b: category pagination buttons (Prev/Next) ---- */
.layout-entertainment-pop .category-pagination-link { display: inline-block; font: 800 12px/1 'Libre Franklin', sans-serif; letter-spacing: .1em; text-transform: uppercase; border: 2px solid #111; padding: .8rem 1.4rem; margin: 0 .4rem; text-decoration: none; color: #111; }
.layout-entertainment-pop .category-pagination-link[rel="next"] { background: var(--sector-accent); }

/* ---- 2026-09-06 wave 3: no breadcrumb on author/about/data (removed in
   markup); author name, bio, about body and data title read smaller. */
.layout-entertainment-pop .sector-author-page-content h1 { font-size: clamp(1.5rem, 3vw, 2rem) !important; }
.layout-entertainment-pop .sector-author-bio { font-size: .92rem !important; }
.layout-entertainment-pop .sector-about-body { font-size: .95rem !important; }
.layout-entertainment-pop .sector-about-body h1, .layout-entertainment-pop .sector-utility > h1 { font-size: clamp(1.6rem, 4vw, 2.2rem) !important; }
.layout-entertainment-pop .data-main h1 { font-size: clamp(1.6rem, 4vw, 2.2rem) !important; }

/* ---- wave 3: Cover Story is strictly vertical (3:4) everywhere —
   home sidebar feature, its empty placeholder, the cover-story category
   grid, and the cover-story article hero. */
.layout-entertainment-pop .pop-cs-feature .sector-media { aspect-ratio: 3/4; }
.layout-entertainment-pop .pop-cs-placeholder { aspect-ratio: 3/4; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; border: 3px solid #111; padding: 1.2rem; text-align: center; }
.layout-entertainment-pop .pop-cs-placeholder span { font: 900 12px/1 'Libre Franklin', sans-serif; letter-spacing: .14em; text-transform: uppercase; background: var(--marker); padding: .2rem .5rem; }
.layout-entertainment-pop .pop-cs-placeholder p { font: 600 12px/1.4 'Libre Franklin', sans-serif; color: #555; margin: 0; }
.layout-entertainment-pop .pop-category-grid--portrait .sector-media { aspect-ratio: 3/4; }
.layout-entertainment-pop .pop-category-grid--portrait .pop-category-lead .sector-media { aspect-ratio: 3/4; }
.layout-entertainment-pop .pop-article-hero--portrait { max-width: 560px; margin-left: 12px; }
.layout-entertainment-pop .pop-article-hero--portrait .sector-media { aspect-ratio: 3/4; }
