/* tapau-ds-consistency */

/* Base: beats the theme's #CC3366 link colour without outranking component classes */
:where(.tapau-v2) a{color:var(--tp-n700)}
:where(.tapau-v2) :is(h1,h2,h3,h4,h5,h6) a{color:inherit}
/* Standalone text links (were pink) */
.tapau-v2 :is(.bj-all,.hp-all,.rv-more-all,.hw-more,.cp-link,.mb-link,.ob-skip,.tapau-from-album){color:var(--tp-n700)!important;font-weight:600;text-decoration:none}
.tapau-v2 :is(.hp-empty,.tk__txt,.tvn__off-p,.cp-card,.cp-guide,.rv-card,.bj-card) a:not([class*="btn"]):not(.tk__who){color:var(--tp-n700)}
/* Hover / focus: pink + underline */
.tapau-v2 :is(p,li,dd,dt,td,th,figcaption,blockquote,span,small,label,h1,h2,h3,h4,h5,h6,.elementor-widget-text-editor,.e-paragraph-base) a:is(:not([class]),[class="tapau-ds-body"]):is(:hover,:focus-visible),
.tapau-v2 :is(.bj-all,.hp-all,.rv-more-all,.hw-more,.cp-link,.mb-link,.ob-skip,.tapau-from-album,.rv-card__link,.tapau-cc__link,.hp-link,.bj-link,.bj-row-title,.hs-board__t,.hw-rank__t,.tk__who):is(:hover,:focus-visible){
 color:var(--tp-pink-text)!important;text-decoration:underline!important;text-decoration-thickness:1.5px!important;text-underline-offset:3px!important}
/* Same, on dark surfaces: lighter default, brand pink on hover (4.7:1 on #211A2A) */
.tapau-v2 :is(.tapau-cc,.bj-cta,.hp-feature,.hp-cta,.rv-target,.hs,.tvn,.tk,[data-id="1a65e83"],[data-id="ab9689a"],[data-id="ff6db34"]) :is(p,li,dd,span,small) a:is(:not([class]),[class="tapau-ds-body"]){color:var(--tp-purple-200)}
.tapau-v2 :is(.tapau-cc,.bj-cta,.hp-feature,.hp-cta,.rv-target,.hs,.tvn,.tk,[data-id="1a65e83"],[data-id="ab9689a"],[data-id="ff6db34"]) a:is(:not([class]),[class="tapau-ds-body"],.tapau-cc__link,.hp-link,.bj-row-title,.hs-board__t,.rv-card__link):is(:hover,:focus-visible){color:var(--tp-pink)!important}
.tapau-v2 a:focus-visible{outline:2px solid var(--tp-pink);outline-offset:2px;border-radius:0}

/* Section titles: one style everywhere. STABLE selector — targets a
 * .tp-h-section CSS class set on the widget itself (Advanced > CSS Classes
 * for classic "heading" widgets, or the Classes control for atomic
 * "e-heading" widgets), not the widget's data-id. Widget IDs regenerate
 * every time a widget is deleted and rebuilt (confirmed 27 Sep 2026 on
 * Home), which silently detached this rule from 4 headings with zero
 * errors. A class survives a rebuild as long as it's re-applied, and is a
 * visible field in the editor instead of a hidden ID coupling three files
 * away. Apply .tp-h-section to every section-title heading; add
 * .tp-h-dark on ones sitting on a dark band. See .tp-h-subsection below
 * for the nested-heading role (e.g. Home "Top 10 Demo").
 * Legacy [data-id="..."] selectors for pre-rebuild pages (Charts/Bacajap/
 * Happenings v1) kept temporarily below — TODO: audit + migrate once
 * those pages' section-title markup (JetEngine listing macros, not plain
 * Elementor heading widgets) is confirmed. */
.tapau-v2 :is(.tp-h-section, .tp-h-section h2, .tp-h-section h3),
.tapau-v2 :is([data-id="164374d"],[data-id="7b80dc3"]) h2,
.tapau-v2 h2:is([data-id="164374d"]){
 font-family:var(--tp-font-display)!important;font-size:clamp(26px,1.2rem + 1.1vw,32px)!important;font-weight:700!important;line-height:1.15!important;letter-spacing:0!important;text-transform:none!important;color:var(--tp-ink)!important}
