/* Punjabi Mania · movie box-office report v3
   “Box Office Nightly”: cinematic answer, warm editorial report, contained data. */

:root {
    --bo-page:#f2eee6; --bo-paper:#fffdf8; --bo-paper-2:#f8f3ea;
    --bo-ink:#17191e; --bo-muted:#696861; --bo-faint:#89857c;
    --bo-line:#ded7ca; --bo-line-2:#ebe4d8;
    --bo-night:#09111c; --bo-night-2:#101b29; --bo-night-line:#29384a;
    --bo-night-text:#f8f5ee; --bo-night-muted:#aab6c3;
    --bo-red:#d82431; --bo-red-deep:#ad1721; --bo-red-soft:#fce8e8;
    --bo-cyan:#1b839e; --bo-cyan-bright:#65d2ed; --bo-cyan-soft:#e4f4f6;
    --bo-gold:#9a6919; --bo-gold-bright:#e5b75a; --bo-gold-soft:#f8edd5;
    --bo-green:#13705a; --bo-shadow:0 14px 42px rgba(36,28,17,.075);
    --bo-radius:22px; --bo-display:'Playfair Display',Georgia,'Times New Roman',serif;
    --bo-ui:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
:root.dark-theme,:root:not(.light-theme) {
    --bo-page:#0c1016; --bo-paper:#151a22; --bo-paper-2:#1a2029;
    --bo-ink:#f5f1e9; --bo-muted:#b6afa4; --bo-faint:#918b83;
    --bo-line:#303640; --bo-line-2:#262c35;
    --bo-night:#060b12; --bo-night-2:#0c1521; --bo-night-line:#273548;
    --bo-night-text:#fbf7ee; --bo-night-muted:#a8b5c3;
    --bo-red:#ff5964; --bo-red-deep:#e83f4b; --bo-red-soft:rgba(255,89,100,.13);
    --bo-cyan:#66d1ed; --bo-cyan-bright:#7ee1f7; --bo-cyan-soft:rgba(102,209,237,.12);
    --bo-gold:#e5ba65; --bo-gold-bright:#f0c870; --bo-gold-soft:rgba(229,186,101,.13);
    --bo-green:#64d3b0; --bo-shadow:0 18px 50px rgba(0,0,0,.24);
}

body.page-type-box-office {
    --pm-page-bg:var(--bo-page); --pm-card-bg:var(--bo-paper); --pm-sub-card-bg:var(--bo-paper-2);
    --pm-border:var(--bo-line); --pm-border-subtle:var(--bo-line-2);
    --pm-text:var(--bo-ink); --pm-text-muted:var(--bo-muted); --pm-text-faint:var(--bo-faint);
    --pm-red:var(--bo-red); --pm-red-light:var(--bo-red-soft);
    --pm-sky:var(--bo-cyan); --pm-sky-light:var(--bo-cyan-soft);
    --pm-green:var(--bo-green); --pm-amber-light:var(--bo-gold-soft); --bom-faint:var(--bo-faint);
    overflow-x:clip; color:var(--bo-ink); background:var(--bo-page)!important;
}
body.page-type-box-office .pm-bom-layout,
body.page-type-box-office .pm-bom-layout *,
body.page-type-box-office .pm-bom-layout *::before,
body.page-type-box-office .pm-bom-layout *::after { box-sizing:border-box; }
body.page-type-box-office .pm-bom-layout {
    --run-accent:var(--bo-cyan); --run-bright:var(--bo-cyan-bright); --run-soft:var(--bo-cyan-soft);
    width:min(1180px,calc(100% - 40px)); margin-inline:auto; padding:22px 0 92px;
    color:var(--bo-ink); font-family:var(--bo-ui);
}
body.page-type-box-office .pm-bom-layout--historical,
body.page-type-box-office .pm-bom-layout--paused,
body.page-type-box-office .pm-bom-layout--empty {
    --run-accent:var(--bo-gold); --run-bright:var(--bo-gold-bright); --run-soft:var(--bo-gold-soft);
}
body.page-type-box-office .pm-bom-layout > *,
body.page-type-box-office .pm-bom-layout section,
body.page-type-box-office .pm-bom-layout article,
body.page-type-box-office .pm-bom-layout nav,
body.page-type-box-office .pm-bom-layout aside,
body.page-type-box-office .pm-bom-layout div { min-width:0; max-width:100%; }
body.page-type-box-office .pm-bom-layout section[id] { scroll-margin-top:150px; }
body.page-type-box-office .pm-bom-layout a { color:inherit; }
body.page-type-box-office .pm-bom-layout button { font-family:inherit; }

/* This report has authored in-flow inventory; never obscure it with the global dock. */
body.page-type-box-office #pm-floating-ad-dock,
body.page-type-box-office #pm-floating-ad-reopen,
body.page-type-box-office .pm-floating-ad-spacer { display:none!important; }
body.page-type-box-office.pm-has-bottom-ad { padding-bottom:0!important; }

/* Film identity. */
body.page-type-box-office .pm-movie-suite-hero--box-office {
    min-height:470px; overflow:hidden; border-bottom:1px solid rgba(111,207,232,.28); background:#070d15;
}
body.page-type-box-office .pm-movie-suite-hero--box-office .pm-movie-suite-hero__bg {
    opacity:.72; filter:saturate(.84) contrast(1.08) brightness(.8); transform:scale(1.035);
}
body.page-type-box-office .pm-movie-suite-hero--box-office .pm-movie-suite-hero__shade {
    background:radial-gradient(circle at 78% 22%,rgba(61,174,202,.18),transparent 35rem),
    linear-gradient(90deg,rgba(4,9,16,.98),rgba(4,9,16,.88) 45%,rgba(4,9,16,.52)),
    linear-gradient(0deg,rgba(4,9,16,1),rgba(4,9,16,.12) 72%);
}
body.page-type-box-office .pm-movie-suite-hero--box-office::before {
    content:''; position:absolute; inset:auto 0 0; z-index:-1; height:3px;
    background:linear-gradient(90deg,var(--bo-red) 0 22%,var(--bo-cyan-bright) 22% 58%,transparent 82%);
    pointer-events:none;
}
body.page-type-box-office .pm-movie-suite-hero--box-office .pm-movie-suite-hero__inner {
    min-height:470px; padding-top:46px; padding-bottom:28px;
}
body.page-type-box-office .pm-movie-suite-hero--box-office h1,
body.page-type-box-office .pm-movie-suite-hero--box-office .pm-movie-suite-back,
body.page-type-box-office .pm-movie-suite-hero--box-office .pm-movie-suite-hero__actions button { color:#fff!important; }
body.page-type-box-office .pm-movie-suite-hero--box-office h1 { text-shadow:0 10px 34px rgba(0,0,0,.4); }
body.page-type-box-office .pm-movie-suite-hero--box-office .pm-movie-suite-eyebrow { color:#8ee3f5!important; }
body.page-type-box-office .pm-movie-suite-hero--box-office .pm-movie-suite-hero__description { color:rgba(255,255,255,.72)!important; }
body.page-type-box-office .pm-movie-suite-hero--box-office .pm-movie-suite-poster {
    border-color:rgba(255,255,255,.24); box-shadow:0 24px 52px rgba(0,0,0,.48);
}
body.page-type-box-office .pm-movie-suite-hero--box-office .movie-nav-tabs {
    background:rgba(4,9,16,.78); border-color:rgba(255,255,255,.14);
}

/* Context and compact report rail. */
.pm-bom-tracker-disclaimer {
    display:flex; align-items:flex-start; gap:9px; margin:0 0 12px; padding:10px 14px;
    border:1px solid var(--bo-line); border-left:3px solid var(--run-accent); border-radius:4px 13px 13px 4px;
    color:var(--bo-muted); background:var(--bo-paper); font-size:11px; line-height:1.55;
}
.pm-bom-tracker-disclaimer strong { color:var(--bo-ink); }
.pm-bom-tracker-disclaimer .material-symbols-outlined { flex:0 0 auto; color:var(--run-accent); font-size:18px; }
.pm-bom-report-rail {
    position:sticky; top:82px; z-index:28; display:flex; gap:4px; max-width:100%; margin:0 0 16px; padding:5px;
    overflow-x:auto; border:1px solid var(--bo-line); border-radius:15px;
    background:color-mix(in srgb,var(--bo-paper) 92%,transparent); box-shadow:0 8px 28px rgba(20,17,12,.08);
    scrollbar-width:none; backdrop-filter:blur(16px); -webkit-overflow-scrolling:touch;
}
.pm-bom-report-rail::-webkit-scrollbar { display:none; }
.pm-bom-report-rail a {
    flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:0 12px;
    border-radius:10px; color:var(--bo-muted)!important; font-size:10px; font-weight:800; text-decoration:none; white-space:nowrap;
}
.pm-bom-report-rail a:first-child { color:#fff!important; background:var(--bo-red); }
.pm-bom-report-rail a:hover { color:var(--bo-ink)!important; background:var(--bo-paper-2); }
.pm-bom-report-rail a:first-child:hover { color:#fff!important; background:var(--bo-red-deep); }
.pm-bom-report-rail .material-symbols-outlined { font-size:16px; }

/* Nightly lead stage. */
.pm-bom-primary-grid {
    display:grid; grid-template-columns:minmax(0,1.55fr) minmax(288px,.62fr); gap:14px; align-items:stretch;
}
.pm-bom-story,.pm-bom-trajectory-card {
    position:relative; isolation:isolate; overflow:hidden; color:var(--bo-night-text); border:1px solid var(--bo-night-line);
    background:radial-gradient(circle at 95% 8%,color-mix(in srgb,var(--run-bright) 15%,transparent),transparent 24rem),
    linear-gradient(142deg,var(--bo-night-2),var(--bo-night) 70%); box-shadow:0 20px 48px rgba(2,7,14,.2);
}
.pm-bom-story::after,.pm-bom-trajectory-card::after {
    content:''; position:absolute; inset:auto -6% -45% auto; z-index:-1; width:270px; aspect-ratio:1;
    border:1px solid color-mix(in srgb,var(--run-bright) 20%,transparent); border-radius:50%;
    box-shadow:0 0 0 34px rgba(255,255,255,.018),0 0 0 70px rgba(255,255,255,.012); pointer-events:none;
}
.pm-bom-story {
    display:grid; grid-template-columns:minmax(0,1.15fr) minmax(210px,.66fr);
    grid-template-areas:'lead stats' 'bars bars'; gap:22px 26px; padding:clamp(22px,3vw,34px); border-radius:var(--bo-radius);
}
.pm-bom-story::before { content:''; position:absolute; inset:0 auto 0 0; width:4px; background:var(--run-bright); }
.pm-bom-story-lead { grid-area:lead; }
.pm-bom-story-eyebrow,.pm-bom-section-intro>p,.pm-bom-also-tracking-eyebrow,.pm-bom-explore-eyebrow {
    margin:0 0 8px; color:var(--run-accent); font-size:10px; font-weight:850; letter-spacing:.14em; text-transform:uppercase;
}
.pm-bom-story-eyebrow { display:flex; align-items:center; gap:8px; color:var(--run-bright); }
.pm-bom-story-eyebrow>span { width:28px; height:2px; border-radius:99px; background:currentColor; }
.pm-bom-story h2,.pm-bom-section-intro h2,.pm-bom-also-tracking h3,.pm-bom-unavailable h2 {
    margin:0; font-family:var(--bo-display); font-weight:800; letter-spacing:-.035em; line-height:1.05; text-wrap:balance;
}
.pm-bom-story h2 { color:var(--bo-night-text); font-size:clamp(30px,3.5vw,47px); }
.pm-bom-story h2 strong { color:var(--run-bright); font-weight:850; }
.pm-bom-story-summary { max-width:68ch; margin:14px 0 0; color:var(--bo-night-muted); font-size:13px; line-height:1.65; }
.pm-bom-story-summary strong { color:var(--bo-night-text); }
.pm-bom-story-status {
    display:inline-flex; align-items:center; gap:7px; max-width:100%; min-height:34px; margin-top:16px; padding:6px 10px;
    border:1px solid rgba(255,255,255,.12); border-radius:999px; color:var(--bo-night-muted);
    background:rgba(255,255,255,.055); font-size:10px; font-weight:800;
}
.pm-bom-story-status .material-symbols-outlined { flex:0 0 auto; font-size:16px; }
.pm-bom-story-status.is-up { color:#76ddb8; } .pm-bom-story-status.is-down { color:#ff8189; }
.pm-bom-story-status.is-soft { color:#f1c66f; } .pm-bom-story-status.is-steady { color:var(--run-bright); }
.pm-bom-story-stats {
    grid-area:stats; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; align-content:start;
}
.pm-bom-story-stats>div { padding:13px; border:1px solid rgba(255,255,255,.105); border-radius:13px; background:rgba(255,255,255,.045); }
.pm-bom-story-stats small,.pm-bom-story-stats strong { display:block; overflow-wrap:anywhere; }
.pm-bom-story-stats small { color:var(--bo-night-muted); font-size:8px; font-weight:800; letter-spacing:.06em; line-height:1.35; text-transform:uppercase; }
.pm-bom-story-stats strong { margin-top:7px; color:var(--bo-night-text); font-size:16px; font-weight:900; line-height:1.15; font-variant-numeric:tabular-nums; }
.pm-bom-story-bars {
    grid-area:bars; display:flex; align-items:end; gap:8px; min-height:104px; padding-top:15px; overflow:hidden;
    border-top:1px solid rgba(255,255,255,.1);
}
.pm-bom-story-bar-item { display:grid; grid-template-rows:18px 60px 18px; flex:1 1 0; align-items:end; min-width:22px; text-align:center; }
.pm-bom-story-bar-value,.pm-bom-story-bar-date {
    overflow:hidden; color:var(--bo-night-muted); font-size:8px; font-weight:800; text-overflow:ellipsis; white-space:nowrap;
}
.pm-bom-story-bar-item i {
    display:block; align-self:end; width:min(30px,72%); height:var(--pm-story-height); min-height:6px; margin-inline:auto;
    border-radius:6px 6px 2px 2px; background:color-mix(in srgb,var(--run-bright) 68%,#183244);
}
.pm-bom-story-bar-item.is-latest i,.pm-bom-story-bar-item.is-peak i {
    background:var(--run-bright); box-shadow:0 0 18px color-mix(in srgb,var(--run-bright) 28%,transparent);
}

/* Visible audience contribution. */
.pm-bom-audience-rating {
    align-self:stretch; padding:22px; border:1px solid var(--bo-line); border-top:4px solid var(--bo-gold);
    border-radius:var(--bo-radius); background:var(--bo-paper); box-shadow:var(--bo-shadow);
}
.pm-bom-audience-rating-summary { display:grid; gap:20px; height:100%; align-content:space-between; }
.pm-bom-audience-rating-copy { display:flex; align-items:flex-start; gap:12px; }
.pm-bom-audience-rating-copy>.material-symbols-outlined {
    display:grid; flex:0 0 46px; width:46px; height:46px; place-items:center;
    border:1px solid color-mix(in srgb,var(--bo-gold) 24%,var(--bo-line)); border-radius:14px;
    color:var(--bo-gold); background:var(--bo-gold-soft); font-size:25px;
}
.pm-bom-rating-kicker { display:block; margin-bottom:5px; color:var(--bo-gold); font-size:9px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.pm-bom-audience-rating h3 { margin:0; color:var(--bo-ink); font-size:20px; line-height:1.18; }
.pm-bom-audience-rating p { margin:8px 0 0; color:var(--bo-muted); font-size:11px; line-height:1.55; }
.pm-bom-audience-rating p strong { display:block; margin-bottom:2px; color:var(--bo-ink); font-family:var(--bo-display); font-size:24px; line-height:1.1; }
.pm-bom-audience-actions { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; }
.pm-bom-rate-button,.pm-bom-inline-share,.pm-bom-rating-save,.pm-bom-rating-cancel {
    display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:46px; border-radius:12px;
    font-size:11px; font-weight:850; cursor:pointer;
}
.pm-bom-rate-button { padding:0 12px; color:#fff; border:1px solid var(--bo-red); background:var(--bo-red); box-shadow:0 10px 22px color-mix(in srgb,var(--bo-red) 20%,transparent); }
.pm-bom-rate-button:hover { border-color:var(--bo-red-deep); background:var(--bo-red-deep); }
.pm-bom-inline-share { padding:0 11px; color:var(--bo-ink); border:1px solid var(--bo-line); background:var(--bo-paper-2); }
.pm-bom-rate-button .material-symbols-outlined,.pm-bom-inline-share .material-symbols-outlined { font-size:18px; }
.pm-bom-rating-panel { margin-top:18px; padding-top:17px; border-top:1px solid var(--bo-line); }
.pm-bom-rating-panel[hidden] { display:none!important; }
.pm-bom-rating-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pm-bom-rating-panel-heading strong,.pm-bom-rating-panel-heading span { display:block; color:var(--bo-ink); }
.pm-bom-rating-panel-heading span { margin-top:3px; color:var(--bo-muted); font-size:10px; }
.pm-bom-rating-panel-heading output { flex:0 0 auto; color:var(--bo-gold); font-size:14px; font-weight:900; }
.pm-bom-score-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; margin-top:14px; }
.pm-bom-score-option { aspect-ratio:1; min-width:0; border:1px solid var(--bo-line); border-radius:10px; color:var(--bo-ink); background:var(--bo-paper-2); font-weight:850; cursor:pointer; }
.pm-bom-score-option:hover,.pm-bom-score-option.is-selected { color:#211708; border-color:var(--bo-gold-bright); background:var(--bo-gold-bright); }
.pm-bom-rating-actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
.pm-bom-rating-save { flex:1 1 140px; color:#fff; border:1px solid var(--bo-red); background:var(--bo-red); }
.pm-bom-rating-save:disabled { opacity:.48; cursor:not-allowed; }
.pm-bom-rating-cancel { padding-inline:15px; color:var(--bo-ink); border:1px solid var(--bo-line); background:var(--bo-paper-2); }
.pm-bom-rating-status { flex:1 0 100%; color:var(--bo-muted); font-size:10px; line-height:1.45; }
.pm-bom-rating-status.is-success { color:var(--bo-green); } .pm-bom-rating-status.is-error { color:var(--bo-red); }

/* Ads: pending is quiet, confirmed no-fill is zero, filled units get a frame. */
body.page-type-box-office [data-pm-ad-wrapper].pm-ad-unfilled,
body.page-type-box-office [data-pm-ad-wrapper][data-pm-ad-state='unfilled-collapsed'],
body.page-type-box-office [data-pm-ad-wrapper][data-pm-ad-state='failed-collapsed'],
body.page-type-box-office [data-pm-ad-wrapper][data-pm-ad-state='blocked-collapsed'],
body.page-type-box-office [data-pm-ad-wrapper]:has(ins[data-ad-status='unfilled']) {
    display:none!important; width:0!important; min-height:0!important; height:0!important; max-height:0!important;
    margin:0!important; padding:0!important; border:0!important; overflow:hidden!important;
}
.pm-bom-ad-slot,.pm-bom-kpi-ad,.pm-bom-regional-ad,.pm-bom-ad-unavailable {
    position:relative; display:grid; width:100%; max-width:100%; min-height:64px; margin:16px 0; padding:19px 8px 7px;
    place-items:center; overflow:hidden; border:0; border-radius:14px; background:transparent;
}
.pm-bom-ad-slot.pm-ad-filled,.pm-bom-kpi-ad.pm-ad-filled,.pm-bom-regional-ad.pm-ad-filled,.pm-bom-ad-unavailable.pm-ad-filled {
    border:1px solid var(--bo-line); background:var(--bo-paper);
}
.pm-bom-kpi-ad.pm-ad-filled,.pm-bom-regional-ad.pm-ad-filled { min-height:280px; }
.pm-bom-ad-label { position:absolute; top:6px; left:50%; color:var(--bo-faint); font-size:8px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; transform:translateX(-50%); }
.pm-bom-ad-slot .adsbygoogle,.pm-bom-kpi-ad .adsbygoogle,.pm-bom-regional-ad .adsbygoogle,.pm-bom-ad-unavailable .adsbygoogle {
    display:block!important; width:100%!important; max-width:100%!important; overflow:hidden!important;
}
.pm-bom-ad-news-transition { display:grid; }

/* Editorial sections. */
.pm-bom-card:not(.pm-bom-trajectory-card),.pm-bom-deep-dive,.pm-bom-regional-demand,.pm-bom-also-tracking,.pm-bom-glossary,.pm-bom-unavailable {
    max-width:100%; border:1px solid var(--bo-line); border-radius:var(--bo-radius); background:var(--bo-paper); box-shadow:var(--bo-shadow);
}
.pm-bom-deep-dive,.pm-bom-regional-demand,.pm-bom-also-tracking,.pm-bom-glossary {
    margin-top:20px; padding:clamp(20px,3vw,30px);
}
.pm-bom-section-intro { max-width:740px; margin-bottom:21px; }
.pm-bom-section-intro h2 { color:var(--bo-ink); font-size:clamp(29px,3.2vw,42px); }
.pm-bom-section-intro>span { display:block; max-width:66ch; margin-top:8px; color:var(--bo-muted); font-size:12px; line-height:1.6; }

/* Bounded trajectory stage. */
.pm-bom-trajectory-card { margin-top:20px; padding:clamp(19px,3vw,28px); border-radius:var(--bo-radius); }
.pm-bom-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.pm-bom-card-title { display:flex; align-items:center; gap:9px; margin:0; color:var(--bo-ink); font-size:19px; line-height:1.2; }
.pm-bom-card-title .material-symbols-outlined { flex:0 0 auto; color:var(--run-accent); font-size:23px; }
.pm-bom-trajectory-card .pm-bom-card-title { color:var(--bo-night-text); }
.pm-bom-trajectory-card .pm-bom-card-title .material-symbols-outlined { color:var(--run-bright); }
.pm-bom-tracker-count,.pm-bom-breakdown-label {
    flex:0 0 auto; padding:5px 8px; border-radius:999px; color:var(--bo-muted); background:var(--bo-paper-2);
    font-size:8px; font-weight:800; white-space:nowrap;
}
.pm-bom-trajectory-card .pm-bom-tracker-count { color:var(--bo-night-muted); background:rgba(255,255,255,.07); }
.pm-bom-chart-legend { display:flex; flex-wrap:wrap; align-items:center; gap:8px 15px; margin-top:15px; color:var(--bo-night-muted); font-size:9px; }
.pm-bom-chart-legend>span { display:inline-flex; align-items:center; gap:6px; }
.pm-bom-chart-legend i { width:8px; height:8px; border-radius:2px; background:var(--run-bright); }
.pm-bom-chart-legend i.is-highlight { background:var(--bo-gold-bright); }
.pm-bom-chart-legend i.is-divider { width:2px; height:12px; background:rgba(255,255,255,.45); }
.pm-bom-chart-instruction { margin-left:auto; } .pm-bom-chart-instruction .material-symbols-outlined { font-size:15px; }
.pm-bom-chart-note { margin:12px 0 0; padding:9px 11px; border:1px solid rgba(255,255,255,.08); border-radius:10px; color:var(--bo-night-muted); background:rgba(255,255,255,.045); font-size:10px; line-height:1.55; }
.pm-bom-chart-wrapper {
    width:100%; max-width:100%; margin-top:10px; padding:32px 0 8px; overflow-x:auto; overflow-y:hidden;
    overscroll-behavior-inline:contain; scrollbar-width:thin; scrollbar-color:#425368 transparent; -webkit-overflow-scrolling:touch;
}
.pm-bom-bar-chart {
    display:flex; align-items:flex-end; justify-content:space-between; gap:10px; width:100%;
    min-width:min(var(--pm-bom-chart-min,100%),760px); height:236px; padding:29px 6px 12px;
    border-bottom:1px solid #3a495c;
    background:repeating-linear-gradient(to bottom,transparent 0 39px,rgba(255,255,255,.05) 39px 40px);
}
.pm-bom-bar-col { position:relative; display:flex; flex:1 1 0; min-width:28px; height:100%; flex-direction:column; align-items:center; justify-content:flex-end; cursor:pointer; }
.pm-bom-bar-col:focus-visible { outline:2px solid var(--run-bright); outline-offset:4px; }
.pm-bom-peak-badge { position:absolute; top:-24px; padding:3px 7px; border:1px solid #bb8933; border-radius:999px; color:#241705; background:var(--bo-gold-bright); font-size:8px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.pm-bom-bar-val-top { max-width:100%; margin-bottom:7px; overflow:hidden; color:#dce6ef; font-size:9px; font-weight:850; text-overflow:ellipsis; white-space:nowrap; }
.pm-bom-bar { width:min(34px,78%); height:var(--pm-bom-bar-height); min-height:12px; border-radius:7px 7px 2px 2px; background:var(--run-bright)!important; box-shadow:none!important; }
.pm-bom-bar-col.is-peak .pm-bom-bar { background:var(--bo-gold-bright)!important; box-shadow:0 0 17px rgba(229,183,90,.28)!important; }
.pm-bom-bar-label { margin-top:8px; color:#96a6b7; font-size:8px; font-weight:750; white-space:nowrap; }
.pm-bom-bar-tooltip { display:none!important; }
.pm-bom-chart-detail-banner { display:grid; grid-template-columns:1.35fr .8fr .7fr; gap:1px; overflow:hidden; margin-top:11px; border:1px solid #314052; border-radius:13px; background:#314052; }
.pm-bom-detail-item { padding:12px 13px; color:#9eacbc; background:rgba(18,28,41,.96); font-size:10px; }
.pm-bom-detail-item span,.pm-bom-detail-item strong { display:block; overflow-wrap:anywhere; }
.pm-bom-detail-item strong { margin-top:4px; color:#f6f4ee; font-size:11px; }
.pm-bom-detail-item .pm-bom-highlight { color:var(--run-bright); font-size:16px; }
.pm-bom-chart-data { margin-top:10px; overflow:hidden; border:1px solid rgba(255,255,255,.11); border-radius:12px; background:rgba(255,255,255,.04); }
.pm-bom-chart-data>summary { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; padding:0 13px; color:var(--bo-night-text); font-size:10px; font-weight:800; cursor:pointer; list-style:none; }
.pm-bom-chart-data>summary::-webkit-details-marker { display:none; }
.pm-bom-chart-data>summary .material-symbols-outlined { color:var(--run-bright); font-size:19px; transition:transform .2s ease; }
.pm-bom-chart-data[open]>summary .material-symbols-outlined { transform:rotate(180deg); }
.pm-bom-chart-data-table { max-width:100%; overflow:auto; border-top:1px solid rgba(255,255,255,.1); scrollbar-width:thin; }
.pm-bom-chart-data table { width:100%; min-width:460px; border-collapse:collapse; color:var(--bo-night-text); font-size:10px; font-variant-numeric:tabular-nums; }
.pm-bom-chart-data th,.pm-bom-chart-data td { padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.08); text-align:left; white-space:nowrap; }
.pm-bom-chart-data thead th { color:var(--bo-night-muted); background:rgba(255,255,255,.035); font-size:8px; letter-spacing:.07em; text-transform:uppercase; }

/* Regional rows: one surface, two lenses. */
.pm-bom-regional-demand { border-top:3px solid var(--run-accent); }
.pm-bom-regional-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:16px; align-items:start; }
.pm-bom-regional-layout:has(.pm-bom-regional-ad.pm-ad-unfilled),
.pm-bom-regional-layout:has(.pm-bom-regional-ad[data-pm-ad-state='unfilled-collapsed']),
.pm-bom-regional-layout:has(.pm-bom-regional-ad[data-pm-ad-state='failed-collapsed']),
.pm-bom-regional-layout:has(.pm-bom-regional-ad[data-pm-ad-state='blocked-collapsed']) {
    grid-template-columns:minmax(0,1fr);
}
.pm-bom-regional-content { overflow:hidden; border:1px solid var(--bo-line); border-radius:17px; background:var(--bo-paper-2); }
.pm-bom-regional-heading { display:flex; align-items:center; gap:11px; padding:15px 17px; border-bottom:1px solid var(--bo-line); background:var(--bo-paper); }
.pm-bom-regional-summary-icon { display:grid; flex:0 0 40px; width:40px; height:40px; place-items:center; border-radius:12px; color:var(--run-accent); background:var(--run-soft); }
.pm-bom-regional-heading strong,.pm-bom-regional-heading small { display:block; }
.pm-bom-regional-heading strong { color:var(--bo-ink); font-family:var(--bo-display); font-size:21px; line-height:1.1; }
.pm-bom-regional-heading small { margin-top:3px; color:var(--bo-muted); font-size:9px; line-height:1.45; }
.pm-bom-regional-disclosure-body { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(270px,.9fr); }
.pm-bom-regional-card,.pm-bom-daypart-card { padding:18px; border:0; border-radius:0; background:transparent; box-shadow:none; }
.pm-bom-daypart-card { border-left:1px solid var(--bo-line); }
.pm-bom-daypart-intro { margin:10px 0 13px; color:var(--bo-muted); font-size:10px; line-height:1.55; }
.pm-bom-table-wrapper { width:100%; max-width:100%; overflow:visible; }
.pm-bom-lens-list { display:grid; overflow:hidden; border:1px solid var(--bo-line); border-radius:13px; background:var(--bo-paper); }
.pm-bom-lens-row { display:grid; grid-template-columns:minmax(120px,.8fr) minmax(190px,1.2fr); grid-template-areas:'name metrics' 'meter meter'; gap:8px 14px; padding:12px 13px; border-bottom:1px solid var(--bo-line-2); background:var(--bo-paper); }
.pm-bom-lens-row:last-child { border-bottom:0; } .pm-bom-lens-row[hidden] { display:none!important; }
.pm-bom-lens-primary { grid-area:name; display:flex; align-items:center; gap:7px; min-width:0; }
.pm-bom-lens-primary>strong { min-width:0; color:var(--bo-ink); font-size:12px; line-height:1.3; overflow-wrap:anywhere; }
.pm-state-chip { flex:0 1 auto; max-width:100px; overflow:hidden; padding:3px 6px; border-radius:999px; color:var(--bo-muted); background:var(--bo-paper-2); font-size:7px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.pm-bom-lens-metrics { grid-area:metrics; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.pm-bom-lens-metrics span,.pm-bom-lens-metrics small,.pm-bom-lens-metrics strong { display:block; min-width:0; }
.pm-bom-lens-metrics small { color:var(--bo-faint); font-size:7px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
.pm-bom-lens-metrics strong { margin-top:4px; color:var(--bo-ink); font-size:11px; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.pm-bom-lens-meter { grid-area:meter; display:block; width:100%; height:3px; overflow:hidden; border-radius:99px; background:var(--bo-line-2); }
.pm-bom-lens-meter i { display:block; height:100%; border-radius:inherit; background:var(--run-accent); }
.pm-bom-city-toggle,.pm-bom-regional-retry { min-height:43px; border:1px solid var(--bo-line); border-radius:11px; color:var(--bo-ink); background:var(--bo-paper); font-size:10px; font-weight:850; cursor:pointer; }
.pm-bom-city-toggle { width:100%; margin-top:8px; }
.pm-bom-regional-error { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:13px; border:1px solid color-mix(in srgb,var(--bo-red) 28%,var(--bo-line)); border-radius:11px; color:var(--bo-muted); background:var(--bo-red-soft); font-size:10px; line-height:1.45; }
.pm-bom-regional-retry { flex:0 0 auto; padding-inline:12px; color:#fff; border-color:var(--bo-red); background:var(--bo-red); }
.pm-bom-state-totals-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin-top:9px; }
.pm-bom-state-card { padding:12px; border:1px solid var(--bo-line); border-radius:11px; background:var(--bo-paper); }
.pm-bom-state-name { color:var(--bo-muted); font-size:8px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.pm-bom-state-val { margin-top:5px; color:var(--bo-ink); font-size:17px; font-weight:900; font-variant-numeric:tabular-nums; }
.pm-bom-state-sub { margin-top:4px; color:var(--bo-faint); font-size:8px; line-height:1.45; }

/* Essential signals and timeline. Flexible aliases cover the simplified template. */
.pm-bom-kpi-ad-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:16px; align-items:stretch; }
.pm-bom-kpi-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.pm-bom-kpi-card { padding:17px; border:1px solid var(--bo-line); border-radius:14px; background:var(--bo-paper-2); }
.pm-bom-kpi-top { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.pm-bom-kpi-label { color:var(--bo-ink); font-size:12px; }
.pm-bom-kpi-definition { flex:0 0 auto; padding:4px 7px; border-radius:999px; color:var(--run-accent); background:var(--run-soft); font-size:8px; font-weight:800; white-space:nowrap; }
.pm-bom-kpi-val { margin-top:24px; color:var(--run-accent); font-family:var(--bo-display); font-size:30px; font-weight:850; line-height:1; font-variant-numeric:tabular-nums; }
.pm-bom-kpi-val small { font:800 10px/1 var(--bo-ui); }
.pm-bom-kpi-sub { margin-top:7px; color:var(--bo-muted); font-size:10px; line-height:1.4; }
.pm-bom-kpi-explainer { margin:11px 0 0; color:var(--bo-faint); font-size:9px; line-height:1.5; }
.pm-bom-insights-disclosure { margin-top:16px; overflow:hidden; border:1px solid var(--bo-line); border-radius:17px; background:var(--bo-paper-2); }
.pm-bom-insights-heading { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:11px; padding:15px 17px; border-bottom:1px solid var(--bo-line); background:var(--bo-paper); }
.pm-bom-insights-summary-icon { display:grid; width:40px; height:40px; place-items:center; border-radius:12px; color:var(--run-accent); background:var(--run-soft); }
.pm-bom-insights-summary-copy small,.pm-bom-insights-summary-copy strong,.pm-bom-insights-summary-copy span { display:block; }
.pm-bom-insights-summary-copy small { color:var(--run-accent); font-size:8px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.pm-bom-insights-summary-copy strong { margin-top:3px; color:var(--bo-ink); font-family:var(--bo-display); font-size:21px; line-height:1.12; }
.pm-bom-insights-summary-copy span { margin-top:3px; color:var(--bo-muted); font-size:9px; }
.pm-bom-insights-preview { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.pm-bom-insights-preview em { padding:5px 7px; border-radius:999px; color:var(--bo-muted); background:var(--bo-paper-2); font-size:8px; font-style:normal; font-weight:800; }
.pm-bom-insights-body { padding:22px 18px 18px; }
.pm-bom-milestone-showcase { position:relative; }
.pm-bom-milestones-2x2,.pm-bom-run-timeline { position:relative; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; }
.pm-bom-milestones-2x2::before,.pm-bom-run-timeline::before { content:''; position:absolute; top:16px; left:8%; right:8%; height:2px; background:var(--bo-line); }
.pm-bom-milestone-card,.pm-bom-run-timeline-item { position:relative; padding:38px 14px 15px; border:0; background:transparent; }
.pm-bom-milestone-card::before,.pm-bom-run-timeline-item::before { content:''; position:absolute; top:10px; left:14px; z-index:1; width:14px; height:14px; border:4px solid var(--bo-paper-2); border-radius:50%; background:var(--run-accent); box-shadow:0 0 0 2px var(--run-accent); }
.pm-bom-milestone-tag { min-height:25px; color:var(--bo-muted); font-size:8px; font-weight:850; letter-spacing:.06em; line-height:1.35; text-transform:uppercase; }
.pm-bom-milestone-val { margin-top:9px; color:var(--bo-ink); font-family:var(--bo-display); font-size:20px; font-weight:850; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.pm-bom-milestone-desc { margin-top:6px; color:var(--bo-faint); font-size:9px; line-height:1.5; }
.pm-bom-analytics-grid,.pm-bom-hold-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:12px; }
.pm-bom-analytics-card,.pm-bom-hold-card { padding:15px; border:1px solid var(--bo-line); border-radius:13px; background:var(--bo-paper); }
.pm-bom-analytics-header { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; margin-bottom:11px; }
.pm-bom-analytics-title { display:flex; align-items:center; gap:7px; color:var(--bo-ink); font-size:11px; font-weight:850; line-height:1.35; }
.pm-bom-analytics-title .material-symbols-outlined { flex:0 0 auto; font-size:18px; }
.pm-bom-metric-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(80px,auto); gap:10px; padding:9px 0; border-top:1px solid var(--bo-line-2); }
.pm-bom-metric-label { color:var(--bo-muted); font-size:9px; line-height:1.4; }
.pm-bom-metric-value { max-width:145px; color:var(--bo-ink)!important; font-size:10px; font-weight:850; line-height:1.4; text-align:right; overflow-wrap:anywhere; }
.pm-bom-tracking-status { justify-self:end; padding:3px 7px; border-radius:999px; background:var(--bo-paper-2); }
.pm-bom-tracking-status.is-positive { color:var(--bo-green)!important; } .pm-bom-tracking-status.is-caution { color:var(--bo-gold)!important; }
.pm-bom-empty-analysis { padding:13px; border-radius:10px; color:var(--bo-muted); background:var(--bo-paper-2); font-size:10px; line-height:1.5; }
.pm-bom-speedometer-list { display:grid; }
.pm-bom-speedometer-item { display:flex; align-items:center; justify-content:space-between; gap:9px; padding:9px 0; border-top:1px solid var(--bo-line-2); }
.pm-bom-speed-milestone { color:var(--bo-muted); font-size:9px; }
.pm-bom-speed-days { flex:0 1 auto; max-width:58%; padding:4px 7px; border-radius:999px; font-size:8px; font-weight:850; line-height:1.3; text-align:right; overflow-wrap:anywhere; }

/* Consolidated run story. The numbered markers carry the timeline themselves,
   while the holding panel translates the calculations into one readable view. */
.pm-bom-run-essentials { overflow:hidden; }
.pm-bom-run-timeline { margin:0; padding:0; list-style:none; }
.pm-bom-run-timeline-item { min-height:132px; margin:0; list-style:none; }
.pm-bom-run-timeline-item::before { display:none; }
.pm-bom-run-timeline-marker {
    position:absolute; top:7px; left:12px; z-index:2; display:grid; width:20px; height:20px; place-items:center;
    border:3px solid var(--bo-paper); border-radius:50%; color:#fff; background:var(--run-accent);
    box-shadow:0 0 0 2px var(--run-accent); font-size:8px; font-weight:900;
}
.pm-bom-run-timeline-item.is-pending .pm-bom-run-timeline-marker { color:var(--bo-muted); background:var(--bo-paper-2); box-shadow:0 0 0 2px var(--bo-line); }
.pm-bom-run-timeline-item.is-partial .pm-bom-run-timeline-marker { color:#241705; background:var(--bo-gold-bright); box-shadow:0 0 0 2px var(--bo-gold); }
.pm-bom-run-timeline-item.is-peak .pm-bom-run-timeline-marker { color:#241705; background:var(--bo-gold-bright); box-shadow:0 0 0 2px var(--bo-gold); font-size:13px; }
.pm-bom-run-timeline-copy { min-width:0; }
.pm-bom-run-timeline-label,.pm-bom-run-timeline-value,.pm-bom-run-timeline-note { display:block; }
.pm-bom-run-timeline-label { color:var(--bo-muted); font-size:8px; font-weight:850; letter-spacing:.06em; line-height:1.35; text-transform:uppercase; }
.pm-bom-run-timeline-value { margin-top:8px; color:var(--bo-ink); font-family:var(--bo-display); font-size:20px; line-height:1.1; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.pm-bom-run-timeline-note { margin-top:6px; color:var(--bo-faint); font-size:9px; line-height:1.45; }

.pm-bom-hold-panel { margin-top:12px; overflow:hidden; border:1px solid var(--bo-line); border-radius:15px; background:var(--bo-paper); }
.pm-bom-hold-panel-head { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; padding:15px 17px; border-bottom:1px solid var(--bo-line); }
.pm-bom-hold-panel-head p { margin:0 0 3px; color:var(--run-accent); font-size:8px; font-weight:850; letter-spacing:.1em; text-transform:uppercase; }
.pm-bom-hold-panel-head h3 { margin:0; color:var(--bo-ink); font-family:var(--bo-display); font-size:21px; line-height:1.15; }
.pm-bom-hold-badges { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px; }
.pm-bom-hold-badge { padding:5px 8px; border:1px solid var(--bo-line); border-radius:999px; color:var(--bo-muted); background:var(--bo-paper-2); font-size:8px; font-weight:850; line-height:1.2; }
.pm-bom-hold-badge.is-positive { color:var(--bo-green); background:color-mix(in srgb,var(--bo-green) 9%,var(--bo-paper)); }
.pm-bom-hold-badge.is-caution { color:var(--bo-gold); background:var(--bo-gold-soft); }
.pm-bom-hold-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:0; }
.pm-bom-hold-metric { margin:0; padding:15px; border-right:1px solid var(--bo-line-2); }
.pm-bom-hold-metric:last-child { border-right:0; }
.pm-bom-hold-metric dt { color:var(--bo-muted); font-size:8px; font-weight:850; letter-spacing:.05em; text-transform:uppercase; }
.pm-bom-hold-metric dd { margin:0; }
.pm-bom-hold-value { display:block; margin-top:9px; color:var(--bo-ink); font-family:var(--bo-display); font-size:22px; line-height:1; font-variant-numeric:tabular-nums; }
.pm-bom-hold-metric dd small { display:block; margin-top:6px; color:var(--bo-faint); font-size:8px; line-height:1.45; }
.pm-bom-hold-metric.is-strong .pm-bom-hold-value { color:var(--bo-green); }
.pm-bom-hold-metric.is-moderate .pm-bom-hold-value { color:var(--run-accent); }
.pm-bom-hold-metric.is-soft .pm-bom-hold-value { color:var(--bo-red); }
.pm-bom-hold-metric.is-pending .pm-bom-hold-value { color:var(--bo-muted); }
.pm-bom-pace-strip { padding:15px 17px; border-top:1px solid var(--bo-line); background:var(--bo-paper-2); }
.pm-bom-pace-strip-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; }
.pm-bom-pace-strip-head strong { color:var(--bo-ink); font-size:11px; }
.pm-bom-pace-strip-head span { color:var(--bo-muted); font-size:8px; line-height:1.4; text-align:right; }
.pm-bom-pace-list { display:flex; flex-wrap:wrap; gap:6px; margin:11px 0 0; padding:0; list-style:none; }
.pm-bom-pace-item { display:inline-flex; align-items:center; gap:7px; min-height:34px; margin:0; padding:6px 9px; border:1px solid var(--bo-line); border-radius:10px; color:var(--bo-muted); background:var(--bo-paper); font-size:8px; }
.pm-bom-pace-item strong { color:var(--bo-ink); font-size:8px; }
.pm-bom-pace-item.is-passed { border-color:color-mix(in srgb,var(--run-accent) 24%,var(--bo-line)); }
.pm-bom-pace-item.is-passed::before { content:'✓'; color:var(--bo-green); font-weight:900; }
.pm-bom-pace-item.is-pending::before { content:'·'; color:var(--bo-gold); font-size:18px; line-height:0; }
.pm-bom-pace-empty { margin:10px 0 0; color:var(--bo-muted); font-size:9px; line-height:1.5; }

.pm-bom-bar-chart.is-sampled { min-width:100%; }
.pm-bom-chart-sample-note { display:block; margin:8px 0 0; color:var(--bo-night-muted); font-size:8px; line-height:1.45; }
.pm-bom-explore-movie { display:grid; grid-template-columns:minmax(0,.85fr) minmax(390px,1.15fr); gap:18px; margin-top:15px; padding:17px; border:1px solid var(--bo-line); border-radius:14px; background:var(--bo-paper); }
.pm-bom-explore-copy h3 { margin:0; color:var(--bo-ink); font-size:17px; line-height:1.25; }
.pm-bom-explore-copy p { margin:6px 0 0; color:var(--bo-muted); font-size:9px; line-height:1.5; }
.pm-bom-explore-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.pm-bom-explore-links a { display:flex; align-items:center; gap:7px; min-height:46px; padding:8px 10px; border:1px solid var(--bo-line); border-radius:10px; color:var(--bo-ink); background:var(--bo-paper-2); text-decoration:none; }
.pm-bom-explore-links a .material-symbols-outlined { flex:0 0 auto; color:var(--run-accent); font-size:18px; }
.pm-bom-explore-links a>span:last-child { min-width:0; }
.pm-bom-explore-links strong,.pm-bom-explore-links small { display:block; overflow-wrap:anywhere; }
.pm-bom-explore-links strong { font-size:9px; } .pm-bom-explore-links small { margin-top:2px; color:var(--bo-muted); font-size:7px; }

/* Related runs: complete cards, never a clipped carousel. */
.pm-bom-also-tracking-head { display:flex; align-items:end; justify-content:space-between; gap:18px; }
.pm-bom-also-tracking h3 { color:var(--bo-ink); font-size:clamp(28px,3vw,39px); }
.pm-bom-also-tracking-desc { max-width:66ch; margin:8px 0 0; color:var(--bo-muted); font-size:11px; line-height:1.55; }
.pm-bom-also-tracking-all { display:inline-flex; align-items:center; gap:5px; flex:0 0 auto; min-height:40px; color:var(--bo-red)!important; font-size:10px; font-weight:850; text-decoration:none; }
.pm-bom-also-tracking-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:17px; }
.pm-bom-related-movie { display:grid; grid-template-columns:72px minmax(0,1fr) auto; gap:12px; min-height:118px; padding:10px; overflow:hidden; border:1px solid var(--bo-line); border-radius:14px; color:inherit; background:var(--bo-paper-2); text-decoration:none; }
.pm-bom-related-movie:hover { border-color:color-mix(in srgb,var(--bo-red) 40%,var(--bo-line)); background:var(--bo-paper); }
.pm-bom-related-poster { display:grid; width:72px; height:98px; overflow:hidden; place-items:center; border-radius:9px; color:var(--bo-muted); background:var(--bo-line-2); }
.pm-bom-related-poster img { display:block; width:100%; height:100%; object-fit:cover; }
.pm-bom-related-copy { align-self:center; min-width:0; }
.pm-bom-related-copy>strong { display:block; margin-top:4px; color:var(--bo-ink); font-size:14px; line-height:1.25; overflow-wrap:anywhere; }
.pm-bom-related-live { display:flex; align-items:center; gap:5px; color:var(--bo-muted); font-size:8px; line-height:1.35; }
.pm-bom-related-live>span { flex:0 0 6px; width:6px; height:6px; border-radius:50%; background:var(--bo-red); box-shadow:0 0 0 3px var(--bo-red-soft); }
.pm-bom-related-figures { display:flex; flex-wrap:wrap; gap:9px 15px; margin-top:8px; }
.pm-bom-related-figures small,.pm-bom-related-figures b { display:block; }
.pm-bom-related-figures small { color:var(--bo-faint); font-size:7px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.pm-bom-related-figures b { margin-top:2px; color:var(--bo-ink); font-size:11px; font-variant-numeric:tabular-nums; }
.pm-bom-related-meta { display:block; margin-top:6px; color:var(--bo-faint); font-size:8px; }
.pm-bom-related-arrow { align-self:center; color:var(--bo-red); font-size:21px; }

/* Indexable terminology, compact rather than dominant. */
.pm-bom-glossary-heading,.pm-bom-glossary-summary-copy { display:flex; align-items:center; gap:11px; }
.pm-bom-glossary-summary-copy>.material-symbols-outlined { display:grid; flex:0 0 40px; width:40px; height:40px; place-items:center; border-radius:12px; color:var(--bo-red); background:var(--bo-red-soft); }
.pm-bom-glossary-summary-copy strong,.pm-bom-glossary-summary-copy small { display:block; }
.pm-bom-glossary-summary-copy strong { color:var(--bo-ink); font-size:13px; }
.pm-bom-glossary-summary-copy small { margin-top:3px; color:var(--bo-muted); font-size:9px; line-height:1.4; }
.pm-bom-glossary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; margin-top:15px; border:1px solid var(--bo-line); border-radius:13px; background:var(--bo-line); }
.pm-bom-glossary-card { padding:14px; background:var(--bo-paper-2); }
.pm-bom-glossary-term { display:flex; align-items:center; gap:7px; color:var(--bo-ink); font-size:11px; font-weight:850; line-height:1.35; }
.pm-bom-glossary-desc { margin-top:7px; color:var(--bo-muted); font-size:9px; line-height:1.55; }

/* Inline sharing supersedes every legacy fixed share control. */
.pm-bom-floating-share,.pm-bom-mobile-share { display:none!important; }

/* Upcoming / unavailable state. */
.pm-bom-unavailable-layout { display:grid!important; grid-template-columns:minmax(0,1fr) 300px; gap:16px; align-items:start; }
.pm-bom-unavailable { padding:clamp(22px,4vw,40px); }
.pm-bom-unavailable__main { display:flex; align-items:flex-start; gap:16px; }
.pm-bom-unavailable__icon { display:grid; flex:0 0 50px; width:50px; height:50px; place-items:center; border-radius:15px; color:var(--run-accent); background:var(--run-soft); }
.pm-bom-unavailable__eyebrow { color:var(--run-accent); font-size:9px; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.pm-bom-unavailable h2 { margin-top:6px; color:var(--bo-ink); font-size:clamp(29px,4vw,46px); }
.pm-bom-unavailable__lead,.pm-bom-unavailable__copy { color:var(--bo-muted); font-size:12px; line-height:1.65; }
.pm-bom-unavailable__facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:18px; }
.pm-bom-unavailable__fact { display:flex; gap:9px; padding:13px; border:1px solid var(--bo-line); border-radius:12px; background:var(--bo-paper-2); }
.pm-bom-unavailable__fact strong,.pm-bom-unavailable__fact small { display:block; overflow-wrap:anywhere; }
.pm-bom-unavailable__fact strong { color:var(--bo-ink); font-size:11px; }
.pm-bom-unavailable__fact small { margin-top:3px; color:var(--bo-muted); font-size:9px; line-height:1.4; }
.pm-bom-unavailable__footer { margin-top:18px; }
.pm-bom-unavailable__note { color:var(--bo-muted); font-size:10px; line-height:1.5; }
.pm-bom-unavailable__actions { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.pm-bom-unavailable__action,.pm-bom-unavailable__all-reports { display:inline-flex; align-items:center; gap:6px; min-height:43px; padding:0 13px; border:1px solid var(--bo-line); border-radius:10px; color:var(--bo-ink); background:var(--bo-paper-2); font-size:10px; font-weight:800; text-decoration:none; }
.pm-bom-unavailable__action.is-primary { color:#fff; border-color:var(--bo-red); background:var(--bo-red); }

.pm-bom-layout a:focus-visible,.pm-bom-layout button:focus-visible,.pm-bom-layout summary:focus-visible,
.pm-bom-layout [tabindex='0']:focus-visible { outline:3px solid color-mix(in srgb,var(--run-accent) 62%,#fff); outline-offset:3px; }

@media (max-width:1080px) {
    .pm-bom-primary-grid { grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr); }
    .pm-bom-regional-layout,.pm-bom-kpi-ad-layout { grid-template-columns:1fr; }
    .pm-bom-regional-ad,.pm-bom-kpi-ad { display:none!important; }
    .pm-bom-analytics-grid,.pm-bom-hold-grid { grid-template-columns:1fr; }
    .pm-bom-explore-movie { grid-template-columns:1fr; }
    .pm-bom-explore-links { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:860px) {
    body.page-type-box-office .pm-bom-layout { width:min(calc(100% - 28px),760px); }
    .pm-bom-primary-grid { grid-template-columns:1fr; }
    .pm-bom-audience-rating-summary { grid-template-columns:minmax(0,1fr) minmax(260px,.65fr); align-items:center; }
    .pm-bom-regional-disclosure-body { grid-template-columns:1fr; }
    .pm-bom-daypart-card { border-top:1px solid var(--bo-line); border-left:0; }
    .pm-bom-milestones-2x2,.pm-bom-run-timeline { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:14px; }
    .pm-bom-milestones-2x2::before,.pm-bom-run-timeline::before { display:none; }
    .pm-bom-milestone-card,.pm-bom-run-timeline-item { padding-top:32px; }
    .pm-bom-hold-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pm-bom-hold-metric:nth-child(2) { border-right:0; }
    .pm-bom-hold-metric:nth-child(n+3) { border-top:1px solid var(--bo-line-2); }
    .pm-bom-also-tracking-list { grid-template-columns:1fr; }
}
@media (max-width:767px) {
    body.page-type-box-office .pm-movie-suite-hero--box-office,
    body.page-type-box-office .pm-movie-suite-hero--box-office .pm-movie-suite-hero__inner { min-height:390px; }
    body.page-type-box-office .pm-movie-suite-hero--box-office .pm-movie-suite-hero__inner { padding-top:24px; padding-bottom:18px; }
    body.page-type-box-office .pm-movie-suite-hero--box-office .pm-movie-suite-hero__bg { opacity:.63; object-position:center 20%; }
    body.page-type-box-office .pm-bom-layout { width:100%; padding:12px 14px 68px; }
    body.page-type-box-office .pm-bom-layout section[id] { scroll-margin-top:82px; }
    .pm-bom-tracker-disclaimer { margin-bottom:10px; padding:9px 11px; font-size:10px; }
    .pm-bom-report-rail { position:relative; top:auto; z-index:1; margin-bottom:11px; border-radius:13px; box-shadow:none; }
    .pm-bom-report-rail a { min-height:38px; padding-inline:10px; font-size:9px; }
    .pm-bom-primary-grid { gap:10px; }
    .pm-bom-story { grid-template-columns:1fr; grid-template-areas:'lead' 'stats' 'bars'; gap:17px; padding:20px 16px; border-radius:18px; }
    .pm-bom-story h2 { font-size:clamp(29px,9.4vw,39px); }
    .pm-bom-story-summary { font-size:12px; line-height:1.6; }
    .pm-bom-story-status { border-radius:11px; line-height:1.35; }
    .pm-bom-story-stats>div { padding:11px; } .pm-bom-story-stats strong { font-size:14px; }
    .pm-bom-story-bars { gap:6px; min-height:98px; overflow-x:auto; scrollbar-width:none; }
    .pm-bom-story-bars::-webkit-scrollbar { display:none; }
    .pm-bom-story-bar-item { flex:1 0 31px; max-width:54px; }
    .pm-bom-audience-rating { padding:17px 15px; border-radius:18px; }
    .pm-bom-audience-rating-summary { grid-template-columns:minmax(0,1fr) auto; gap:12px; }
    .pm-bom-audience-rating-copy>.material-symbols-outlined { width:40px; height:40px; flex-basis:40px; }
    .pm-bom-audience-rating h3 { font-size:17px; } .pm-bom-audience-rating p strong { font-size:21px; }
    .pm-bom-audience-actions { grid-template-columns:1fr; width:142px; }
    .pm-bom-rate-button,.pm-bom-inline-share { min-height:42px; padding-inline:9px; font-size:9px; white-space:nowrap; }
    .pm-bom-score-grid { gap:5px; }
    .pm-bom-ad-slot { min-height:54px; margin:10px 0; padding-inline:3px; }
    .pm-bom-ad-news-transition { display:grid; }
    .pm-bom-regional-ad,.pm-bom-kpi-ad { display:none!important; }
    .pm-bom-trajectory-card,.pm-bom-deep-dive,.pm-bom-regional-demand,.pm-bom-also-tracking,.pm-bom-glossary { margin-top:13px; border-radius:18px; }
    .pm-bom-trajectory-card { padding:18px 13px; }
    .pm-bom-deep-dive,.pm-bom-regional-demand,.pm-bom-also-tracking,.pm-bom-glossary { padding:18px 15px; }
    .pm-bom-section-intro { margin-bottom:15px; } .pm-bom-section-intro h2 { font-size:29px; }
    .pm-bom-section-intro>span { font-size:11px; }
    .pm-bom-card-header { display:grid; gap:7px; } .pm-bom-card-title { font-size:17px; }
    .pm-bom-tracker-count,.pm-bom-breakdown-label { justify-self:start; }
    .pm-bom-chart-instruction { display:none!important; }
    .pm-bom-chart-wrapper { padding-top:28px; }
    .pm-bom-bar-chart { min-width:min(var(--pm-bom-chart-min,100%),580px); height:216px; }
    .pm-bom-bar-col { min-width:25px; }
    .pm-bom-chart-detail-banner { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pm-bom-detail-item:first-child { grid-column:1/-1; }
    .pm-bom-chart-data table { min-width:420px; }
    .pm-bom-regional-content { border:0; border-radius:0; background:transparent; }
    .pm-bom-regional-heading { padding:0 0 13px; background:transparent; }
    .pm-bom-regional-disclosure-body { display:block; }
    .pm-bom-regional-card,.pm-bom-daypart-card { padding:14px 0 0; }
    .pm-bom-daypart-card { margin-top:14px; }
    .pm-bom-lens-row { grid-template-columns:minmax(0,1fr); grid-template-areas:'name' 'metrics' 'meter'; gap:8px; padding:11px; }
    .pm-bom-lens-metrics { gap:8px; } .pm-bom-lens-metrics>span:last-child { text-align:right; }
    .pm-bom-regional-error { align-items:flex-start; flex-direction:column; }
    .pm-bom-regional-retry { width:100%; }
    .pm-bom-state-totals-grid { grid-template-columns:1fr; }
    .pm-bom-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
    .pm-bom-kpi-card { padding:13px 11px; } .pm-bom-kpi-top { display:block; }
    .pm-bom-kpi-definition { display:inline-block; margin-top:6px; }
    .pm-bom-kpi-val { margin-top:18px; font-size:25px; } .pm-bom-kpi-explainer { display:none; }
    .pm-bom-insights-heading { grid-template-columns:auto minmax(0,1fr); padding:13px; }
    .pm-bom-insights-summary-copy strong { font-size:18px; }
    .pm-bom-insights-summary-copy span,.pm-bom-insights-preview { display:none; }
    .pm-bom-insights-body { padding:15px 11px; }
    .pm-bom-milestones-2x2,.pm-bom-run-timeline { grid-template-columns:1fr; gap:0; padding-left:4px; }
    .pm-bom-milestones-2x2::before,.pm-bom-run-timeline::before { display:block; top:8px; bottom:8px; left:12px; right:auto; width:2px; height:auto; }
    .pm-bom-milestone-card,.pm-bom-run-timeline-item { padding:7px 8px 20px 36px; }
    .pm-bom-milestone-card::before,.pm-bom-run-timeline-item::before { top:10px; left:3px; }
    .pm-bom-run-timeline-marker { top:7px; left:3px; }
    .pm-bom-run-timeline-item { min-height:0; }
    .pm-bom-milestone-tag { min-height:0; } .pm-bom-milestone-val { margin-top:5px; font-size:19px; }
    .pm-bom-hold-panel-head { display:block; padding:13px; }
    .pm-bom-hold-badges { justify-content:flex-start; margin-top:9px; }
    .pm-bom-hold-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pm-bom-hold-metric { padding:12px; }
    .pm-bom-hold-value { font-size:19px; }
    .pm-bom-pace-strip { padding:13px; }
    .pm-bom-pace-strip-head { display:block; }
    .pm-bom-pace-strip-head span { display:block; margin-top:3px; text-align:left; }
    .pm-bom-pace-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pm-bom-pace-item { min-width:0; justify-content:space-between; }
    .pm-bom-analytics-grid,.pm-bom-hold-grid { grid-template-columns:1fr; gap:7px; }
    .pm-bom-analytics-card,.pm-bom-hold-card { padding:13px; }
    .pm-bom-explore-movie { padding:13px; } .pm-bom-explore-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .pm-bom-also-tracking-head { display:block; } .pm-bom-also-tracking h3 { font-size:29px; }
    .pm-bom-also-tracking-all { margin-top:9px; } .pm-bom-also-tracking-list { grid-template-columns:1fr; gap:7px; }
    .pm-bom-related-movie { grid-template-columns:66px minmax(0,1fr) auto; min-height:105px; padding:8px; }
    .pm-bom-related-poster { width:66px; height:91px; } .pm-bom-related-copy>strong { font-size:13px; }
    .pm-bom-glossary-grid { grid-template-columns:1fr; } .pm-bom-glossary-card { padding:12px; }
    .pm-bom-unavailable-layout { grid-template-columns:1fr; } .pm-bom-unavailable__facts { grid-template-columns:1fr; }
}
@media (max-width:390px) {
    body.page-type-box-office .pm-bom-layout { padding-inline:10px; }
    .pm-bom-audience-rating-summary { grid-template-columns:1fr; }
    .pm-bom-audience-actions { grid-template-columns:minmax(0,1fr) auto; width:100%; }
    .pm-bom-inline-share { padding-inline:10px; font-size:0; }
    .pm-bom-inline-share .material-symbols-outlined { font-size:18px; }
    .pm-bom-kpi-grid { grid-template-columns:1fr; }
    .pm-bom-chart-detail-banner { grid-template-columns:1fr; } .pm-bom-detail-item:first-child { grid-column:auto; }
    .pm-bom-related-movie { grid-template-columns:60px minmax(0,1fr) auto; }
    .pm-bom-related-poster { width:60px; height:84px; }
    .pm-bom-related-figures { gap:8px; } .pm-bom-related-meta { display:none; }
    .pm-bom-explore-links { grid-template-columns:1fr; }
    .pm-bom-pace-list { grid-template-columns:1fr; }
    .pm-bom-unavailable__main { display:block; } .pm-bom-unavailable__icon { margin-bottom:12px; }
}
@media (prefers-reduced-motion:reduce) {
    .pm-bom-layout *,.pm-bom-layout *::before,.pm-bom-layout *::after {
        scroll-behavior:auto!important; transition:none!important; animation:none!important;
    }
}
