/*
   Space Gate Nova+ — Visual Source of Truth (2026-08-17)
   -------------------------------------------------------
   Reference: supplied production screenshots.
   Brand gradient is intentionally restricted to:
   1) primary CTAs, 2) secondary-action outline,
   3) approved active navigation/filter states, 4) search-field outline.
   Media cards, studio/show tiles, schedule cards and content surfaces MUST stay
   neutral/dark and never receive a gradient border.
*/

:root {
    --nova-ink: #000000;
    --nova-surface: #07080d;
    --nova-surface-raised: #0b0d14;
    --nova-glass: rgba(10, 12, 19, .78);
    --nova-glass-strong: rgba(12, 14, 22, .92);
    --nova-text: #f7f8fc;
    --nova-text-soft: rgba(247, 248, 252, .68);
    --nova-text-muted: rgba(247, 248, 252, .46);
    --nova-line: rgba(255, 255, 255, .09);
    --nova-line-strong: rgba(255, 255, 255, .16);

    --nova-pink: #f04ad8;
    --nova-violet: #9b4dff;
    --nova-cyan: #14d7ff;
    --nova-brand-gradient: linear-gradient(100deg, var(--nova-pink) 0%, var(--nova-violet) 50%, var(--nova-cyan) 100%);

    --nova-radius-control: 12px;
    --nova-radius-card: 14px;
    --nova-radius-pill: 999px;
    --nova-shadow-soft: 0 10px 26px rgba(0, 0, 0, .34);
    --nova-shadow-card: 0 12px 28px rgba(0, 0, 0, .32);
    --nova-shadow-cta: 0 10px 28px rgba(155, 77, 255, .22), 0 0 20px rgba(20, 215, 255, .08);

    /* Backwards-compatible shared tokens: one palette, one direction. */
    --sgn-background: var(--nova-ink);
    --sgn-background-alt: var(--nova-surface);
    --sgn-white: var(--nova-text);
    --sgn-cyan: var(--nova-cyan);
    --sgn-violet: var(--nova-violet);
    --sgn-magenta: var(--nova-pink);
    --sgn-gradient: var(--nova-brand-gradient);
    --sgn-neon-button-gradient: var(--nova-brand-gradient);
    --sgn-border-soft: var(--nova-line);
    --sgn-border-accent: rgba(155, 77, 255, .56);
    --sgn-border-cyan: rgba(20, 215, 255, .34);
    --sgn-text-soft: var(--nova-text-soft);
    --sgn-text-muted: var(--nova-text-muted);
    --sgn-glass: linear-gradient(145deg, rgba(13, 15, 23, .86), rgba(5, 6, 10, .92));
    --sgn-glass-strong: linear-gradient(145deg, rgba(16, 18, 27, .95), rgba(6, 7, 11, .97));
    --sgn-dark-gradient: linear-gradient(180deg, #05060a 0%, #000 66%, #020205 100%);
    --sgn-card-gradient: linear-gradient(150deg, rgba(13, 15, 23, .94), rgba(5, 6, 10, .98));
    --sgn-shadow-panel: var(--nova-shadow-soft);
    --sgn-shadow-card: var(--nova-shadow-card);
    --sgn-shadow-neon: var(--nova-shadow-cta);
}

/* ---------------------------------------------------------------------
   1. PRIMARY / SECONDARY BUTTON SYSTEM
   ------------------------------------------------------------------ */
.sg-anime-pro-home .hero-actions .primary,
.sg-wrestling-home .hero-actions .primary,
.sg-anime-pro-hero .hero-actions .primary,
.nova-btn-primary {
    min-height: 52px !important;
    padding-inline: 22px !important;
    border: 0 !important;
    border-radius: var(--nova-radius-pill) !important;
    background: var(--nova-brand-gradient) !important;
    background-image: var(--nova-brand-gradient) !important;
    color: #fff !important;
    box-shadow: var(--nova-shadow-cta) !important;
    font-weight: 900 !important;
}

.sg-anime-pro-home .hero-actions .secondary,
.sg-wrestling-home .hero-actions .secondary,
.sg-anime-pro-hero .hero-actions .secondary,
.nova-btn-secondary {
    position: relative !important;
    isolation: isolate;
    min-height: 52px !important;
    padding-inline: 22px !important;
    border: 0 !important;
    border-radius: var(--nova-radius-pill) !important;
    background: rgba(0, 0, 0, .82) !important;
    background-image: none !important;
    color: var(--nova-text) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .34) !important;
    font-weight: 900 !important;
}