/* ...on dark bands */
.tapau-v2 :is(.tp-h-dark, .tp-h-dark h2, .tp-h-dark h3),
.tapau-v2 :is(.hp-cta,.bj-cta,[data-id="hpsubmit"],[data-id="bjcta"]) :is(.hp-h2,.bj-h2){color:#fff!important}
/* Page titles on light pages (hubs, archives, submit pages, Stories): one style */
.tapau-v2 :is(.hp-h1,.bj-h1),
.tapau-v2:is(.post-type-archive,.page) :is(h1.elementor-heading-title,h1.e-heading-base){
 font-family:var(--tp-font-display)!important;font-size:clamp(40px,1.6rem + 2.6vw,60px)!important;font-weight:700!important;line-height:1.05!important;letter-spacing:-.01em!important;color:var(--tp-ink)!important;text-transform:none!important}
/* Bylines in listings are metadata, not accents */
.tapau-v2 .elementor-author-box__name{color:var(--tp-n700)!important}
/* Sub-section titles inside a section (Home: Top 10 Demo / Music Video).
 * STABLE selector — .tp-h-subsection class, not data-id. See the
 * .tp-h-section comment above for why. */
.tapau-v2 :is(.tp-h-subsection):is(h2,h3,.elementor-heading-title),.tapau-v2 .tp-h-subsection :is(h2,h3,.elementor-heading-title){font-family:var(--tp-font-display)!important;font-size:25px!important;font-weight:700!important;color:var(--tp-ink)!important}

/* ── All-pages: content container max-width + side padding ──
   Elementor "boxed" containers are capped at the kit's max-width.
   This adds a minimum horizontal padding so content never bleeds
   to the viewport edge on narrow desktop windows. The .tk ticker
   and full-bleed hero sections are intentionally excluded.         */
.tapau-v2 .e-con:not(.e-con--full_width) > .e-con-inner,
.tapau-v2 .elementor-section.elementor-section-boxed > .elementor-container{
 padding-left:max(20px, env(safe-area-inset-left, 0px))!important;
 padding-right:max(20px, env(safe-area-inset-right, 0px))!important}
/* Full-width containers that should still have inner padding (content sections) */
.tapau-v2 .e-con.e-con--full_width:not([data-id="tkwrap"]):not([data-id="hpnext"]):not([data-id="bjfeat"]):not([data-id="ff6db34"]) > .e-con-inner{
 padding-left:max(20px, env(safe-area-inset-left, 0px))!important;
 padding-right:max(20px, env(safe-area-inset-right, 0px))!important}
.elementor-element-arh1{position:relative}
.elementor-element-arh1::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.82) 0%,rgba(0,0,0,.82) 20%,rgba(0,0,0,0) 60%);z-index:1;pointer-events:none}
.elementor-element-arh1>.e-con-inner{position:relative;z-index:2}

