
:root{--bg:#05060a;--surface:#0b0e14;--surface-2:#10141d;--surface-3:#151a24;--line:rgba(255,255,255,.08);--text:#f7f8fb;--muted:#9aa3b2;--muted2:#6f7888;--cyan:#54e6ff;--blue:#4f7cff;--violet:#8a63ff;--radius:22px;--shadow:0 18px 60px rgba(0,0,0,.38)}
html,body{background:radial-gradient(900px 500px at 50% -10%,rgba(79,124,255,.12),transparent 60%),var(--bg)!important;color:var(--text)!important}
body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;letter-spacing:-.01em}
*{border-color:var(--line)}
.app-container{max-width:1180px!important;padding-left:18px!important;padding-right:18px!important}
.main-header{background:rgba(5,6,10,.72)!important;border-bottom:1px solid rgba(255,255,255,.06);padding:12px 0!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important}
.brand-logo{align-items:center!important;gap:8px!important;font-size:21px!important;letter-spacing:-1px!important}
.brand-logo:before{content:"";display:block;width:32px;height:32px;background:url('/assets/brand/lumytv-mark.png') center/contain no-repeat;filter:drop-shadow(0 0 10px rgba(84,230,255,.18))}
.brand-logo .lumi{background:none!important;-webkit-text-fill-color:initial!important;color:#f7f8fb!important}.brand-logo .play-text{background:linear-gradient(135deg,var(--cyan),var(--violet))!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important}
.icon-btn{width:42px!important;height:42px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.09)!important;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.icon-btn:hover{background:rgba(255,255,255,.08)!important;transform:translateY(-1px)}
.greeting h1{font-size:clamp(27px,4vw,42px)!important;letter-spacing:-1.6px!important}.greeting p{font-size:13px!important;color:var(--muted)!important}
.search-input{height:54px!important;border-radius:18px!important;background:rgba(255,255,255,.045)!important;border:1px solid rgba(255,255,255,.09)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 12px 40px rgba(0,0,0,.16)!important}
.search-input:focus{border-color:rgba(84,230,255,.45)!important;box-shadow:0 0 0 4px rgba(84,230,255,.08)!important}
.categories{gap:9px!important}.chip{padding:9px 15px!important;background:rgba(255,255,255,.035)!important;border:1px solid rgba(255,255,255,.08)!important;color:#aeb6c4!important}.chip.active{background:linear-gradient(135deg,rgba(79,124,255,.95),rgba(138,99,255,.95))!important;border-color:transparent!important;box-shadow:0 10px 30px rgba(79,124,255,.22)!important}
.hero-slider{border-radius:26px!important;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.08);background:#0c1017}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,10,.88),rgba(5,6,10,.18) 60%,rgba(5,6,10,.1))}.hero-content{padding:24px!important}.hero-title{font-size:clamp(25px,5vw,48px)!important;letter-spacing:-1.8px!important;max-width:720px}.hero-badge{background:rgba(84,230,255,.12)!important;border:1px solid rgba(84,230,255,.25);color:#bff7ff!important;backdrop-filter:blur(10px)}
.section-header{margin-top:28px!important;margin-bottom:14px!important}.section-title{font-size:18px!important;letter-spacing:-.4px}.section-link{color:#9cb5ff!important}
.trending-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.content-card{border-radius:18px!important;background:var(--surface)!important;border:1px solid rgba(255,255,255,.07)!important;box-shadow:0 12px 35px rgba(0,0,0,.2)!important;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.content-card:hover{transform:translateY(-4px);border-color:rgba(84,230,255,.25)!important;box-shadow:0 18px 45px rgba(0,0,0,.34)!important}.card-poster{background-color:#151a24!important}.card-info{padding:10px!important;background:linear-gradient(180deg,transparent,rgba(5,6,10,.96) 25%)!important}.card-title{font-size:12px!important;font-weight:700!important}.card-meta{color:#aeb6c4!important}.card-rating-badge{background:rgba(5,6,10,.78)!important;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(8px)}.card-badge{border-radius:999px!important;backdrop-filter:blur(8px)}
.continue-row{gap:12px!important}.continue-card{border:1px solid rgba(255,255,255,.07)!important;border-radius:18px!important;background:var(--surface)!important}
.lumiplay-nav{background:rgba(9,11,16,.82)!important;border:1px solid rgba(255,255,255,.09)!important;box-shadow:0 18px 60px rgba(0,0,0,.45)!important;backdrop-filter:blur(24px)!important;-webkit-backdrop-filter:blur(24px)!important;border-radius:22px!important}.lumiplay-nav-item{color:#778192!important}.lumiplay-nav-item.active{color:#fff!important;background:linear-gradient(135deg,rgba(79,124,255,.18),rgba(138,99,255,.18))!important}.lumiplay-nav-item span{font-size:9px!important;font-weight:700!important}
.modal-box,.review-card-mini,.feed-item,.user-card{background:rgba(16,20,29,.92)!important;border:1px solid rgba(255,255,255,.08)!important;box-shadow:var(--shadow)!important;border-radius:20px!important}
button,input{font-family:inherit!important}
@media(min-width:700px){.trending-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important}.app-container{padding-left:28px!important;padding-right:28px!important}.hero-content{padding:34px!important}.content-card{border-radius:20px!important}}
@media(min-width:1050px){.trending-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}.hero-slider{aspect-ratio:2.2/1!important}.main-header{position:sticky!important}.greeting{margin-top:28px!important}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* ========================================================================
   LUMYTV FINAL BRAND + LOADING POLISH — 2026
   Canonical logo: /assets/brand/lumytv-mark.png
   ======================================================================== */
:root{--lumy-final-logo:url('/assets/brand/lumytv-mark.png')}

/* The real LumyTV mark replaces every old CSS-drawn play/L symbol. */
.brand-logo{
  display:inline-flex!important;align-items:center!important;gap:8px!important;
  min-width:0!important;white-space:nowrap!important;
}
.brand-logo::before{
  content:""!important;display:block!important;flex:0 0 38px!important;
  width:38px!important;height:38px!important;
  background:var(--lumy-final-logo) center/contain no-repeat!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
  filter:drop-shadow(0 7px 18px rgba(80,231,255,.13))!important;
}
.brand-logo .lumi,.brand-logo .play-text,.brand-logo .play{background:none!important;-webkit-text-fill-color:currentColor!important;color:inherit!important}

/* Full-width final pass: never let a page become a narrow centered box. */
html,body{width:100%!important;min-width:0!important;max-width:none!important;overflow-x:hidden!important}
.app-container,.main-content,.content-container,.page-container,.page-shell,.main-wrapper,.site-container,
body[data-lumy-page] .app-container{width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important}
.main-header,.profile-header,.search-header{width:100%!important;max-width:none!important;left:0!important;right:0!important}
img,video,iframe,svg,canvas{max-width:100%;}
.content-card,.result-card,.continue-card,.cast-card,.episode-card,.related-card,.review-card{min-width:0;}

/* Animated movie-card skeletons. Real content replaces them after API response. */
.lumy-card-skeleton{
  position:relative!important;overflow:hidden!important;min-width:0!important;
  aspect-ratio:2/3!important;border-radius:20px!important;
  background:linear-gradient(110deg,#0b0f15 8%,#161d27 18%,#0b0f15 33%)!important;
  background-size:220% 100%!important;
  animation:lumyCardShimmer 1.25s linear infinite!important;
  border:1px solid rgba(255,255,255,.055)!important;
}
.lumy-card-skeleton::before{
  content:"";position:absolute;left:12%;right:12%;bottom:12%;height:10%;border-radius:999px;
  background:rgba(255,255,255,.055);box-shadow:0 -18px 0 rgba(255,255,255,.035);
}
.lumy-hero-skeleton{
  min-height:390px!important;border-radius:30px!important;overflow:hidden!important;
  background:linear-gradient(110deg,#080b10 8%,#171d27 18%,#080b10 33%)!important;
  background-size:220% 100%!important;animation:lumyCardShimmer 1.25s linear infinite!important;
}
@keyframes lumyCardShimmer{to{background-position:-220% 0}}
@media(min-width:700px){.lumy-hero-skeleton{min-height:500px!important}}
@media(min-width:1050px){.lumy-hero-skeleton{min-height:560px!important}}
@media(prefers-reduced-motion:reduce){.lumy-card-skeleton,.lumy-hero-skeleton{animation:none!important}}

/* ========================================================================
   LUMYTV FINAL LAYOUT POLISH — 2026
   Stable header, always-visible navigation and full-width footer.
   ======================================================================== */
html{width:100%;min-width:0;overflow-x:hidden;overscroll-behavior-x:none}
body{width:100%;min-width:0;max-width:none;overflow-x:hidden;overscroll-behavior-x:none;padding-bottom:0!important}
.main-header{width:100%!important;min-height:64px!important;height:auto!important;padding-top:8px!important;padding-bottom:8px!important;box-sizing:border-box!important}
.main-header .app-container,.main-header .content-container,.main-header .page-container{width:100%!important;max-width:none!important;margin:0!important}
.brand-logo{height:42px!important;line-height:1!important;gap:9px!important;font-size:clamp(20px,2.3vw,27px)!important}
.brand-logo::before{flex:0 0 42px!important;width:42px!important;height:42px!important}
.brand-logo .lumi,.brand-logo .play-text,.brand-logo .play{font-size:inherit!important;letter-spacing:-.7px!important}
/* Never hide the main navigation while scrolling. */
.lumiplay-nav{transform:translateX(-50%)!important;opacity:1!important;visibility:visible!important;bottom:max(12px,env(safe-area-inset-bottom,0px))!important;transition:none!important}
.lumiplay-nav.hidden{transform:translateX(-50%)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
/* Keep enough room for the fixed navigation without creating excessive page height. */
body:has(.lumiplay-nav){padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
/* Footer */
.lumytv-footer{width:100%;box-sizing:border-box;margin:48px 0 0;padding:0 18px calc(118px + env(safe-area-inset-bottom,0px));color:#8f99a8;background:linear-gradient(180deg,rgba(7,10,15,.35),rgba(5,7,11,.96));border-top:1px solid rgba(255,255,255,.07)}
.lumytv-footer-inner{width:100%;max-width:none;margin:0 auto;padding:28px 0 18px;display:grid;gap:12px}
.lumytv-footer-brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:18px;letter-spacing:-.4px}
.lumytv-footer-brand img{width:34px;height:34px;object-fit:contain;display:block;flex:0 0 34px}
.lumytv-footer-copy{font-size:12px;line-height:1.5;color:#7f8998}
.lumytv-footer-links{display:flex;flex-wrap:wrap;gap:8px 18px}
.lumytv-footer-links a{color:#aeb7c5;text-decoration:none;font-size:12px;font-weight:650;transition:color .2s ease}
.lumytv-footer-links a:hover,.lumytv-footer-links a:focus-visible{color:#fff}
.lumytv-footer-bottom{padding-top:10px;border-top:1px solid rgba(255,255,255,.055);font-size:10px;color:#667180}
@media(min-width:700px){
 .main-header{min-height:72px!important;padding-top:10px!important;padding-bottom:10px!important}
 .brand-logo{height:46px!important}.brand-logo::before{width:46px!important;height:46px!important;flex-basis:46px!important}
 .lumytv-footer{padding-left:28px;padding-right:28px}
 .lumytv-footer-inner{grid-template-columns:auto 1fr;align-items:center;column-gap:28px}
 .lumytv-footer-links{grid-column:1/-1}
 .lumytv-footer-bottom{grid-column:1/-1}
}
@media(min-width:1200px){.lumytv-footer{padding-left:40px;padding-right:40px}.lumytv-footer-inner{padding-top:36px}}
@media(prefers-reduced-motion:reduce){.lumytv-footer-links a{transition:none}}
/* Final navbar naming/visibility compatibility */
.lumytv-nav{position:fixed!important;display:flex!important;z-index:99999!important}
.lumytv-nav.hidden{transform:translateX(-50%)!important;opacity:1!important;visibility:visible!important}
.lumytv-nav-item{display:flex;flex-direction:column;align-items:center;text-decoration:none}

/* ========================================================================
   LUMYTV APP SHELL — FINAL SCROLL / HEADER / NAV PERFORMANCE FIX
   The viewport is fixed; ONLY the content shell scrolls.
   ======================================================================== */
html,body{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-width:none!important;
  margin:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body{
  position:fixed!important;
  inset:0!important;
  padding:0!important;
}
body > .app-container{
  position:relative!important;
  width:100%!important;
  max-width:none!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:74px 0 0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-gutter:stable!important;
}
/* The header belongs to the viewport, not the scrolling content. */
body > .app-container > .main-header,
body > .app-container > .profile-header,
body > .app-container > .search-header,
body > .app-container > .page-header,
body > .app-container > .chat-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100vw!important;
  max-width:none!important;
  min-width:0!important;
  height:74px!important;
  min-height:74px!important;
  margin:0!important;
  padding:0 clamp(14px,2.4vw,42px)!important;
  z-index:9000!important;
  box-sizing:border-box!important;
  background:rgba(5,6,10,.94)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  box-shadow:0 8px 30px rgba(0,0,0,.14)!important;
  transform:none!important;
}
body > .app-container > .main-header > *,
body > .app-container > .profile-header > *,
body > .app-container > .search-header > *,
body > .app-container > .page-header > *,
body > .app-container > .chat-header > *{min-width:0!important;}
.brand-logo{gap:8px!important;}
.brand-logo .lumytv-wordmark{display:inline-block!important;white-space:nowrap!important;color:#f7f8fb!important;font-weight:800!important;letter-spacing:-.8px!important;}
.brand-logo .lumi,.brand-logo .play-text{display:none!important;}
/* Main content gets its own breathing room without restricting width. */
body > .app-container > :not(.main-header):not(.profile-header):not(.search-header):not(.page-header):not(.chat-header):not(.lumytv-footer){
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
/* Full-width footer participates in the content scroll. */
body > .app-container > .lumytv-footer{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
/* Permanent bottom nav: no hide-on-scroll, no animated transform. */
.lumytv-nav,.lumiplay-nav{
  position:fixed!important;
  left:50%!important;
  bottom:max(12px, env(safe-area-inset-bottom,12px))!important;
  transform:translateX(-50%)!important;
  opacity:1!important;
  visibility:visible!important;
  display:flex!important;
  z-index:9500!important;
  transition:none!important;
  will-change:transform!important;
  contain:layout paint!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.lumytv-nav.hidden,.lumiplay-nav.hidden{
  transform:translateX(-50%)!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
/* Keep content accessible behind the fixed bottom navigation. */
body > .app-container{padding-bottom:110px!important;}
/* Performance: the ambient canvas is decorative only. */
#bgCanvas{pointer-events:none!important;z-index:0!important;}
body > .app-container{z-index:1!important;}
/* Prevent accidental horizontal expansion from children. */
body > .app-container,body > .app-container *{min-width:0;}
/* Avoid expensive lift/blur repaint while the user scrolls. */
.content-card:hover{transform:none!important;}
@media(max-width:699px){
  body > .app-container{padding-top:64px!important;padding-bottom:104px!important;}
  body > .app-container > .main-header,
  body > .app-container > .profile-header,
  body > .app-container > .search-header,
  body > .app-container > .page-header,
  body > .app-container > .chat-header{
    height:64px!important;min-height:64px!important;padding-inline:12px!important;
    backdrop-filter:blur(8px)!important;-webkit-backdrop-filter:blur(8px)!important;
  }
  .brand-logo::before{width:34px!important;height:34px!important;flex-basis:34px!important;}
  .brand-logo .lumytv-wordmark{font-size:20px!important;}
}
@media(min-width:700px){
  body > .app-container{padding-top:78px!important;padding-bottom:118px!important;}
  body > .app-container > .main-header,
  body > .app-container > .profile-header,
  body > .app-container > .search-header,
  body > .app-container > .page-header,
  body > .app-container > .chat-header{height:78px!important;min-height:78px!important;}
}
@media(prefers-reduced-motion:reduce){
  #bgCanvas{display:none!important;}
}

/* LumyTV final polish: translucent header + footer anchored to the bottom of the content shell. */
body > .app-container{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
body > .app-container > .main-header,
body > .app-container > .profile-header,
body > .app-container > .search-header,
body > .app-container > .page-header,
body > .app-container > .chat-header{
  background:rgba(5,6,10,.46)!important;
  border-bottom:1px solid rgba(255,255,255,.075)!important;
  box-shadow:0 8px 30px rgba(0,0,0,.10)!important;
  backdrop-filter:blur(18px) saturate(125%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%)!important;
}
body > .app-container > .lumytv-footer{
  margin-top:auto!important;
  margin-bottom:0!important;
  padding-bottom:24px!important;
  flex:0 0 auto!important;
}
@media(max-width:699px){
  body > .app-container > .main-header,
  body > .app-container > .profile-header,
  body > .app-container > .search-header,
  body > .app-container > .page-header,
  body > .app-container > .chat-header{
    background:rgba(5,6,10,.40)!important;
    backdrop-filter:blur(16px) saturate(125%)!important;
    -webkit-backdrop-filter:blur(16px) saturate(125%)!important;
  }
}

/* LUMYTV CATEGORY CHIPS — prevent vertical clipping on the home carousel */
body[data-lumy-page="home"] .categories{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  height:auto!important;
  min-height:52px!important;
  max-height:none!important;
  padding:4px 2px 8px!important;
  margin:0 0 20px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  box-sizing:border-box!important;
  flex:0 0 auto!important;
  position:relative!important;
  z-index:5!important;
}
body[data-lumy-page="home"] .categories .chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-height:40px!important;
  height:40px!important;
  line-height:1!important;
  box-sizing:border-box!important;
  margin:0!important;
  transform:none!important;
}
body[data-lumy-page="home"] .lumy-home-intro{
  position:relative!important;
  z-index:5!important;
  flex:0 0 auto!important;
}
@media(max-width:699px){
  body[data-lumy-page="home"] .categories{min-height:50px!important;padding-top:3px!important;padding-bottom:7px!important;}
  body[data-lumy-page="home"] .categories .chip{min-height:40px!important;height:40px!important;}
}

/* LUMYTV DETAIL — poster edge-to-edge, flush with viewport top */
body:has(.hero-poster) > .app-container {
  padding-left:0!important;
  padding-right:0!important;
}
body:has(.hero-poster) > .app-container > .hero-poster {
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
  margin-top:-64px!important;
  border-radius:0 0 28px 28px!important;
  box-shadow:none!important;
}
body:has(.hero-poster) > .app-container > .hero-poster .poster-bg {
  border-radius:0 0 28px 28px!important;
}
body:has(.hero-poster) > .app-container > .detail-content {
  width:100%!important;
  max-width:none!important;
  padding-left:16px!important;
  padding-right:16px!important;
}
@media(min-width:700px){
  body:has(.hero-poster) > .app-container > .hero-poster {
    margin-top:-78px!important;
    border-radius:0 0 34px 34px!important;
  }
  body:has(.hero-poster) > .app-container > .hero-poster .poster-bg {
    border-radius:0 0 34px 34px!important;
  }
  body:has(.hero-poster) > .app-container > .detail-content {
    padding-left:32px!important;
    padding-right:32px!important;
  }
}


/* DETAIL POSTER VISIBLE — use the real portrait poster first, edge-to-edge */
body:has(.hero-poster) > .app-container > .hero-poster {
  height: min(78dvh, 620px) !important;
  min-height: 500px !important;
  margin-top: 0 !important;
  border-radius: 0 0 28px 28px !important;
}
body:has(.hero-poster) > .app-container > .hero-poster .poster-bg {
  background-size: cover !important;
  background-position: center center !important;
}
body:has(.hero-poster) > .app-container > .hero-poster .poster-bg::before {
  background: linear-gradient(180deg, rgba(5,6,10,.08) 0%, rgba(5,6,10,0) 34%, rgba(5,6,10,.58) 72%, #05060a 100%) !important;
}
body:has(.hero-poster) > .app-container > .detail-content {
  margin-top: -42px !important;
}
@media (max-width:699px) {
  body:has(.hero-poster) > .app-container > .hero-poster {
    height: min(78dvh, 570px) !important;
    min-height: 470px !important;
    border-radius: 0 0 28px 28px !important;
  }
  body:has(.hero-poster) > .app-container > .detail-content {
    margin-top: -34px !important;
    padding-inline: 16px !important;
  }
}
@media (min-width:700px) {
  body:has(.hero-poster) > .app-container > .hero-poster {
    height: min(78dvh, 720px) !important;
    min-height: 560px !important;
    border-radius: 0 0 34px 34px !important;
  }
  body:has(.hero-poster) > .app-container > .detail-content {
    margin-top: -52px !important;
  }
}

/* FINAL DETAIL LAYOUT: the poster itself owns the top of the viewport. */
body:has(.hero-poster) > .app-container{
  padding-top:0!important;
}
body:has(.hero-poster) > .app-container > .hero-poster{
  margin-top:0!important;
  flex:0 0 auto!important;
  align-self:stretch!important;
}
body:has(.hero-poster) > .app-container > .detail-content{
  flex:0 0 auto!important;
}

/* LUMYTV AUTH — never let the global footer become a flex sibling */
body:has(.login-container),
body:has(.registro-container),
body:has(.auth-container){
  width:100vw!important;
  height:100dvh!important;
  min-height:100dvh!important;
  max-height:100dvh!important;
  padding:12px!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
body:has(.login-container) > .lumytv-footer,
body:has(.registro-container) > .lumytv-footer,
body:has(.auth-container) > .lumytv-footer{
  display:none!important;
}
body:has(.login-container) .login-container,
body:has(.registro-container) .registro-container,
body:has(.auth-container) .auth-container{
  width:min(100%,420px)!important;
  max-width:420px!important;
  min-width:0!important;
  flex:0 1 auto!important;
  margin:0 auto!important;
}
@media(max-width:479px){
  body:has(.login-container),
  body:has(.registro-container),
  body:has(.auth-container){padding:10px!important;}
  body:has(.login-container) .card,
  body:has(.registro-container) .card,
  body:has(.auth-container) .card{width:100%!important;max-width:none!important;}
}

/* LUMYTV SEARCH — filter chips must sit in their own visible row above results */
body:has(.search-header) > .app-container > .filter-row{
  position:relative!important;
  z-index:40!important;
  display:flex!important;
  align-items:center!important;
  flex:0 0 64px!important;
  width:100%!important;
  min-width:0!important;
  height:64px!important;
  min-height:64px!important;
  max-height:64px!important;
  margin:0!important;
  padding:10px 0 14px!important;
  box-sizing:border-box!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  isolation:isolate!important;
  background:transparent!important;
}
body:has(.search-header) > .app-container > .filter-row .filter-chip{
  position:relative!important;
  z-index:41!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:108px!important;
  max-width:none!important;
  min-height:40px!important;
  height:40px!important;
  max-height:40px!important;
  margin:0!important;
  padding:8px 16px!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
  line-height:1!important;
}
body:has(.search-header) > .app-container > .results-section{
  position:relative!important;
  z-index:2!important;
  flex:0 0 auto!important;
  width:100%!important;
  margin:0 0 20px!important;
  padding:0!important;
  overflow:visible!important;
}
body:has(.search-header) > .app-container > .results-section > .results-header{
  position:relative!important;
  z-index:3!important;
  margin:0 0 14px!important;
  padding:0!important;
}
@media(max-width:699px){
  body:has(.search-header) > .app-container{padding-top:64px!important;}
  body:has(.search-header) > .app-container > .filter-row{
    flex-basis:64px!important;
    height:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    padding:10px 0 14px!important;
  }
}