.sg-anime-pro-home .hero-actions .secondary::before,
.sg-wrestling-home .hero-actions .secondary::before,
.sg-anime-pro-hero .hero-actions .secondary::before,
.nova-btn-secondary::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    padding: 1.35px;
    border-radius: inherit;
    background: var(--nova-brand-gradient);
    pointer-events: none;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}

.sg-anime-pro-home .hero-actions .secondary.active,
.sg-wrestling-home .hero-actions .secondary.active,
.sg-anime-pro-hero .hero-actions .secondary.active {
    color: #fff !important;
    background: rgba(6, 7, 11, .90) !important;
}

/* HomeHeroSlider is shared by Anime and the main home; these are the exact
   production action classes visible in the supplied reference screenshots. */
.target-home-hero-shell .target-watch-button {
    border: 0 !important;
    border-radius: var(--nova-radius-pill) !important;
    background: var(--nova-brand-gradient) !important;
    background-image: var(--nova-brand-gradient) !important;
    color: #fff !important;
    box-shadow: var(--nova-shadow-cta) !important;
}
.target-home-hero-shell .target-save-button,
.target-home-hero-shell .target-save-button.saved,
.target-home-hero-shell .target-save-button:hover,
.target-home-hero-shell .target-save-button:focus,
.target-home-hero-shell .target-save-button:active {
    position: relative !important;
    isolation: isolate !important;
    border: 0 !important;
    border-radius: var(--nova-radius-pill) !important;
    background: rgba(0,0,0,.76) !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.34) !important;
}
.target-home-hero-shell .target-save-button::before,
.target-home-hero-shell .target-save-button.saved::before,
.target-home-hero-shell .target-save-button:hover::before,
.target-home-hero-shell .target-save-button:focus::before,
.target-home-hero-shell .target-save-button:active::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    padding: 1.5px !important;
    border: 0 !important;
    border-radius: inherit !important;
    background: var(--nova-brand-gradient) !important;
    pointer-events: none !important;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
    -webkit-mask-composite: xor !important;
    mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;
    mask-composite: exclude !important;
}

/* ---------------------------------------------------------------------
   2. TABS — active state is underline only
   ------------------------------------------------------------------ */
.sg-anime-pro-nav,
.sg-wrestling-section-nav {
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
    gap: clamp(8px, 2vw, 20px) !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 max(10px, var(--safe-right, 0px)) 0 max(10px, var(--safe-left, 0px)) !important;
    overflow-x: auto !important;
    border: 0 !important;
    border-bottom: 1px solid var(--nova-line) !important;
    border-radius: 0 !important;
    background: #000 !important;
    box-shadow: none !important;
    scrollbar-width: none !important;
}
.sg-anime-pro-nav::-webkit-scrollbar,
.sg-wrestling-section-nav::-webkit-scrollbar { display: none !important; }

.sg-anime-pro-nav button,
.sg-wrestling-section-nav button {
    position: relative !important;
    flex: 0 0 auto !important;
    min-width: max-content !important;
    min-height: 47px !important;
    height: auto !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    background-image: none !important;
    color: var(--nova-text-muted) !important;
    box-shadow: none !important;
    font-weight: 760 !important;
}

.sg-anime-pro-nav button::after,
.sg-wrestling-section-nav button::after {
    content: "";
    position: absolute;
    right: 18%;
    bottom: -1px;
    left: 18%;
    height: 3px;
    border-radius: 999px 999px 0 0;
    background: transparent;
    box-shadow: none;
}

.sg-anime-pro-nav button.active,
.sg-wrestling-section-nav button.active {
    border: 0 !important;
    background: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
}
.sg-anime-pro-nav button.active::after,
.sg-wrestling-section-nav button.active::after {
    background: var(--nova-brand-gradient) !important;
    box-shadow: 0 0 10px rgba(155, 77, 255, .26);
}

/* ---------------------------------------------------------------------
   3. SEARCH — base legacy rule; final hotfix below restores approved gradient frame
   ------------------------------------------------------------------ */