/* tapau-footer-band-css */

    [data-id="fce47df"]{background:#20FF19!important;width:100%!important;box-sizing:border-box}
    [data-id="d5361a5"]{max-width:1200px!important;margin:0 auto!important;width:100%!important}
    [data-id="21d82c8"],[data-id="21d82c8"] *{color:#1C1622!important}
    [data-id="dd2fdc3"],[data-id="dd2fdc3"] *{color:#1C1622!important}
    [data-id="ee28a9c"],[data-id="ee28a9c"] *{color:#1C1622!important;font-weight:700}
    [data-id="99526e6"]{background:transparent!important}
    [data-id="f16c9c9"]{background:#1C1622!important;color:#fff!important;border-radius:0}
    [data-id="f16c9c9"]:hover,[data-id="f16c9c9"]:focus{background:#211A2A!important;color:#fff!important}
    [data-id="1a68936"]{background:#15101B!important;width:100%!important;box-sizing:border-box}
    [data-id="1a68936"] *{color:#DED7E8!important}
    /* Join The Community CTA (widget id 1df7e97) -- user restyled this natively in Elementor
       (global colors: bg=primary #FF009D, border=text #151515, hover bg=tppinkt #D10080) but
       the site-wide '.tapau-v2 :is(.elementor-button,...)' rule in WPCode 3062 was force-
       overriding every button to green!important. Scope an equal-or-higher-specificity
       exception to this one button id so the intentional pink brutalist style wins. */
    [data-id="1df7e97"] a.elementor-button{
    background:var(--e-global-color-primary,#FF009D)!important;
    color:var(--e-global-color-text,#151515)!important;
    border-color:var(--e-global-color-text,#151515)!important;
    }
    [data-id="1df7e97"] a.elementor-button:hover{
    background:#D10080!important;
    color:var(--e-global-color-text,#151515)!important;
    border-color:var(--e-global-color-text,#151515)!important;
    }
    /* Audit 2 Oct (N1/N3): the prose-link rule in tapau-ds-consistency turns li links #D10080 (3.19:1 on purple-900). Footer owns its link colour: #FF009D 4.61:1; green ring 12.2:1 */
    body.tapau-v2 .tp-footer-links .tp-footer-links__col a:is(:hover,:focus-visible){color:#FF009D!important;text-decoration-color:#FF009D!important}
    body.tapau-v2 .tp-footer-links a:focus-visible{outline-color:#20FF19!important}
    
/* tapau-content-card */

.tp-cq{container-type:inline-size;min-width:0}
.tp-card{--tpc-bg-raised:var(--tpc-purple-100);--tpc-bg-sunken:var(--tpc-purple-50);--tpc-bg-surface:var(--tpc-n0);--tpc-border-default:var(--tpc-purple-300);--tpc-border-subtle:var(--tpc-n200);--tpc-focus-ring:var(--tpc-pink-500);--tpc-font-body:var(--tp-font-body,"Inter",system-ui,sans-serif);--tpc-font-display:var(--tp-font-display,"roc-grotesk",sans-serif);--tpc-green-400:#20FF19;--tpc-green-500:#04C400;--tpc-green-600:#029300;--tpc-green-700:#029300;--tpc-ink:#050306;--tpc-n0:#FFFFFF;--tpc-n200:#E5E2E9;--tpc-n400:#A8A1AF;--tpc-n600:#655C70;--tpc-n700:#4C4356;--tpc-n900:#1C1622;--tpc-pink-300:#FFA6CB;--tpc-pink-400:#FF6EB2;--tpc-pink-500:#FF009D;--tpc-pink-600:#D10080;--tpc-purple-100:#EFEAF6;--tpc-purple-200:#DED7E8;--tpc-purple-300:#C3B9D0;--tpc-purple-50:#F8F5FC;--tpc-purple-500:#7B6D8D;--tpc-purple-600:#615472;--tpc-purple-700:#4B3F59;--tpc-purple-800:#352B40;--tpc-purple-900:#211A2A;--tpc-purple-950:#15101B;--tpc-radius-btn-md:0px;--tpc-radius-btn-sm:0px;--tpc-radius-btn-xs:0px;--tpc-radius-lg:0px;--tpc-radius-md:0px;--tpc-radius-pill:0px;--tpc-space-1:4px;--tpc-space-2:8px;--tpc-space-3:12px;--tpc-space-4:16px;--tpc-space-6:24px;--tpc-success:#0F7A36;--tpc-text-brand:var(--tpc-pink-600);--tpc-text-default:var(--tpc-n700);--tpc-text-muted:var(--tpc-n600);--tpc-text-strong:var(--tpc-n900);--tpc-text-success:var(--tpc-success);--tpc-warning:#B54708;--tpc-warning-on-dark:#FEC84B}
.tp-card{--c-bg:var(--tpc-bg-surface);--c-border:var(--tpc-border-subtle);--c-border-hover:var(--tpc-border-default);--c-title:var(--tpc-text-strong);--c-body:var(--tpc-text-default);--c-muted:var(--tpc-text-muted);--c-meta:var(--tpc-text-default);--c-accent:var(--tpc-text-brand);--c-media:var(--tpc-bg-raised);--c-well:var(--tpc-bg-sunken);--c-up:var(--tpc-text-success);--c-down:var(--tpc-text-muted);
  position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:var(--tpc-space-3);padding:var(--tpc-space-3);min-width:0;box-sizing:border-box;
  background:var(--c-bg);color:var(--c-body);border:1px solid var(--c-border);border-radius:var(--tpc-radius-lg);font-family:var(--tpc-font-body);transition:border-color .15s}
.tp-card *{box-sizing:border-box}
.tp-card:hover{border-color:var(--c-border-hover)}
.tp-card.tp-card--chart{--c-bg:var(--tpc-purple-700);--c-hover-bg:var(--tpc-purple-800);--c-border:var(--tpc-purple-700);--c-border-hover:var(--tpc-purple-800);--c-title:var(--tpc-n0);--c-body:var(--tpc-n0);--c-muted:var(--tpc-purple-200);--c-meta:var(--tpc-purple-200);--c-accent:var(--tpc-pink-300);--c-media:var(--tpc-purple-800);--c-well:var(--tpc-purple-900);--c-up:var(--tpc-green-400);--c-down:var(--tpc-purple-300)}
.tp-card.tp-card--chart:hover{background:var(--c-hover-bg)}
.tp-card.tp-card--bare{background:transparent;border:0;padding:0;border-radius:0}
.tp-card.tp-card--bare:hover{border-color:transparent;background:transparent}
.tp-card__media{position:relative;overflow:hidden;border-radius:var(--tpc-radius-md);background:var(--c-media);aspect-ratio:16/9;max-width:100%;display:grid}
.tp-card__media>.ph{grid-area:1/1;width:100%;height:100%;display:grid;place-items:center;padding:var(--tpc-space-2);text-align:center;font:600 12.8px/1.25 var(--tpc-font-body);color:var(--tpc-n0);text-wrap:balance}
.tp-card__media .tp-ov{position:absolute;z-index:1}
.tp-card .tp-card__media.r11{aspect-ratio:1}
.tp-card .tp-card__media.r34{aspect-ratio:3/4}
.tp-card .tp-card__media.r169{aspect-ratio:16/9}
.tp-card--row .tp-card__media.r11{width:64px}
.tp-card--row .tp-card__media.r34{width:60px}
.tp-card--row .tp-card__media.r169{width:clamp(106px,25%,200px)}
.tp-ov--tl{top:var(--tpc-space-2);left:var(--tpc-space-2)}.tp-ov--tr{top:var(--tpc-space-2);right:var(--tpc-space-2)}
.tp-ov--c{inset:0;margin:auto;width:40px;height:40px}
.tp-badge{display:inline-flex;align-items:center;gap:var(--tpc-space-1);font:600 12.8px/1 var(--tpc-font-body);padding:5px 8px;border-radius:var(--tpc-radius-btn-xs);background:rgba(203,16,136,.8);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.tp-badge--status,.tp-badge--cat{}
.tp-chip{display:inline-flex;align-items:center;gap:var(--tpc-space-1);font:600 12.8px/1 var(--tpc-font-body);padding:5px 8px;border-radius:var(--tpc-radius-btn-xs);background:var(--tpc-purple-950);color:var(--tpc-n0)}
.tp-chip b{color:var(--tpc-pink-400);font-weight:700}
.tp-play{width:40px;height:40px;border-radius:var(--tpc-radius-pill);border:0;background:rgba(5,3,6,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 4px 12px rgba(5,3,6,.35);color:var(--tpc-n0);display:grid;place-items:center;padding:0;cursor:pointer;position:relative;z-index:2;transition:background .12s,transform .12s}
.tp-play:hover{background:rgba(5,3,6,.8);transform:scale(1.06)}
.tp-play svg{opacity:.7}
.tp-play:hover svg{opacity:1}
.tp-play svg{width:18px;height:18px;margin-left:2px}
.tp-trend{display:inline-block;width:10px;height:10px}
.tp-trend--up{color:var(--tpc-green-400)}.tp-trend--down{color:var(--tpc-purple-300)}
.tp-card__lead .tp-trend--up,.tp-card__body .tp-trend--up{color:var(--c-up)}
.tp-card__lead .tp-trend--down,.tp-card__body .tp-trend--down{color:var(--c-down)}
.tp-card__body{display:flex;flex-direction:column;gap:6px;min-width:0}
.tp-card__eyebrow{margin:0;font-size:12.8px;line-height:1.2;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-accent)}
.tp-card__eyebrow .in{color:var(--c-muted);font-weight:400;letter-spacing:0;text-transform:none;margin-left:6px;font-size:12.8px}
.tp-card__kicker{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tpc-space-1) var(--tpc-space-2);margin:0;font-size:12.8px;line-height:1.4;color:var(--c-muted)}
.tp-card__kicker .kb{font:600 12.8px/1 var(--tpc-font-body);color:var(--tpc-n0);background:rgba(203,16,136,.9);border-radius:var(--tpc-radius-btn-xs);padding:4px 7px}
.tp-stars{--star:var(--tpc-warning-on-dark);--star-edge:var(--tpc-warning);--star-off:var(--tpc-n400);display:inline-flex;gap:2px;font-size:20px;line-height:1;margin-left:auto;letter-spacing:0}
.tp-stars i{font-style:normal;color:var(--star);-webkit-text-stroke:1px var(--star-edge);paint-order:stroke fill}
.tp-stars i.off{color:var(--star-off);-webkit-text-stroke:0}
.tp-card--chart .tp-stars{--star-edge:transparent;--star-off:var(--tpc-purple-500)}
.tp-card__title{margin:0;color:var(--c-title);text-wrap:balance}
.tp-card__title a{color:inherit;text-decoration:none}
.tp-card__title a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.tp-card__title a:hover,.tp-card__title a:focus-visible{color:var(--c-accent);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.tp-card a:focus-visible,.tp-card button:focus-visible{outline:2px solid var(--tpc-focus-ring,var(--tpc-pink-500));outline-offset:2px}
.tp-card__support{margin:0;font-size:16px;line-height:1.4;color:var(--c-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tp-card__meta{margin:0;font-size:12.8px;line-height:1.4;color:var(--c-muted);display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}
.tp-byline{display:inline-flex;align-items:center;gap:6px;font-size:16px;color:var(--c-meta)}
.tp-avatar{width:24px;height:24px;border-radius:var(--tpc-radius-pill);background:var(--tpc-purple-500);color:var(--tpc-n0);font:600 12.8px/24px var(--tpc-font-body);text-align:center;flex:none}
.tp-facts{margin:0;display:grid;gap:var(--tpc-space-1);font-size:16px;line-height:1.4}
.tp-facts div{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--tpc-space-2)}
.tp-facts dt{color:var(--c-muted);font-size:12.8px;padding-top:1px}
.tp-facts dd{margin:0;color:var(--c-title);font-weight:600}
.tp-card__stats{margin:0;font-size:12.8px;line-height:1.4;color:var(--c-muted);font-variant-numeric:tabular-nums}
.tp-card__stats b{color:var(--c-title);font-weight:600}
.tp-card__action{position:relative;z-index:3;display:flex;flex-wrap:wrap;gap:var(--tpc-space-3);align-items:flex-end}
.tp-btn{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;line-height:1;text-decoration:none;cursor:pointer;border-style:solid;font-family:var(--tpc-font-body);transition:background .12s,box-shadow .12s,transform .12s}
.tp-btn--primary-green{background:var(--tpc-green-400);border-color:var(--tpc-ink);color:var(--tpc-ink);box-shadow:-4px 4px 0 0 var(--tpc-ink);margin:0 0 4px 4px}
.tp-btn--primary-green:hover{background:var(--tpc-green-500);box-shadow:none;transform:translate(-4px,4px)}
.tp-btn--primary-green:active{background:var(--tpc-green-600);box-shadow:var(--tp-shadow-inset) var(--tpc-ink);transform:translate(-4px,4px)}
.tp-btn--secondary-purple{background:var(--tpc-purple-500);border-color:var(--tpc-purple-800);color:var(--tpc-n0);box-shadow:-4px 4px 0 0 var(--tpc-ink);margin:0 0 4px 4px}
.tp-btn--secondary-purple:hover{background:var(--tpc-purple-600);box-shadow:none;transform:translate(-4px,4px)}
.tp-btn--secondary-purple:active{background:var(--tpc-purple-700);box-shadow:var(--tp-shadow-inset) var(--tpc-ink);transform:translate(-4px,4px)}
.tp-size-md{padding:8px 32px;font-size:16px;font-weight:800;border-width:2px;border-radius:var(--tpc-radius-btn-md);--tp-shadow:-3px 5px 0 0;--tp-shadow-inset:inset -5px 5px 0 0}
.tp-size-sm{padding:4px 24px 6px;font-size:16px;font-weight:700;border-width:2px;border-radius:var(--tpc-radius-btn-sm);--tp-shadow:-2px 4px 0 0;--tp-shadow-inset:inset -4px 4px 0 0}
.tp-vote{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:26px;padding:0 8px;border-radius:var(--tpc-radius-btn-xs);font:600 12.8px/1 var(--tpc-font-body);cursor:pointer;background:transparent;color:var(--tpc-green-400);border:1.5px solid var(--tpc-green-400);transition:background .12s,transform .08s}
.tp-vote:hover{background:rgba(32,255,25,.12)}
.tp-vote:active{background:rgba(32,255,25,.22);transform:scale(.97)}
.tp-vote span{font-weight:400;color:var(--tpc-purple-200)}
.tp-card--row .tp-card__title{font:600 16px/1.4 var(--tpc-font-body)}                 
.tp-card--tile .tp-card__title{font:600 16px/1.3 var(--tpc-font-body)}                
.tp-card--feature .tp-card__title{font:700 20px/1.25 var(--tpc-font-display)}         
.tp-card--hero .tp-card__title{font:700 clamp(26px,1.2rem + 1.1vw,32px)/1.15 var(--tpc-font-display)} 
.tp-card--row .tp-card__title,.tp-card--tile .tp-card__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tp-card--row{display:flex;align-items:center;gap:var(--tpc-space-3)}
.tp-card--row .tp-card__media{flex:none;width:64px;aspect-ratio:1}
.tp-card--row .tp-card__body{flex:1 1 0}
.tp-card--row .tp-card__lead{flex:none;min-width:40px;display:flex;flex-direction:column;align-items:center;gap:var(--tpc-space-1)}
.tp-card--row>.tp-card__stats{flex:none;text-align:right;max-width:110px}
.tp-card--row .tp-card__action{flex:none;padding-bottom:0}
.tp-rank{font-family:var(--tpc-font-display);font-weight:700;font-size:25px;line-height:1;color:var(--c-accent);font-variant-numeric:tabular-nums}
.tp-card--row.tp-card--split{display:grid;grid-template-columns:clamp(96px,25%,180px) minmax(0,1fr);align-items:stretch;gap:var(--tpc-space-4)}
.tp-card--row.tp-card--split .tp-card__media{width:auto;aspect-ratio:3/4}
.tp-card--row.tp-card--split .tp-card__body{display:flex;flex-direction:column;gap:var(--tpc-space-1)}
.tp-card.tp-card--row.tp-card--split .tp-card__body>.tp-card__action{margin:auto 0 0;padding-top:var(--tpc-space-3)}
.tp-card--side>.tp-card__body:has(>.tp-card__action){display:flex;flex-direction:column;align-self:stretch}
.tp-card.tp-card--side .tp-card__body>.tp-card__action{margin:auto 0 0;padding-top:var(--tpc-space-3)}
.tp-card__rating{margin:0;display:flex}
.tp-card__rating .tp-stars{margin-left:0}
.tp-dateblock{display:flex;flex-direction:column;align-items:center;line-height:1.05;min-width:44px;padding:6px var(--tpc-space-1);border-radius:var(--tpc-radius-md);background:var(--c-well)}
.tp-dateblock .dow{font-size:12.8px;font-weight:700;color:var(--c-accent);text-transform:uppercase;letter-spacing:.1em}
.tp-dateblock .day{font-family:var(--tpc-font-display);font-size:25px;font-weight:700;color:var(--c-title)}
.tp-dateblock .mon{font-size:12.8px;color:var(--c-muted);text-transform:uppercase}
.tp-dateblock--time .day{font-size:16px}
.tp-dateblock--time .dow{letter-spacing:.04em}
@container (max-width:470px){
  .tp-card--row{flex-wrap:wrap}
  .tp-card--row .tp-card__body{flex-basis:calc(100% - 200px)}
  .tp-card--row>.tp-card__stats{order:5;flex-basis:100%;text-align:left;max-width:none}
  .tp-card--row .tp-card__action{margin-left:auto}
}
.tp-card--tile .tp-card__media{aspect-ratio:1}
.tp-card--side{grid-template-columns:minmax(0,40fr) minmax(0,60fr);column-gap:var(--tpc-space-4);align-items:center}
.tp-card--side>.tp-card__media{grid-column:1;grid-row:1/span 4;align-self:start}
.tp-card--side>:not(.tp-card__media){grid-column:2}
@container (max-width:260px){
  .tp-card--side{grid-template-columns:minmax(0,1fr)}
  .tp-card--side>.tp-card__media{grid-column:1;grid-row:auto}
  .tp-card--side>:not(.tp-card__media){grid-column:1}
}
.tp-card--feature.tp-card--side{grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:var(--tpc-space-6);padding:var(--tpc-space-4);align-items:center}
.tp-card--feature.tp-card--side .tp-card__support{-webkit-line-clamp:3}
.tp-card--feature.tp-card--side:has(>.tp-card__media.r169){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.tp-card--feature.tp-card--side:has(>.tp-card__media.r169) .tp-card__title{font:600 16px/1.4 var(--tpc-font-body)}
@container (max-width:520px){
  .tp-card--feature.tp-card--side{grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:var(--tpc-space-3);padding:var(--tpc-space-3);align-items:start}
  .tp-card--feature.tp-card--side>.tp-card__media{grid-column:1;grid-row:1/span 3;height:auto;align-self:start;min-height:0}
  .tp-card--feature.tp-card--side>:not(.tp-card__media){grid-column:2}
  .tp-card--feature.tp-card--side .tp-card__title{font-size:16px}
  .tp-card--feature.tp-card--side .tp-card__support{-webkit-line-clamp:2}
  .tp-card--feature.tp-card--side:has(>.tp-card__media.r169){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .tp-card--feature.tp-card--side:has(>.tp-card__media.r169) .tp-card__title{font-size:16px}
}
.tp-card.tp-card--side:has(>.tp-card__body>.tp-card__action){align-items:stretch}
.tp-card.tp-card--side:has(>.tp-card__body>.tp-card__action)>.tp-card__media{grid-row:1}
.tp-card--feature .tp-card__body{gap:var(--tpc-space-2)}
.tp-card--hero{padding:var(--tpc-space-4);gap:var(--tpc-space-4)}
.tp-card--hero .tp-card__media{aspect-ratio:21/9}
.tp-card--hero .tp-card__support{font-size:16px;line-height:1.55;-webkit-line-clamp:3;max-width:65ch;color:var(--c-body)} 
.tp-card--hero .tp-card__body{gap:var(--tpc-space-3)}
@media (prefers-reduced-motion:reduce){.tp-card,.tp-btn,.tp-vote{transition:none}}
.tp-card__media>img,.tp-card__media>picture,.tp-card__media>.tp-card__img{grid-area:1/1;width:100%;height:100%;object-fit:cover;display:block;margin:0;border-radius:0}
.tp-card__media>.tp-ov--c,.tp-card__media>.tp-play{grid-area:1/1;place-self:center;margin:0}
.tp-card__media>.tp-ov{z-index:2}
.tp-card__media .tp-collage{grid-area:1/1;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2px;width:100%;height:100%}
.tp-card__media .tp-collage>*{width:100%;height:100%;object-fit:cover;display:block;background:var(--tpc-purple-800)}
.tp-card__media .tp-collage .tp-collage__count{display:grid;place-items:center;color:var(--tpc-n0);font:600 12.8px var(--tpc-font-body)}
.tp-chip .tapau-trend{display:inline-flex;align-items:center;font-size:9px}
.tp-chip .tapau-trend svg{width:9px;height:9px}
.tp-chip .tapau-trend--up svg,.tp-card__lead .tapau-trend--up svg{color:var(--tpc-green-400)}
.tp-chip .tapau-trend--down svg,.tp-card__lead .tapau-trend--down svg{color:var(--tpc-purple-300)}
.tp-chip .tapau-trend--steady svg,.tp-card__lead .tapau-trend--steady svg{color:var(--tpc-purple-200)}
.tp-chip .tapau-trend--new,.tp-card__lead .tapau-trend--new{padding:2px 5px;font-size:9px;font-weight:800;border-radius:0;letter-spacing:.04em}
.tp-card__lead .tapau-trend{font-size:16px;display:inline-flex}
.tp-card__lead .tapau-trend svg{width:12px;height:12px}
.tp-card.tp-card .tapau-vote-btn,.tp-card.tp-card .tapau-login-btn,.tp-card.tp-card .tpa-vote{display:inline-flex!important;align-items:center;justify-content:center;gap:5px;min-height:26px!important;padding:0 8px!important;border-radius:var(--tpc-radius-btn-xs)!important;font:600 12.8px/1 var(--tpc-font-body)!important;background:transparent!important;border:1.5px solid var(--tpc-green-400)!important;color:var(--tpc-green-400)!important;box-shadow:none!important;white-space:nowrap;transition:background .12s,transform .08s;cursor:pointer}
.tp-card.tp-card:not(.tp-card--chart) .tapau-vote-btn,.tp-card.tp-card:not(.tp-card--chart) .tapau-login-btn,.tp-card.tp-card:not(.tp-card--chart) .tpa-vote{border-color:var(--tpc-green-700)!important;color:var(--tpc-n900)!important}
.tp-card.tp-card .tapau-vote-btn:hover,.tp-card.tp-card .tapau-login-btn:hover,.tp-card.tp-card .tpa-vote:hover{background:rgba(32,255,25,.12)!important}
.tp-card.tp-card .tapau-vote-btn.voted,.tp-card.tp-card .tapau-vote-btn.vote-spent{border-color:transparent!important;background:var(--tpc-purple-800)!important;color:var(--tpc-purple-200)!important;cursor:default}
.tp-card .tapau-vote-closed{font-size:12.8px;color:var(--c-muted);opacity:1}
.tp-card .tapau-chart-stats{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12.8px;color:var(--c-muted)}
.tp-card .tapau-chart-stats .tcs-label{color:var(--c-muted);opacity:1}
.tp-card .tapau-chart-stats .tcs-value{color:var(--c-title)}
.tp-card__title a{font:inherit}
.tp-card p{margin:0}
.tp-card .tp-play{color:var(--tpc-n0)}
.tp-card .tp-btn{text-decoration:none!important}
.tp-card .tp-btn--primary-green,.tp-card .tp-btn--primary-green:hover{color:var(--tpc-ink)!important}
.tp-card .tp-btn--secondary-purple,.tp-card .tp-btn--secondary-purple:hover{color:var(--tpc-n0)!important}
.tp-card__media--empty{background:linear-gradient(135deg,var(--tpc-purple-500),var(--tpc-purple-800))}
.tp-card .in{color:var(--c-muted)}
.tp-card .tp-card__title a,.tp-card .tp-card__title a:visited{color:inherit;text-decoration:none}
.tp-card .tp-card__title a:hover,.tp-card .tp-card__title a:focus-visible{color:var(--c-accent);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.tp-card .tp-card__title{letter-spacing:0;text-transform:none}
.tp-card img{max-width:100%;height:100%}
.tp-card.tp-card .tp-btn{min-height:0!important;gap:6px;padding:4px 24px 6px!important;font:600 16px/1.2 var(--tpc-font-body)!important;letter-spacing:0!important;border-width:2px!important;border-style:solid!important;border-radius:var(--tpc-radius-btn-sm)!important;box-shadow:-4px 4px 0 0 var(--tpc-ink)!important;margin:0 0 4px 4px;transition:background .12s,box-shadow .12s,transform .12s;white-space:nowrap}
.tp-card.tp-card .tp-btn:hover,.tp-card.tp-card .tp-btn:active{box-shadow:none!important;transform:translate(-4px,4px)}
.tp-card.tp-card .tp-btn--primary-green{background:var(--tpc-green-400)!important;border-color:var(--tpc-ink)!important;color:var(--tpc-ink)!important}
.tp-card.tp-card .tp-btn--primary-green:hover{background:var(--tpc-green-500)!important}
.tp-card.tp-card .tp-btn--primary-green:active{background:var(--tpc-green-600)!important}
.tp-card.tp-card .tp-btn--secondary-purple{background:var(--tpc-purple-500)!important;border-color:var(--tpc-purple-800)!important;color:var(--tpc-n0)!important}
.tp-card.tp-card .tp-btn--secondary-purple:hover{background:var(--tpc-purple-600)!important}
.tp-card.tp-card .tp-btn--secondary-purple:active{background:var(--tpc-purple-700)!important}
.tp-card.tp-card .tp-btn .tapau-sr-only{position:absolute}
.tp-card--feature.tp-card--side{max-width:880px}
.tp-card .tp-badge{max-width:calc(100% - 16px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;line-height:1.1}
.tp-card span.tp-play{pointer-events:none}
.tp-card--feature .tp-card__eyebrow time{color:inherit}
.tp-card .tpa-run{margin:0;font-size:12.8px;color:var(--c-muted)}
.tp-card .tpa-run b{color:var(--c-title);font-weight:600}
.tp-card .tpa-vcount{font-weight:400;opacity:.8}
.tp-card .tpa-closed{font-size:12.8px;color:var(--c-muted)}
.tp-card .tp-trend--up{color:var(--tpc-green-400)}
.tp-card:not(.tp-card--chart) .tp-trend--up{color:var(--tpc-success)}
.tp-card .tp-trend--down{color:var(--c-down)}
.tp-card .tp-chip .tp-trend--up,.tp-card .tp-chip .tp-trend--down{font-size:12.8px}
.tp-card .tp-trend--new{font-size:12.8px;font-weight:800;color:var(--tpc-green-400)}
.tp-card.tp-card .tp-chip .tp-trend--up{color:var(--tpc-green-400)}.tp-card.tp-card .tp-chip .tp-trend--down{color:var(--tpc-purple-300)}
.jet-listing-grid__item .e-con:has(.tp-cq),.e-loop-item .e-con:has(.tp-cq){--min-height:0px!important;min-height:0!important;display:block!important}
/* ===== Staging feedback 4 Oct 2026 ===== */
/* Equal-height cards in every grid and carousel; actions pinned to the bottom */
.tp-cq{height:100%}
.tp-cq>.tp-card{height:100%}
.tp-card>.tp-card__body{flex:1 1 auto}
.tp-card__body>.tp-card__action,.tp-card>.tp-card__action{margin-top:auto}
/* Kicker: one line, ellipsis */
.tp-card__kicker{min-width:0;max-width:100%}
.tp-card__kicker>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* VOD and music video tiles: no card container (chart cards and profile Work grid keep theirs) */
.tp-card:is(.tp-card--tile,.tp-card--feature):not(.tp-card--side):not(.tp-card--chart):not(.mu-work .tp-card):has(>.tp-card__media.r169){background:transparent;border:0;padding:0;border-radius:0;box-shadow:none}
.tp-card:is(.tp-card--tile,.tp-card--feature):not(.tp-card--side):not(.tp-card--chart):not(.mu-work .tp-card):has(>.tp-card__media.r169):hover{background:transparent;border-color:transparent;box-shadow:none}
.tp-card:is(.tp-card--tile,.tp-card--feature):not(.tp-card--side):not(.tp-card--chart):has(>.tp-card__media.r169) .tp-card__media img{transition:transform .4s ease}
.tp-card:is(.tp-card--tile,.tp-card--feature):not(.tp-card--side):not(.tp-card--chart):not(.mu-work .tp-card):has(>.tp-card__media.r169):hover .tp-card__media img{transform:scale(1.03)}
/* Collage cover: square cells, adapts to 4/3/2/1/0 covers, count sits over a cover */
.tp-card .tp-card__media:has(>.tp-collage){position:relative;aspect-ratio:1/1!important;height:auto!important}
.tp-card .tp-card__media>.tp-collage{position:absolute!important;inset:0;width:auto!important;height:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr))!important}
.tp-card .tp-card__media>.tp-collage>*{min-width:0;min-height:0;width:100%!important;height:100%!important;object-fit:cover;aspect-ratio:auto!important}
.tp-card .tp-card__media>.tp-collage>.tp-collage__count{position:relative;display:grid!important;place-items:center;overflow:hidden;background:#352B40}
.tp-collage__count>img{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;filter:saturate(.8)}
.tp-collage__count::after{content:"";position:absolute;inset:0;background:rgba(18,14,22,.64)}
.tp-collage__count>b{position:relative;z-index:1;padding:0 8px;text-align:center;color:#fff;font:700 16px/1.2 var(--tpc-font-display,"roc-grotesk",sans-serif)}
.tp-card .tp-card__media>.tp-collage--n2>:first-child{grid-column:1;grid-row:1/3}
.tp-card .tp-card__media>.tp-collage--n2>:nth-child(2){grid-column:2;grid-row:1}
.tp-card .tp-card__media>.tp-collage--n2>.tp-collage__count{grid-column:2;grid-row:2}
.tp-card .tp-card__media>.tp-collage.tp-collage--n1,.tp-card .tp-card__media>.tp-collage.tp-collage--n0{grid-template-columns:1fr!important;grid-template-rows:1fr!important}
.tp-card .tp-card__media>.tp-collage.tp-collage--n1>.tp-collage__count{position:absolute!important;right:10px;bottom:10px;width:auto!important;height:auto!important;padding:6px 12px;border-radius:0;background:rgba(18,14,22,.84)}
.tp-collage--n1>.tp-collage__count::after{display:none}
.tp-collage--n1>.tp-collage__count>b{font-size:12.8px;padding:0}
.tp-collage--n0>.tp-collage__count{background:repeating-linear-gradient(135deg,#352B40 0 14px,#2A2133 14px 28px)!important}
.tp-collage--n0>.tp-collage__count::after{display:none}


