/* =====================================================================
   UNDEAD PLUS 3 — o site inteiro no clima cinematográfico do topo
   - Cinema dos Sistemas (carrossel de vídeos)
   - Capítulos: cada bloco da Home entra em cena com título dourado
   - Ao vivo, Fundadores, notícias, rankings, portais e servidor em vidro escuro
   - Páginas internas com faixa de abertura (banner) no mesmo estilo
   Precisa do undead-plus.css e do undead-plus-2.css.
   ===================================================================== */

:root {
  --upc-glass: rgba(14, 11, 9, .74);
  --upc-glass-2: rgba(22, 17, 13, .82);
  --upc-line: rgba(242, 184, 68, .26);
  --upc-line-2: rgba(242, 184, 68, .5);
  --upc-gold: linear-gradient(180deg, #ffe7a8 0%, #f2b844 48%, #c26a1c 100%);
  --upc-radius: 18px;
}

/* ---------- brasas flutuando no site todo (bem discretas) ---------- */
.upc-ambient { position: fixed; inset: 0; width: 100vw; height: 100vh; pointer-events: none; z-index: 5; opacity: .8; }
/* sem z-index no main: senão a intro de boas-vindas e as janelas (termos, etc.) ficam presas atrás do menu */
.footer, .upb, .uph { position: relative; z-index: 1; }

/* ---------- títulos de capítulo ---------- */
.upc-head { position: relative; text-align: center; margin: 0 auto 26px; max-width: 760px; }
.upc-kicker {
  display: inline-flex; align-items: center; gap: 14px;
  font-size: 12px; font-weight: 800; letter-spacing: 3px; text-transform: uppercase; color: #e9c879;
}
.upc-kicker::before, .upc-kicker::after {
  content: ""; width: 46px; height: 1px;
  background: linear-gradient(90deg, transparent, #f2b844);
}
.upc-kicker::after { transform: scaleX(-1); }
.upc-title {
  margin: 8px 0 6px; font-family: var(--up-display, 'Cinzel', serif); font-weight: 900; text-transform: uppercase;
  font-size: clamp(28px, 3.6vw, 48px); line-height: 1.05; letter-spacing: 1px;
  background: var(--upc-gold); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 22px rgba(242, 184, 68, .25));
}
.upc-sub { margin: 0; color: #d3c7b4; font-size: 16px; }
.upc-head::after {
  content: ""; display: block; width: 160px; height: 2px; margin: 16px auto 0; border-radius: 2px;
  background: linear-gradient(90deg, transparent, #f2b844 30%, #ffe7a8 50%, #f2b844 70%, transparent);
  box-shadow: 0 0 14px rgba(255, 170, 60, .8);
}

/* ---------- entrada em cena ---------- */
.upc-sec { position: relative; margin-top: 90px !important; }
.upc-sec:first-child { margin-top: 40px !important; }
.upc-pre { opacity: 0; transform: translateY(60px) scale(.97); filter: blur(8px); }
.upc-in { opacity: 1; transform: none; filter: none; transition: opacity 1s var(--up-ease, ease), transform 1.2s var(--up-ease, ease), filter 1s; }
.upc-in .upc-head::after { animation: upc-line 1.2s var(--up-ease, ease) both; }
@keyframes upc-line { from { width: 0; opacity: 0; } to { width: 160px; opacity: 1; } }

/* ---------- vidro padrão ---------- */
.upc-glass,
.avx, #prx.prx, .topNews.home-block, .topSlider.home-block, .homeTop .home-block, .midBlock .home-block,
.about.home-block, .pageContent.home-block, .page {
  background: var(--upc-glass) !important;
  -webkit-backdrop-filter: blur(10px) saturate(120%);
  backdrop-filter: blur(10px) saturate(120%);
  border: 1px solid var(--upc-line) !important;
  border-radius: var(--upc-radius) !important;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 230, 180, .07) !important;
}
.home-block .corner-top-left { opacity: .85; }

/* =========================== AO VIVO =========================== */
.avx { padding: 34px !important; overflow: hidden; }
.avx::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: radial-gradient(60% 50% at 0% 0%, rgba(255, 70, 50, .12), transparent 60%), radial-gradient(50% 50% at 100% 100%, rgba(242, 184, 68, .08), transparent 60%);
}
.avx .avx-title { display: none; }
.avx-grid { gap: 16px !important; }
.avx-card {
  background: linear-gradient(180deg, rgba(36, 28, 22, .85), rgba(16, 12, 10, .9)) !important;
  border: 1px solid rgba(242, 184, 68, .18) !important; border-radius: 14px !important;
  transition: transform .35s var(--up-ease, ease), border-color .35s, box-shadow .35s !important;
}
.avx-card:hover { border-color: rgba(242, 184, 68, .5) !important; box-shadow: 0 18px 40px rgba(0,0,0,.5), 0 0 30px rgba(255, 150, 50, .12) !important; }
.avx-card h4 { font-family: var(--up-display, serif) !important; letter-spacing: 1px !important; color: #f2d79a !important; }
.avx-big { font-family: var(--up-display, serif) !important; font-size: 64px !important; line-height: 1 !important; color: #fff3da !important; text-shadow: 0 0 30px rgba(190, 230, 31, .35); }
.avx-big small { font-family: 'Open Sans', sans-serif; font-size: 14px !important; color: #cdbfa8 !important; text-shadow: none; }
.avx-clock {
  font-family: var(--up-display, serif) !important; font-size: 44px !important; letter-spacing: 2px;
  background: var(--upc-gold); -webkit-background-clip: text; background-clip: text; color: transparent !important;
  filter: drop-shadow(0 0 16px rgba(255, 170, 60, .45));
}
.avx-clock.soon { background: linear-gradient(180deg, #ffb3a0, #ff4a3d); -webkit-background-clip: text; background-clip: text; animation: upc-blink 1s ease-in-out infinite; }
@keyframes upc-blink { 50% { filter: drop-shadow(0 0 24px rgba(255, 74, 61, .9)); } }
.avx-ev-name { font-family: var(--up-display, serif) !important; font-size: 22px !important; color: #fff0d0 !important; }
.avx-list li { transition: background .2s, padding-left .2s; border-radius: 6px; }
.avx-list li:hover { background: rgba(242, 184, 68, .07); padding-left: 6px; }
.avx-pod li { position: relative; }
.avx-pod li[data-avx-place="0"] .avx-pos { color: #ffd34d !important; text-shadow: 0 0 10px rgba(255, 211, 77, .7); }
.avx-pod li[data-avx-place="1"] .avx-pos { color: #e3e7ee !important; }
.avx-pod li[data-avx-place="2"] .avx-pos { color: #e59a5b !important; }
.avx-prize { font-weight: 800 !important; }
.avx-news { border-color: rgba(242, 184, 68, .14) !important; }
.avx-tl li { transition: transform .25s var(--up-ease, ease); }
.avx-tl li:hover { transform: translateY(-3px); }

/* ========================== FUNDADORES ========================== */
#prx.prx { padding: 40px !important; overflow: hidden; }
#prx .prx-glow { opacity: .7; }
.upc-prx-art {
  position: absolute; right: -40px; bottom: -20px; height: 115%; width: auto; max-width: 55%; object-fit: contain;
  opacity: .22; pointer-events: none; filter: blur(1px) saturate(.9); z-index: 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 40%); mask-image: linear-gradient(90deg, transparent, #000 40%);
  transition: transform 1.2s var(--up-ease, ease);
}
#prx > *:not(.upc-prx-art):not(.prx-glow) { position: relative; z-index: 1; }
#prx .prx-title { font-family: var(--up-display, serif) !important; font-weight: 900 !important; background: var(--upc-gold); -webkit-background-clip: text; background-clip: text; color: transparent !important; filter: drop-shadow(0 0 20px rgba(242,184,68,.25)); }
#prx .prx-clock { background: rgba(10, 8, 7, .7) !important; border: 1px solid var(--upc-line-2) !important; border-radius: 14px !important; box-shadow: 0 0 40px rgba(255, 150, 50, .12); }
#prx .prx-clock-row > div { background: linear-gradient(180deg, rgba(40, 30, 22, .95), rgba(18, 14, 11, .95)) !important; border: 1px solid rgba(242,184,68,.35) !important; }
#prx .prx-clock-row b, #prx .prx-clock-row strong, #prx .prx-clock-row span:first-child { font-family: var(--up-display, serif); }
#prx .prx-count b { font-family: var(--up-display, serif) !important; font-size: 52px !important; background: var(--upc-gold); -webkit-background-clip: text; background-clip: text; color: transparent !important; }
#prx .prx-track { height: 12px !important; border-radius: 999px !important; background: rgba(0, 0, 0, .5) !important; box-shadow: inset 0 0 0 1px rgba(242,184,68,.2); }
#prx .prx-fill {
  background: linear-gradient(90deg, #7a1f0e, #ff6a2b 60%, #ffe08a) !important;
  box-shadow: 0 0 18px rgba(255, 120, 40, .8), 0 0 40px rgba(255, 120, 40, .4) !important; position: relative;
}
#prx .prx-fill::after {
  content: ""; position: absolute; right: -8px; top: 50%; width: 22px; height: 22px; margin-top: -11px; border-radius: 50%;
  background: radial-gradient(circle, #fff 0%, #ffd27a 35%, rgba(255, 120, 40, 0) 70%);
  animation: upc-ember 1.4s ease-in-out infinite;
}
@keyframes upc-ember { 50% { transform: scale(1.5); opacity: .7; } }
.upc-sparks { position: absolute; inset: -40px 0; pointer-events: none; z-index: 2; }
#prx .prx-node { transition: transform .3s var(--up-ease, ease); }
#prx .prx-node:hover { transform: translateX(-50%) scale(1.15); }
#prx .prx-card {
  background: linear-gradient(180deg, rgba(36, 28, 22, .9), rgba(14, 11, 9, .94)) !important;
  border: 1px solid rgba(242, 184, 68, .2) !important; border-radius: 14px !important;
  transition: transform .4s var(--up-ease, ease), box-shadow .4s, border-color .4s !important;
}
#prx .prx-card:hover { transform: translateY(-8px) rotateX(4deg); border-color: rgba(242, 184, 68, .6) !important; box-shadow: 0 24px 50px rgba(0,0,0,.6), 0 0 40px rgba(255, 170, 60, .2) !important; }
#prx .prx-card.is-cur {
  border-color: #f2b844 !important;
  box-shadow: 0 0 0 1px rgba(242,184,68,.5), 0 20px 50px rgba(0,0,0,.6), 0 0 50px rgba(255, 180, 60, .35) !important;
  animation: upc-relic 4s ease-in-out infinite;
}
@keyframes upc-relic { 50% { transform: translateY(-6px); } }
#prx .prx-card b { font-family: var(--up-display, serif) !important; color: #fff0d0 !important; }
#prx .prx-card-ic { transition: transform .5s var(--up-ease, ease); }
#prx .prx-card:hover .prx-card-ic { transform: rotateY(360deg) scale(1.1); }
#prx .prx-btn { transition: transform .25s var(--up-ease, ease), filter .25s, box-shadow .25s !important; }
#prx .prx-btn:hover { transform: translateY(-3px); filter: brightness(1.12); box-shadow: 0 14px 30px rgba(0,0,0,.5), 0 0 26px rgba(255, 150, 50, .35); }

/* ===================== NOTÍCIAS / RANKINGS / PORTAIS ===================== */
.home-block-title, .page-block-title {
  font-family: var(--up-display, serif) !important; letter-spacing: 1.5px !important; text-transform: uppercase;
  background-image: linear-gradient(90deg, rgba(242, 184, 68, .14), transparent 70%) !important;
  border-bottom: 1px solid rgba(242, 184, 68, .18);
}
.topNews .tab-content li, .last-news-list li { transition: background .25s, transform .25s var(--up-ease, ease); border-radius: 8px; }
.topNews .tab-content li:hover, .last-news-list li:hover { background: rgba(242, 184, 68, .06); transform: translateX(6px); }
.homeTop table, .rankings-carousel table { border-collapse: separate !important; border-spacing: 0 6px !important; }
.homeTop table tbody tr td, .rankings-carousel table tbody tr td { background: rgba(255, 255, 255, .025); }
.homeTop table tbody tr:hover td { background: rgba(242, 184, 68, .08); }
.homeTop table tbody tr td:first-child { border-radius: 8px 0 0 8px; }
.homeTop table tbody tr td:last-child { border-radius: 0 8px 8px 0; }

.mid-block { border-radius: 16px !important; overflow: hidden; }
.mid-block::after {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: linear-gradient(110deg, transparent 30%, rgba(255, 230, 170, .14) 45%, transparent 60%);
  transform: translateX(-120%); transition: transform 1s var(--up-ease, ease);
}
.mid-block:hover::after { transform: translateX(120%); }
.mid-block_text p { font-family: var(--up-display, serif) !important; letter-spacing: 1px; }
.socBlock { border-radius: 14px !important; }

.rwx { border-radius: 16px !important; background: var(--upc-glass) !important; border: 1px solid var(--upc-line) !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.rwx b { font-family: var(--up-display, serif); letter-spacing: 1px; }

.about.home-block { padding-top: 36px !important; }
.about .about-img img { border-radius: 14px; box-shadow: 0 20px 50px rgba(0,0,0,.6); transition: transform .8s var(--up-ease, ease); }
.about:hover .about-img img { transform: scale(1.03); }

/* rodapé */
.footerMenu { border-top: 1px solid rgba(242, 184, 68, .14); padding-top: 30px; }
.f-menu li:first-child a { font-family: var(--up-display, serif) !important; color: #f2d79a !important; letter-spacing: 1px; }
.footer { background: linear-gradient(180deg, transparent, rgba(0,0,0,.75)) !important; }

/* ===================== CINEMA DOS SISTEMAS (vídeos) ===================== */
.upv { position: relative; isolation: isolate; padding: 50px 0 10px; }
.upv-ambient {
  position: absolute; inset: -60px -12vw -40px; z-index: -1; pointer-events: none; opacity: .55;
  background-size: cover; background-position: center; filter: blur(60px) saturate(1.4); transition: background-image .8s, opacity .8s;
  -webkit-mask-image: radial-gradient(60% 60% at 50% 50%, #000, transparent); mask-image: radial-gradient(60% 60% at 50% 50%, #000, transparent);
}
.upv-stage {
  position: relative; width: 100%; aspect-ratio: 16 / 7.2; border-radius: 22px; overflow: hidden;
  border: 1px solid var(--upc-line-2); background: #070505;
  box-shadow: 0 40px 100px rgba(0,0,0,.7), 0 0 0 1px rgba(0,0,0,.6), 0 0 80px color-mix(in srgb, var(--upv-c, #f2b844) 18%, transparent);
  transition: box-shadow .8s;
}
.upv-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .9s var(--up-ease, ease), visibility 0s .9s; }
.upv-slide.is-on { opacity: 1; visibility: visible; transition: opacity .9s var(--up-ease, ease); }
.upv-media { position: absolute; inset: 0; }
.upv-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); transition: transform 9s linear, filter .6s; }
.upv-slide.is-on .upv-poster { transform: scale(1); }
.upv-poster-art {
  display: flex; align-items: center; justify-content: flex-end; overflow: hidden;
  background:
    radial-gradient(60% 80% at 75% 50%, color-mix(in srgb, var(--c) 45%, transparent), transparent 70%),
    radial-gradient(40% 50% at 20% 80%, color-mix(in srgb, var(--c) 18%, transparent), transparent 70%),
    linear-gradient(180deg, #1a120c, #070505);
}
.upv-poster-art img { position: relative; height: 112%; width: auto; max-width: none; margin-right: 4%; object-fit: contain; filter: drop-shadow(0 20px 40px rgba(0,0,0,.7)); }
.upv-poster-ic { position: absolute; right: 30%; top: 50%; transform: translateY(-50%); font-size: 260px; color: color-mix(in srgb, var(--c) 30%, transparent); filter: blur(1px); }
.upv-media iframe, .upv-media video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; z-index: 3; }
.upv-info {
  position: absolute; left: 0; top: 0; bottom: 0; width: min(560px, 62%); z-index: 2;
  display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 40px 48px;
  background: linear-gradient(90deg, rgba(5, 4, 3, .92) 0%, rgba(5, 4, 3, .7) 60%, transparent 100%);
  transition: opacity .4s, transform .4s;
}
.upv.is-playing .upv-info { opacity: 0; transform: translateX(-30px); pointer-events: none; }
.upv-info > * { opacity: 0; transform: translateY(18px); }
.upv-slide.is-on .upv-info > * { opacity: 1; transform: none; transition: opacity .7s var(--up-ease, ease), transform .7s var(--up-ease, ease); }
.upv-slide.is-on .upv-info > *:nth-child(2) { transition-delay: .1s; }
.upv-slide.is-on .upv-info > *:nth-child(3) { transition-delay: .2s; }
.upv-slide.is-on .upv-info > *:nth-child(4) { transition-delay: .3s; }
.upv-tag { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; font-size: 12px; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--c); background: rgba(0,0,0,.5); border: 1px solid color-mix(in srgb, var(--c) 55%, transparent); }
.upv-title { margin: 0; font-family: var(--up-display, serif); font-weight: 900; text-transform: uppercase; font-size: clamp(34px, 4.4vw, 64px); line-height: 1; color: #fff3da; text-shadow: 0 6px 30px rgba(0,0,0,.8), 0 0 40px color-mix(in srgb, var(--c) 35%, transparent); }
.upv-desc { margin: 0; font-size: 18px; color: #e3d8c6; max-width: 440px; }
.upv-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.upv-play {
  display: inline-flex; align-items: center; gap: 12px; min-height: 56px; padding: 8px 26px 8px 8px; border-radius: 999px; cursor: pointer;
  border: 0; font-weight: 900; font-size: 16px; letter-spacing: .5px; text-transform: uppercase; color: #1e1206;
  background: linear-gradient(180deg, #ffe08a, #f2b844 55%, #c9781f); box-shadow: 0 12px 30px rgba(0,0,0,.5), 0 0 0 1px #6b3d0e;
  transition: transform .25s var(--up-ease, ease), box-shadow .25s;
}
.upv-play small { font-size: 12px; opacity: .75; }
.upv-play-ic { width: 42px; height: 42px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #1e1206; color: #ffd27a; font-size: 24px; position: relative; }
.upv-play-ic::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(30, 18, 6, .6); animation: upc-ring 1.6s ease-out infinite; }
@keyframes upc-ring { from { transform: scale(.8); opacity: 1; } to { transform: scale(1.5); opacity: 0; } }
.upv-play:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 18px 40px rgba(0,0,0,.6), 0 0 40px rgba(255, 170, 60, .5); }
.upv-soon { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 8px 20px; border-radius: 999px; font-weight: 800; color: #f3e1b8; background: rgba(0,0,0,.55); border: 1px dashed rgba(242,184,68,.55); }
.upv-more { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 800; color: #ffd27a !important; }
.upv-more i { transition: transform .25s; }
.upv-more:hover i { transform: translateX(5px); }
.upv-nav { position: absolute; right: 20px; bottom: 18px; z-index: 4; display: flex; align-items: center; gap: 10px; transition: opacity .3s; }
.upv.is-playing .upv-nav { opacity: 0; pointer-events: none; }
.upv-arrow { width: 46px; height: 46px !important; padding: 0 !important; line-height: 1 !important; border-radius: 50%; border: 1px solid rgba(242,184,68,.5); background: rgba(0,0,0,.55); color: #ffe2a0; font-size: 18px; cursor: pointer; transition: background .2s, transform .2s; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.upv-arrow:hover { background: rgba(242,184,68,.25); transform: scale(1.08); }
.upv-count { font-family: var(--up-display, serif); color: #cdbfa8; font-size: 15px; letter-spacing: 2px; }
.upv-count b { color: #fff3da; font-size: 22px; }
.upv-close { position: absolute; right: 14px; top: 14px; z-index: 5; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(0,0,0,.7); color: #fff; font-size: 20px; cursor: pointer; }

.upv-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(200px, 1fr); gap: 14px; margin-top: 18px; overflow-x: auto; padding: 6px 2px 12px; scroll-snap-type: x mandatory; }
.upv-card {
  position: relative; scroll-snap-align: start; display: flex; flex-direction: column; gap: 10px; padding: 0 0 12px !important; text-align: left; cursor: pointer;
  height: auto !important; min-height: 0 !important; line-height: 1.3 !important; white-space: normal !important; font: inherit;
  border-radius: 14px; overflow: hidden; border: 1px solid rgba(255,255,255,.08); background: var(--upc-glass); color: #e8dfd0;
  transition: transform .35s var(--up-ease, ease), border-color .35s, box-shadow .35s;
}
.upv-card:hover { transform: translateY(-6px); border-color: color-mix(in srgb, var(--c) 60%, transparent); box-shadow: 0 18px 40px rgba(0,0,0,.5), 0 0 30px color-mix(in srgb, var(--c) 25%, transparent); }
.upv-card.is-on { border-color: var(--c); box-shadow: 0 0 0 1px var(--c), 0 0 30px color-mix(in srgb, var(--c) 35%, transparent); }
.upv-card-thumb {
  position: relative; display: block; flex: none; width: 100%; aspect-ratio: 16 / 9; overflow: hidden;
  background: radial-gradient(70% 90% at 70% 50%, color-mix(in srgb, var(--c) 45%, transparent), transparent 70%), #0c0807;
}
.upv-card-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--up-ease, ease), filter .4s; filter: brightness(.85); }
.upv-card-thumb img.upv-card-art { object-fit: contain; object-position: center bottom; height: 120%; margin-top: -4%; }
.upv-card:hover .upv-card-thumb img { transform: scale(1.08); filter: brightness(1.05); }
.upv-card-thumb video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.upv-card-badge { position: absolute; right: 8px; bottom: 8px; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; background: rgba(0,0,0,.72); color: #ffe2a0; }
.upv-card-txt { padding: 0 14px; display: flex; flex-direction: column; }
.upv-card-txt small { font-size: 11px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: var(--c); }
.upv-card-txt b { font-family: var(--up-display, serif); font-size: 17px; color: #fff3da; }
.upv-card-bar { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: rgba(255,255,255,.08); }
.upv-card-bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--c), #ffe08a); box-shadow: 0 0 10px var(--c); }
.upv-card.is-on .upv-card-bar i { width: var(--upv-p, 0%); }

@media (max-width: 1100px) { .upv-stage { aspect-ratio: 16 / 9; } }
@media (max-width: 860px) {
  .upv-stage { aspect-ratio: auto; height: 520px; }
  .upv-info { width: 100%; top: auto; padding: 26px 22px 80px; background: linear-gradient(0deg, rgba(5,4,3,.96) 0%, rgba(5,4,3,.8) 65%, transparent 100%); }
  .upv-poster-art { align-items: flex-start; justify-content: center; }
  .upv-poster-art img { height: 70%; margin: 0; }
  .upv-poster-ic { right: auto; left: 50%; top: 30%; transform: translate(-50%, -50%); font-size: 160px; }
  .upv-desc { font-size: 16px; }
  .upv-rail { grid-auto-columns: 70%; }
}

/* ===================== PÁGINAS INTERNAS: faixa de abertura ===================== */
body.upb-on .radial-stat, body.upb-on .upb-old { display: none !important; }
.upb {
  position: relative; isolation: isolate; overflow: hidden;
  max-width: 1320px; margin: 0 auto; min-height: 340px; padding: 70px 24px 40px;
  display: flex; flex-direction: column; justify-content: flex-end; gap: 14px;
}
.upb-shade {
  position: absolute; inset: 0 -50vw; z-index: -1; pointer-events: none;
  -webkit-backdrop-filter: blur(4px) brightness(.55); backdrop-filter: blur(4px) brightness(.55);
  background: radial-gradient(50% 80% at 78% 60%, color-mix(in srgb, var(--cc, #f2b844) 24%, transparent), transparent 70%), linear-gradient(90deg, rgba(8,6,5,.8), rgba(8,6,5,.25) 70%), linear-gradient(180deg, transparent 60%, rgba(12,10,9,.95));
}
.upb-art {
  position: absolute; right: 2%; bottom: -10px; height: 330px; width: auto; z-index: -1; pointer-events: none;
  filter: drop-shadow(0 20px 40px rgba(0,0,0,.6)); opacity: .9;
  -webkit-mask-image: linear-gradient(0deg, transparent 0%, #000 30%); mask-image: linear-gradient(0deg, transparent 0%, #000 30%);
  animation: upb-in 1.2s var(--up-ease, ease) both;
}
@keyframes upb-in { from { opacity: 0; transform: translateX(40px); filter: blur(10px); } }
.upb-crumb { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #cdbfa8; }
.upb-crumb a { color: #e9c879 !important; }
.upb-crumb span[aria-hidden] { color: #6b5c48; }
.upb-title {
  margin: 0; max-width: 760px; font-family: var(--up-display, serif); font-weight: 900; text-transform: uppercase;
  font-size: clamp(32px, 4.4vw, 60px); line-height: 1.02; letter-spacing: 1px;
  background: var(--upc-gold); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 22px rgba(242,184,68,.3)); animation: upb-title .9s var(--up-ease, ease) both .1s;
}
@keyframes upb-title { from { opacity: 0; transform: translateY(20px); letter-spacing: 8px; } }
.upb-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.upb-pill { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; background: rgba(20,16,12,.7); border: 1px solid rgba(190,230,31,.35); color: #e9f5c4; }
.upb-pill b { color: #bee61f; }
.upb-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 18px; border-radius: 10px; font-weight: 800; font-size: 14px; text-transform: uppercase; text-decoration: none !important; transition: transform .2s, filter .2s; }
.upb-btn:hover { transform: translateY(-2px); filter: brightness(1.12); }
.upb-btn-gold { color: #1e1206 !important; background: linear-gradient(180deg, #ffe08a, #f2b844 55%, #c9781f); }
.upb-btn-ghost { color: #f6ead0 !important; background: rgba(20,15,11,.6); border: 1px solid rgba(242,184,68,.5); }
body.upb-on .page-title, body.upb-on .page-block-title.upb-moved, body.upb-on .pageContent > nav .breadcrumb, body.upb-on .page-body > nav .breadcrumb { display: none !important; }

/* conteúdo das páginas internas */
body.upb-on main .container > .page,
body.upb-on main .container > .pageContent { padding: 34px !important; margin-top: 10px; animation: upc-page .9s var(--up-ease, ease) both .15s; }
@keyframes upc-page { from { opacity: 0; transform: translateY(30px); } }
.page .table, .pageContent .table { border-collapse: separate !important; border-spacing: 0 4px !important; }
.page .table tbody tr td, .pageContent .table tbody tr td { background: rgba(255,255,255,.025) !important; border: 0 !important; }
.page .table tbody tr:hover td, .pageContent .table tbody tr:hover td { background: rgba(242,184,68,.08) !important; }
.page h2, .page h3, .pageContent h2, .pageContent h3 { font-family: var(--up-display, serif); color: #f2d79a; letter-spacing: 1px; }
.page .form-control, .page .form-select, .pageContent .form-control, .pageContent .form-select {
  background: rgba(8, 6, 5, .7) !important; border: 1px solid rgba(242,184,68,.3) !important; color: #f3ece2 !important; border-radius: 10px !important; min-height: 44px;
  transition: border-color .2s, box-shadow .2s;
}
.page .form-control:focus, .pageContent .form-control:focus, .page .form-select:focus, .pageContent .form-select:focus { border-color: #ffd27a !important; box-shadow: 0 0 0 3px rgba(242,184,68,.2) !important; }
.page .btn-primary, .pageContent .btn-primary, .page button[type="submit"], .pageContent button[type="submit"] {
  background: linear-gradient(180deg, #ffe08a, #f2b844 55%, #c9781f) !important; border: 0 !important; color: #1e1206 !important; font-weight: 800 !important; border-radius: 10px !important;
}
.info-tab, .nav-tabs .nav-link { transition: color .2s, background .2s, border-color .2s; }
.info-tab.is-active, .nav-tabs .nav-link.active { color: #ffe2a0 !important; border-color: #f2b844 !important; }

@media (max-width: 760px) {
  .avx, #prx.prx { padding: 22px 16px !important; }
  .upc-sec { margin-top: 60px !important; }
  .upb { min-height: 220px; padding: 40px 16px 26px; }
  .upb-art { height: 220px; opacity: .45; }
  body.upb-on main .container > .page, body.upb-on main .container > .pageContent { padding: 20px 14px !important; }
}

/* o tema força altura fixa em <button>; os botões do Undead Plus usam a altura própria */
.upv-play, .uph-cls, .ctx-cmd, .ucx-btn, .ctx-node, .up-toast-x, .up-egg-x { height: auto !important; line-height: 1.2 !important; }
.upv-close, .ctx-close { height: 44px !important; padding: 0 !important; line-height: 1 !important; }