.sg-anime-catalog .sg-reference-search,
.sg-wrestling-catalog .sg-reference-search,
.sg-anime-catalog .nova-catalog-search,
.sg-wrestling-catalog .nova-catalog-search {
    border: 1px solid var(--nova-line) !important;
    border-radius: var(--nova-radius-control) !important;
    background: var(--nova-glass) !important;
    background-image: none !important;
    color: var(--nova-text) !important;
    box-shadow: var(--nova-shadow-soft) !important;
    backdrop-filter: blur(16px) saturate(1.04) !important;
    -webkit-backdrop-filter: blur(16px) saturate(1.04) !important;
}
.sg-anime-catalog .sg-reference-search:focus-within,
.sg-wrestling-catalog .sg-reference-search:focus-within,
.sg-anime-catalog .nova-catalog-search:focus-within,
.sg-wrestling-catalog .nova-catalog-search:focus-within {
    border-color: var(--nova-line-strong) !important;
    background: var(--nova-glass-strong) !important;
    background-image: none !important;
    box-shadow: 0 0 0 1px rgba(155, 77, 255, .10), 0 10px 28px rgba(0, 0, 0, .38) !important;
}
.sg-anime-catalog .sg-reference-search::before,
.sg-anime-catalog .sg-reference-search::after,
.sg-wrestling-catalog .sg-reference-search::before,
.sg-wrestling-catalog .sg-reference-search::after { content: none !important; display: none !important; }

/* ---------------------------------------------------------------------
   4. FILTER CHIPS — gradient frame ONLY when active
   ------------------------------------------------------------------ */
.sg-anime-catalog .nova-catalog-select-card,
.sg-wrestling-catalog .nova-catalog-select-card,
.sg-anime-pro-home .schedule-day-control,
.sg-anime-schedule .schedule-day-control,
.sg-wrestling-schedule .schedule-day-control,
.sg-wrestling-home .archive-year-control {
    position: relative !important;
    isolation: isolate;
    border: 1px solid var(--nova-line) !important;
    border-radius: 10px !important;
    background: rgba(8, 9, 14, .82) !important;
    background-image: none !important;
    color: var(--nova-text-soft) !important;
    box-shadow: none !important;
}

.sg-anime-catalog .nova-catalog-select-card::before,
.sg-wrestling-catalog .nova-catalog-select-card::before,
.sg-anime-pro-home .schedule-day-control::before,
.sg-anime-schedule .schedule-day-control::before,
.sg-wrestling-schedule .schedule-day-control::before,
.sg-wrestling-home .archive-year-control::before {
    content: none;
}

.sg-anime-catalog .nova-catalog-select-card.active,
.sg-wrestling-catalog .nova-catalog-select-card.active,
.sg-anime-pro-home .schedule-day-control.active,
.sg-anime-schedule .schedule-day-control.active,
.sg-wrestling-schedule .schedule-day-control.active,
.sg-wrestling-home .archive-year-control.active {
    border-color: transparent !important;
    background: rgba(8, 9, 14, .92) !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .30) !important;
}
.sg-anime-catalog .nova-catalog-select-card.active::before,
.sg-wrestling-catalog .nova-catalog-select-card.active::before,
.sg-anime-pro-home .schedule-day-control.active::before,
.sg-anime-schedule .schedule-day-control.active::before,
.sg-wrestling-schedule .schedule-day-control.active::before,
.sg-wrestling-home .archive-year-control.active::before {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0;
    padding: 1px;
    border-radius: inherit;
    background: var(--nova-brand-gradient);
    pointer-events: none;
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
}

/* ---------------------------------------------------------------------
   5. MEDIA / CONTENT CARDS — no gradient outlines, no neon frames
   ------------------------------------------------------------------ */
.sg-anime-pro-card,
.sg-wrestling-card,
.sg-anime-pro-card .art,
.sg-wrestling-card .artwork,
.sg-wrestling-home .quick-gates button,
.sg-wrestling-home .schedule-item,
.sg-wrestling-home .continue-rail > button,
.sg-wrestling-schedule .timeline-row,
.sg-wrestling-schedule .table-row,
.sg-wrestling-catalog .date-node,
.sg-anime-pro-home .schedule-item,
.sg-anime-pro-home .continue-grid > button {
    background-image: none !important;
}

.sg-anime-pro-card .art,
.sg-wrestling-card .artwork {
    border: 1px solid var(--nova-line) !important;
    background: #08090d !important;
    box-shadow: var(--nova-shadow-card) !important;
}
.sg-anime-pro-card:hover .art,
.sg-anime-pro-card:focus-visible .art,
.sg-wrestling-card:hover .artwork,
.sg-wrestling-card:focus-visible .artwork {
    border-color: rgba(255,255,255,.14) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.40) !important;
}

/* HomeRail media image shells inherit the same clean treatment. */
.sg-anime-pro-home .nova-rail-card .shahid-poster-image,
.sg-anime-pro-home .nova-rail-card .shahid-ranked-poster,
.sg-anime-pro-home .nova-rail-card .shahid-landscape-image,
.sg-wrestling-home .nova-rail-card .shahid-poster-image,
.sg-wrestling-home .nova-rail-card .shahid-ranked-poster,
.sg-wrestling-home .nova-rail-card .shahid-landscape-image {
    border: 1px solid var(--nova-line) !important;
    background: #08090d !important;
    background-image: none !important;
    box-shadow: var(--nova-shadow-card) !important;
}

/* Custom functional cards retain their logic and geometry, but their chrome is neutral. */
.sg-wrestling-home .quick-gates button,
.sg-wrestling-home .schedule-item,
.sg-wrestling-home .continue-rail > button,
.sg-wrestling-schedule .timeline-row,
.sg-wrestling-catalog .date-node,
.sg-anime-pro-home .schedule-item,
.sg-anime-pro-home .continue-grid > button {
    border-color: var(--nova-line) !important;
    background: linear-gradient(150deg, rgba(13,15,23,.92), rgba(4,5,9,.97)) !important;
    box-shadow: var(--nova-shadow-card) !important;
}
.sg-wrestling-home .quick-gates button:hover,
.sg-wrestling-home .quick-gates button:focus-visible,
.sg-wrestling-home .schedule-item:hover,
.sg-wrestling-home .schedule-item:focus-visible,
.sg-wrestling-schedule .timeline-row:hover,
.sg-wrestling-schedule .timeline-row:focus-visible,
.sg-wrestling-catalog .date-node:hover,
.sg-wrestling-catalog .date-node:focus-visible {
    border-color: var(--nova-line-strong) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.40) !important;
    outline: none !important;
}

/* Avoid accidental gradient pseudo-elements on media/search surfaces. */
.sg-anime-pro-card .art::before,
.sg-anime-pro-card .art::after,
.sg-wrestling-card .artwork::before,
.sg-wrestling-card .artwork::after,
.sg-anime-pro-home .nova-rail-card::before,
.sg-wrestling-home .nova-rail-card::before {
    background-image: none !important;
}


/* Wrestling brand/category tiles are content cards, not CTA controls. */
.sg-wrestling-home .wrestling-brand-tile {
    border: 1px solid var(--nova-line) !important;
    background: linear-gradient(150deg, rgba(13,15,23,.92), rgba(4,5,9,.97)) !important;
    box-shadow: var(--nova-shadow-card) !important;
}
.sg-wrestling-home .wrestling-brand-tile::before,
.sg-wrestling-home .wrestling-brand-tile::after {
    content: none !important;
    background: none !important;
}
.sg-wrestling-home .wrestling-brand-tile:hover,
.sg-wrestling-home .wrestling-brand-tile:focus-visible,
.sg-anime-pro-home .schedule-item:hover,
.sg-anime-pro-home .schedule-item:focus-visible {
    border-color: var(--nova-line-strong) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.40) !important;
    outline: none !important;
}

/* ---------------------------------------------------------------------
   6. Small active indicators: gradient is a line/dot, never a card frame
   ------------------------------------------------------------------ */
.sg-anime-pro-home .hero-dots button,
.sg-wrestling-home .hero-dots button {
    border: 0 !important;
    background: rgba(255,255,255,.24) !important;
    box-shadow: none !important;
}
.sg-anime-pro-home .hero-dots button.active,
.sg-wrestling-home .hero-dots button.active {
    border: 0 !important;
    background: var(--nova-brand-gradient) !important;
    box-shadow: 0 0 10px rgba(155,77,255,.24) !important;
}

/* Accessibility focus: visible, premium, and still non-rainbow on cards/search. */
.sg-anime-catalog .sg-reference-search:focus-within,
.sg-wrestling-catalog .sg-reference-search:focus-within,
.sg-anime-pro-card:focus-visible .art,
.sg-wrestling-card:focus-visible .artwork {
    outline: none !important;
}

@media (max-width: 600px) {
    .sg-anime-pro-home .hero-actions .primary,
    .sg-wrestling-home .hero-actions .primary,
    .sg-anime-pro-home .hero-actions .secondary,
    .sg-wrestling-home .hero-actions .secondary {
        min-height: 48px !important;
        padding-inline: 18px !important;
    }

    .sg-anime-pro-nav,
    .sg-wrestling-section-nav {
        min-height: 45px !important;
        gap: 7px !important;
    }
    .sg-anime-pro-nav button,
    .sg-wrestling-section-nav button {
        min-height: 44px !important;
        padding-inline: 7px !important;
    }
}

/* =====================================================================
   URGENT HOTFIX — Search neon restored + content-card neon forbidden
   Reference lock: 2026-08-17 supplied Discover / All Movies screenshots.
   The gradient is valid ONLY on search frames, active filter chips,
   primary CTA fill and secondary CTA outline. Media/studio/show cards stay
   neutral, cinematic and shadow-led.
   ===================================================================== */

:root {
    --nova-search-surface: linear-gradient(180deg, rgba(8, 9, 14, .96), rgba(3, 4, 8, .98));
    --nova-card-surface: linear-gradient(155deg, rgba(11, 13, 19, .94), rgba(4, 5, 9, .98));
    --nova-card-border: rgba(255, 255, 255, .085);
    --nova-card-border-hover: rgba(255, 255, 255, .15);
    --nova-card-shadow-clean: 0 12px 26px rgba(0, 0, 0, .34), 0 2px 8px rgba(0, 0, 0, .20);
    --nova-card-shadow-hover: 0 16px 34px rgba(0, 0, 0, .42), 0 3px 10px rgba(0, 0, 0, .24);
    --nova-section-space: clamp(22px, 4vw, 38px);
    --nova-grid-gap-x: clamp(8px, 1.1vw, 13px);
    --nova-grid-gap-y: clamp(16px, 2.2vw, 24px);
}

/* Search is intentionally neon-framed in the approved production identity. */
.sg-anime-catalog :is(.sg-reference-search, .nova-catalog-search),
.sg-wrestling-catalog :is(.sg-reference-search, .nova-catalog-search) {
    position: relative !important;
    min-height: 44px !important;
    border: 1px solid transparent !important;
    border-radius: 10px !important;
    background:
        var(--nova-search-surface) padding-box,
        var(--nova-brand-gradient) border-box !important;
    background-image:
        var(--nova-search-surface),
        var(--nova-brand-gradient) !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, .34), 0 0 14px rgba(155, 77, 255, .08) !important;
    backdrop-filter: blur(15px) saturate(1.05) !important;
    -webkit-backdrop-filter: blur(15px) saturate(1.05) !important;
}

.sg-anime-catalog :is(.sg-reference-search, .nova-catalog-search):focus-within,
.sg-wrestling-catalog :is(.sg-reference-search, .nova-catalog-search):focus-within {
    border-color: transparent !important;
    background:
        linear-gradient(180deg, rgba(10, 11, 18, .98), rgba(4, 5, 10, .99)) padding-box,
        var(--nova-brand-gradient) border-box !important;
    background-image:
        linear-gradient(180deg, rgba(10, 11, 18, .98), rgba(4, 5, 10, .99)),
        var(--nova-brand-gradient) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .40), 0 0 18px rgba(155, 77, 255, .13) !important;
}

.sg-anime-catalog :is(.sg-reference-search, .nova-catalog-search)::before,
.sg-anime-catalog :is(.sg-reference-search, .nova-catalog-search)::after,
.sg-wrestling-catalog :is(.sg-reference-search, .nova-catalog-search)::before,
.sg-wrestling-catalog :is(.sg-reference-search, .nova-catalog-search)::after {
    content: none !important;
    display: none !important;
}

.sg-anime-catalog :is(.sg-reference-search, .nova-catalog-search) input,
.sg-wrestling-catalog :is(.sg-reference-search, .nova-catalog-search) input {
    color: #f7f8fc !important;
    caret-color: var(--nova-cyan) !important;
}

.sg-anime-catalog :is(.sg-reference-search, .nova-catalog-search) input::placeholder,
.sg-wrestling-catalog :is(.sg-reference-search, .nova-catalog-search) input::placeholder {
    color: rgba(247, 248, 252, .38) !important;
}

/* Active filter chips get the same premium 1px gradient frame. */
.sg-anime-catalog .nova-catalog-select-card,
.sg-wrestling-catalog .nova-catalog-select-card,
.sg-anime-pro-home .schedule-day-control,
.sg-anime-schedule .schedule-day-control,
.sg-wrestling-schedule .schedule-day-control,
.sg-wrestling-home .archive-year-control {
    border: 1px solid rgba(255, 255, 255, .11) !important;
    border-radius: 9px !important;
    background: rgba(7, 8, 13, .90) !important;
    background-image: none !important;
    box-shadow: 0 5px 12px rgba(0, 0, 0, .18) !important;
}

.sg-anime-catalog .nova-catalog-select-card.active,
.sg-wrestling-catalog .nova-catalog-select-card.active,
.sg-anime-pro-home .schedule-day-control.active,
.sg-anime-schedule .schedule-day-control.active,
.sg-wrestling-schedule .schedule-day-control.active,
.sg-wrestling-home .archive-year-control.active {
    border: 1px solid transparent !important;
    background:
        linear-gradient(180deg, rgba(8, 9, 15, .97), rgba(3, 4, 8, .99)) padding-box,
        var(--nova-brand-gradient) border-box !important;
    background-image:
        linear-gradient(180deg, rgba(8, 9, 15, .97), rgba(3, 4, 8, .99)),
        var(--nova-brand-gradient) !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, .30), 0 0 12px rgba(155, 77, 255, .08) !important;
}

.sg-anime-catalog .nova-catalog-select-card.active::before,
.sg-wrestling-catalog .nova-catalog-select-card.active::before,
.sg-anime-pro-home .schedule-day-control.active::before,
.sg-anime-schedule .schedule-day-control.active::before,
.sg-wrestling-schedule .schedule-day-control.active::before,
.sg-wrestling-home .archive-year-control.active::before {
    content: none !important;
    display: none !important;
}

/* ---------------------------------------------------------------------
   Cinematic card geometry — identical poster language for Anime/Wrestling.
   ------------------------------------------------------------------ */
.sg-anime-catalog .sg-anime-commercial-grid,
.sg-wrestling-catalog .sg-wrestling-media-grid {
    width: 100% !important;
    padding-inline: 0 !important;
    gap: var(--nova-grid-gap-y) var(--nova-grid-gap-x) !important;
    align-items: start !important;
}

.sg-anime-pro-card,
.sg-wrestling-card {
    gap: 6px !important;
    background: transparent !important;
    box-shadow: none !important;
}

.sg-anime-pro-card.poster .art,
.sg-wrestling-card.poster .artwork,
.sg-wrestling-card.ranked .artwork {
    aspect-ratio: 2 / 3 !important;
}

.sg-anime-pro-card.episode .art,
.sg-wrestling-card.landscape .artwork {
    aspect-ratio: 16 / 9 !important;
}

.sg-anime-pro-card .art,
.sg-wrestling-card .artwork,
.sg-anime-pro-home .nova-rail-card .shahid-poster-image,
.sg-anime-pro-home .nova-rail-card .shahid-ranked-poster,
.sg-anime-pro-home .nova-rail-card .shahid-landscape-image,
.sg-wrestling-home .nova-rail-card .shahid-poster-image,
.sg-wrestling-home .nova-rail-card .shahid-ranked-poster,
.sg-wrestling-home .nova-rail-card .shahid-landscape-image {
    overflow: hidden !important;
    border: 1px solid var(--nova-card-border) !important;
    border-radius: 10px !important;
    background: #07080d !important;
    background-image: none !important;
    box-shadow: var(--nova-card-shadow-clean) !important;
}

.sg-anime-pro-card:is(:hover, :focus-visible) .art,
.sg-wrestling-card:is(:hover, :focus-visible) .artwork,
.sg-anime-pro-home .nova-rail-card:is(:hover, :focus-visible) :is(.shahid-poster-image, .shahid-ranked-poster, .shahid-landscape-image),
.sg-wrestling-home .nova-rail-card:is(:hover, :focus-visible) :is(.shahid-poster-image, .shahid-ranked-poster, .shahid-landscape-image) {
    border-color: var(--nova-card-border-hover) !important;
    box-shadow: var(--nova-card-shadow-hover) !important;
    outline: none !important;
}

.sg-anime-pro-card:focus-visible,
.sg-wrestling-card:focus-visible,
.sg-anime-pro-home .nova-rail-card:focus-visible,
.sg-wrestling-home .nova-rail-card:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* Hard kill any inherited rainbow pseudo-frame on media artwork. */
.sg-anime-pro-card::before,
.sg-anime-pro-card::after,
.sg-anime-pro-card .art::before,
.sg-anime-pro-card .art::after,
.sg-wrestling-card::before,
.sg-wrestling-card::after,
.sg-wrestling-card .artwork::before,
.sg-wrestling-card .artwork::after,
.sg-anime-pro-home .nova-rail-card::before,
.sg-anime-pro-home .nova-rail-card::after,
.sg-wrestling-home .nova-rail-card::before,
.sg-wrestling-home .nova-rail-card::after {
    content: none !important;
    border: 0 !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Studio/show tiles are content cards, never neon controls. */
.sg-anime-pro-home .studio-rail > button,
.sg-anime-catalog .studio-tile,
.anime-ref-studio-card,
.anime-v2-studio-card,
.sg-wrestling-home .wrestling-brand-tile,
.sg-wrestling-catalog .brand-tile-shell,
.sg-wrestling-catalog .date-node {
    border: 1px solid var(--nova-card-border) !important;
    outline: 0 !important;
    background: var(--nova-card-surface) !important;
    background-image: var(--nova-card-surface) !important;
    box-shadow: var(--nova-card-shadow-clean) !important;
    backdrop-filter: blur(14px) saturate(1.04) !important;
    -webkit-backdrop-filter: blur(14px) saturate(1.04) !important;
}

.sg-anime-pro-home .studio-rail > button:is(:hover, :focus-visible, .active),
.sg-anime-catalog .studio-tile:is(:hover, :focus-visible, .active),
.anime-ref-studio-card:is(:hover, :focus-visible, .active),
.anime-v2-studio-card:is(:hover, :focus-visible, .active),
.sg-wrestling-home .wrestling-brand-tile:is(:hover, :focus-visible, .active),
.sg-wrestling-catalog .brand-tile-shell:is(:hover, :focus-within, .active),
.sg-wrestling-catalog .date-node:is(:hover, :focus-visible) {
    border-color: var(--nova-card-border-hover) !important;
    outline: 0 !important;
    box-shadow: var(--nova-card-shadow-hover) !important;
}

.sg-anime-pro-home .studio-rail > button::before,
.sg-anime-pro-home .studio-rail > button::after,
.sg-anime-catalog .studio-tile::before,
.sg-anime-catalog .studio-tile::after,
.anime-ref-studio-card::before,
.anime-ref-studio-card::after,
.anime-v2-studio-card::before,
.anime-v2-studio-card::after,
.sg-wrestling-home .wrestling-brand-tile::before,
.sg-wrestling-home .wrestling-brand-tile::after,
.sg-wrestling-catalog .brand-tile-shell::before,
.sg-wrestling-catalog .brand-tile-shell::after {
    content: none !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Better breathing rhythm without reintroducing page gutters. */
.sg-anime-pro-home-body > :is(.sg-anime-pro-section, .shahid-home-section),
.sg-wrestling-home > :is(.home-section, .shahid-home-section) {
    margin-top: var(--nova-section-space) !important;
}

.sg-anime-pro-home .sg-anime-pro-section > header,
.sg-wrestling-home .home-section > header,
.sg-anime-pro-home .shahid-section-heading,
.sg-wrestling-home .shahid-section-heading {
    min-height: 46px !important;
    padding-bottom: 10px !important;
}

.sg-anime-pro-card .copy b,
.sg-wrestling-card .copy > b,
.sg-anime-pro-home .nova-rail-card strong,
.sg-wrestling-home .nova-rail-card strong {
    color: rgba(255, 255, 255, .96) !important;
    text-shadow: 0 1px 8px rgba(0, 0, 0, .35) !important;
}

.sg-anime-pro-card .copy small,
.sg-wrestling-card :is(.copy small, .secondary-meta),
.sg-anime-pro-home .nova-rail-card small,
.sg-wrestling-home .nova-rail-card small {
    color: rgba(247, 248, 252, .56) !important;
}

@media (max-width: 560px) {
    .sg-anime-catalog .sg-anime-commercial-grid,
    .sg-wrestling-catalog .sg-wrestling-media-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 15px 7px !important;
    }

    .sg-anime-pro-card,
    .sg-wrestling-card {
        gap: 5px !important;
    }

    .sg-anime-pro-card .art,
    .sg-wrestling-card .artwork {
        border-radius: 8px !important;
        box-shadow: 0 9px 20px rgba(0, 0, 0, .33) !important;
    }

    .sg-anime-catalog :is(.sg-reference-search, .nova-catalog-search),
    .sg-wrestling-catalog :is(.sg-reference-search, .nova-catalog-search) {
        min-height: 42px !important;
        border-radius: 8px !important;
    }
}

@media (max-width: 360px) {
    .sg-anime-catalog .sg-anime-commercial-grid,
    .sg-wrestling-catalog .sg-wrestling-media-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 16px 9px !important;
    }
}

/* =====================================================================
   FINAL CONTENT-CARD CLEAN LOCK + HUB RHYTHM
   Explicitly covers every HomeRail media geometry used by Anime/Wrestling.
   Search/chip/CTA neon remains untouched above; artwork never receives it.
   ===================================================================== */
.sg-anime-pro-home .nova-rail-card.shahid-short-card,
.sg-wrestling-home .nova-rail-card.shahid-short-card,
.sg-anime-pro-home .nova-rail-card .shahid-live-poster,
.sg-wrestling-home .nova-rail-card .shahid-live-poster {
    border: 1px solid var(--nova-card-border) !important;
    background: #07080d !important;
    background-image: none !important;
    box-shadow: var(--nova-card-shadow-clean) !important;
}

.sg-anime-pro-home .nova-rail-card.shahid-short-card:is(:hover, :focus-visible),
.sg-wrestling-home .nova-rail-card.shahid-short-card:is(:hover, :focus-visible),
.sg-anime-pro-home .nova-rail-card:is(:hover, :focus-visible) .shahid-live-poster,
.sg-wrestling-home .nova-rail-card:is(:hover, :focus-visible) .shahid-live-poster {
    border-color: var(--nova-card-border-hover) !important;
    background-image: none !important;
    box-shadow: var(--nova-card-shadow-hover) !important;
}

.sg-anime-pro-home .nova-rail-card.shahid-short-card::before,
.sg-anime-pro-home .nova-rail-card.shahid-short-card::after,
.sg-wrestling-home .nova-rail-card.shahid-short-card::before,
.sg-wrestling-home .nova-rail-card.shahid-short-card::after,
.sg-anime-pro-home .nova-rail-card .shahid-live-poster::before,
.sg-anime-pro-home .nova-rail-card .shahid-live-poster::after,
.sg-wrestling-home .nova-rail-card .shahid-live-poster::before,
.sg-wrestling-home .nova-rail-card .shahid-live-poster::after {
    content: none !important;
    border: 0 !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Keep the canonical cinematic geometry identical across both premium hubs. */
.sg-anime-pro-home .nova-rail-card :is(.shahid-poster-image, .shahid-ranked-poster, .shahid-live-poster),
.sg-wrestling-home .nova-rail-card :is(.shahid-poster-image, .shahid-ranked-poster, .shahid-live-poster) {
    aspect-ratio: 2 / 3 !important;
}

.sg-anime-pro-home .nova-rail-card .shahid-landscape-image,
.sg-wrestling-home .nova-rail-card .shahid-landscape-image,
.sg-wrestling-home .continue-rail > button {
    aspect-ratio: 16 / 9 !important;
}

/* Deliberate breathing room: section-to-section, not page-edge gutters. */
.sg-anime-pro-home .sg-anime-pro-midgrid {
    gap: clamp(18px, 2.4vw, 28px) !important;
}

.sg-anime-pro-home :is(.studio-rail, .episode-rail),
.sg-wrestling-home :is(.brand-rail, .continue-rail, .schedule-strip, .year-strip) {
    gap: clamp(8px, 1.15vw, 12px) !important;
}

.sg-anime-pro-home :is(.sg-anime-pro-section, .shahid-home-section),
.sg-wrestling-home :is(.home-section, .shahid-home-section) {
    scroll-margin-top: calc(var(--safe-top, 0px) + 74px) !important;
}

@media (max-width: 560px) {
    .sg-anime-pro-home .sg-anime-pro-midgrid {
        gap: 20px !important;
    }

    .sg-anime-pro-home :is(.studio-rail, .episode-rail),
    .sg-wrestling-home :is(.brand-rail, .continue-rail, .schedule-strip, .year-strip) {
        gap: 8px !important;
    }
}
