/* ViuPlay interface */
:root{color-scheme:dark;--bg:#08090d;--text:#f5f6fa;--muted:#a5a8b3;--accent:#42d392;--line:rgba(255,255,255,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}
.topbar{height:76px;padding:0 5.5%;display:flex;align-items:center;gap:42px;position:absolute;inset:0 0 auto;z-index:5;background:linear-gradient(180deg,rgba(0,0,0,.82),transparent)}
.brand{display:flex;align-items:center;width:150px;height:36px;flex:0 0 150px;white-space:nowrap}.brand img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.brand span{color:#fff}.main-nav{display:flex;gap:25px;color:#d2d4dc;font-size:13px}.main-nav a:hover,.main-nav .active{color:#fff}
.search{margin-left:auto;display:flex;align-items:center;gap:9px;border:1px solid rgba(255,255,255,.2);background:rgba(0,0,0,.3);padding:9px 12px;border-radius:6px;color:#fff}.search input{width:160px;border:0;outline:0;color:#fff;background:transparent;font:inherit;font-size:12px}.search input::placeholder{color:#c0c2ca}
.hero{min-height:650px;height:min(780px,88vh);display:flex;align-items:center;position:relative;overflow:hidden;background-color:#111820;background-position:center;background-size:cover}.hero-content{position:relative;z-index:2;max-width:620px;margin:65px 0 0 8%;padding:35px 0}.eyebrow{color:var(--accent);font-size:10px;font-weight:800;letter-spacing:2.5px;margin:0 0 17px}h1{max-width:650px;font-size:clamp(42px,6vw,76px);line-height:.99;letter-spacing:-3.8px;margin:0 0 22px}.hero-copy{color:#c2c5ce;font-size:15px;line-height:1.7;max-width:500px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:0 19px;border-radius:5px;font-size:13px;font-weight:750;margin-top:16px}.button-primary{background:var(--accent);color:#06140e}.button-ghost{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06)}
.content-section{padding:28px 6% 18px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px}h2{font-size:22px;letter-spacing:-.6px;margin:0}.muted{color:var(--muted);font-size:11px}
.poster-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(145px,12.5vw);gap:14px;overflow-x:auto;padding:3px 2px 18px;scrollbar-width:thin;scrollbar-color:#343943 transparent}.poster-card{min-width:0;display:flex;flex-direction:column;gap:6px;transition:transform .2s}.poster-card:hover{transform:translateY(-5px)}.poster-card img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:7px;background:#171a21;box-shadow:0 5px 20px rgba(0,0,0,.25)}.poster-title{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.poster-meta{font-size:10px;color:var(--muted)}
.detail-hero{min-height:690px;padding:130px 8% 70px;background-color:#111820;background-size:cover;background-position:center}.detail-layout{display:flex;align-items:center;gap:45px;max-width:1150px;margin:auto}.detail-poster{width:260px;border-radius:10px;box-shadow:0 20px 60px #0008}.detail-copy{max-width:700px}.detail-copy h1{font-size:clamp(38px,5vw,64px)}.detail-copy h3{margin:28px 0 8px}.tagline,.overview{color:#c2c5ce;line-height:1.7}.rating{color:var(--accent);font-weight:800}.genre-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.genre-list span{border:1px solid #ffffff30;border-radius:30px;padding:6px 11px;color:#ddd;font-size:11px}.detail-actions{display:flex;gap:10px;flex-wrap:wrap}.trailer-wrap{position:relative;width:min(900px,100%);aspect-ratio:16/9;margin-top:18px;background:#111;border-radius:10px;overflow:hidden}.trailer-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.availability{border-top:1px solid var(--line)}.provider-group{margin:22px 0}.provider-group h4{font-size:14px;margin:0 0 12px;color:#ddd}.provider-list{display:flex;flex-wrap:wrap;gap:12px}.provider-item{display:flex;align-items:center;gap:9px;background:#171a21;border:1px solid #ffffff12;border-radius:8px;padding:9px 13px;font-size:12px}.provider-item img{width:28px;height:28px;border-radius:6px}.empty-state,.fine-print{color:var(--muted);font-size:13px;line-height:1.6}.fine-print{font-size:11px;margin-top:20px}
.cast-row{display:grid;grid-auto-flow:column;grid-auto-columns:110px;gap:14px;overflow-x:auto;padding:15px 0 20px}.cast-card{display:flex;flex-direction:column;gap:5px;font-size:11px}.cast-card img,.cast-placeholder{width:100px;height:120px;object-fit:cover;border-radius:7px;background:#171a21}.cast-placeholder{display:grid;place-items:center;font-size:35px;color:#555}.cast-card span{color:var(--muted);font-size:10px}
.notice{padding:25px;border:1px solid #744c2c;background:#251b13;border-radius:8px;color:#f3d6b7}.notice p{color:#e4c6a6}.footer{border-top:1px solid var(--line);padding:25px 6%;display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.footer p{color:var(--muted);font-size:11px}.tmdb-credit{width:100%;margin:0}
@media(max-width:760px){.topbar{height:66px;padding:0 5%;gap:18px}.brand{width:128px;height:32px;flex-basis:128px}.main-nav{display:none}.search input{width:105px}.hero{min-height:600px;height:78vh}.hero-content{margin:80px 7% 0}h1{letter-spacing:-2px}.content-section{padding-left:5%;padding-right:5%}.poster-row{grid-auto-columns:145px}.detail-hero{padding:110px 6% 50px}.detail-layout{align-items:flex-start;gap:20px;flex-direction:column}.detail-poster{width:150px}.detail-copy h1{font-size:38px}.footer{align-items:flex-start;flex-direction:column}}


/* Catálogo de reprodução gratuita */
.main-nav a { white-space: nowrap; }
.archive-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:22px; }
.archive-card { display:flex; flex-direction:column; gap:9px; min-width:0; color:inherit; text-decoration:none; background:#11131b; border:1px solid #242735; border-radius:12px; padding:12px; transition:transform .2s,border-color .2s; }
.archive-card:hover { transform:translateY(-4px); border-color:#36c978; }
.archive-card-art { aspect-ratio:2/3; border-radius:8px; display:grid; place-items:center; background:radial-gradient(circle at 50% 40%,#273c36,#151923 65%,#0d0f15); color:#5be092; font-size:42px; }
.archive-card strong { font-size:14px; line-height:1.35; }
.archive-card small { color:#a4a8b5; font-size:12px; line-height:1.4; }
.archive-card em { color:#59d98c; font-size:12px; font-style:normal; font-weight:700; }
.media-tags { display:flex; flex-wrap:wrap; gap:3px 12px; list-style:none; margin:7px 0 0; padding:0; color:#b0b4c0; font-size:10px; line-height:1.35; }
.media-tags li::before { content:"•"; color:var(--accent); margin-right:5px; }
.card-tags { gap:2px 9px; margin-top:-3px; font-size:9px; }
.featured-tags { margin-top:-10px; font-size:11px; }
.detail-tags { margin:4px 0 10px; font-size:11px; }
.archive-watch { max-width:1200px; margin:0 auto; padding-top:104px; }
.archive-watch h1 { font-size:clamp(30px,5vw,52px); margin:14px 0 8px; }
.archive-player { position:relative; width:100%; aspect-ratio:16/9; margin:28px 0; background:#000; border-radius:14px; overflow:hidden; }
.archive-player iframe { width:100%; height:100%; border:0; }
.license-note { margin:24px 0; padding:18px; border:1px solid #303545; border-radius:10px; background:#11131b; overflow-wrap:anywhere; }
.license-note a { color:#69d997; }
.license-note p { color:#a4a8b5; font-size:13px; margin-bottom:0; }
.back-link { color:#9ca3b5; text-decoration:none; }
.free-hero { min-height:300px; }
@media (max-width:760px) {
  .main-nav { overflow-x:auto; max-width:48vw; }
  .archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .archive-watch { padding:92px 18px 18px; }
}

.free-match-section { border-top:1px solid #252938; padding-top:28px; }
.free-match-section .archive-card-art { position:relative; overflow:hidden; }
.free-match-section .archive-card-art img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }


/* Ajustes de layout do catálogo integrado */
html, body { max-width:100%; overflow-x:hidden; }
.catalog, .content-section, .archive-grid { min-width:0; max-width:100%; }
.archive-grid { grid-template-columns:repeat(auto-fill, minmax(min(100%, 190px), 1fr)); }
.archive-card { min-width:0; overflow:hidden; }
.archive-card-art { width:100%; min-width:0; }
.archive-card-art img { max-width:100%; }
.youtube-card .archive-card-art { aspect-ratio:16/9; background:#080a0e; }
.youtube-card .archive-card-art img { object-fit:contain; }
.youtube-card strong { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:3.9em; }
.archive-card small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (min-width:761px) {
  .archive-grid { grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); }
}
@media (max-width:760px) {
  .archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .youtube-card .archive-card-art { aspect-ratio:16/9; }
}


/* Dashboard inicial: carrossel de destaques e fileiras */
.featured-carousel {
  position: relative;
  padding-top: 0;
  background: #08090d;
}
.featured-track {
  position: relative;
  height: min(760px, 88vh);
  min-height: 590px;
  overflow: hidden;
  scrollbar-width: none;
  overscroll-behavior-x: contain;
}
.featured-track::-webkit-scrollbar { display: none; }
.featured-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  min-width: 0;
  height: min(760px, 88vh);
  min-height: 590px;
  display: flex;
  align-items: center;
  background-color: #111820;
  background-position: center;
  background-size: cover;
  transform: translateX(var(--slide-offset, 100%));
  pointer-events: none;
  transition: transform 1.1s cubic-bezier(.23,.54,0,1.01);
}
.featured-slide.is-active {
  pointer-events: auto;
  z-index: 2;
}
.featured-copy {
  width: min(620px, 54%);
  margin: 72px 0 0 8%;
  padding: 32px 0;
}
.featured-copy h1 {
  font-size: clamp(42px, 6vw, 76px);
}
.featured-copy .hero-copy {
  max-width: 500px;
}
.featured-count {
  position: absolute;
  right: 6%;
  bottom: 42px;
  color: rgba(255,255,255,.7);
  font-size: 12px;
  letter-spacing: 2px;
}
.featured-dots {
  position: absolute;
  right: 6%;
  bottom: 74px;
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 5;
}
.featured-dots a {
  flex: 0 0 40px;
  width: 40px;
  height: 48px;
  display: block;
  position: relative;
  color: transparent;
  background: transparent;
  border-radius: 4px;
  font-size: 0;
  line-height: 0;
}
.featured-dots a::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 27px;
  height: 3px;
  transform: translate(-50%, -50%);
  background: rgba(255,255,255,.38);
  border-radius: 3px;
}
.featured-dots a:hover,
.featured-dots a:focus-visible { outline: none; }
.featured-dots a:hover::before,
.featured-dots a:focus-visible::before,
.featured-dots a[aria-current="true"]::before { background: var(--accent); }
.featured-carousel + .catalog { padding-top: 0; }
.featured-carousel ~ .catalog .content-section:first-child { padding-top: 18px; }
@media(max-width:760px) {
  .featured-track { height: 76vh; min-height: 570px; }
  .featured-slide { min-height: 570px; height: 76vh; background-position: 62% center; }
  .featured-copy { width: 84%; margin: 95px 7% 0; }
  .featured-copy h1 { font-size: clamp(38px, 11vw, 54px); }
  .featured-count, .featured-dots { right: 7%; }
}
@media(prefers-reduced-motion:reduce) {
  .featured-slide { transition-duration: 0s; }
}


/* Stop motion: manter alinhamento igual ao catálogo */
.stop-motion-section {
    width: 100%;
    box-sizing: border-box;
    padding-left: 0;
    padding-right: 0;
    text-align: left;
}
.stop-motion-section .section-heading {
    justify-content: flex-start;
}
.stop-motion-section .archive-grid {
    justify-content: start;
}


/* Recriações: subseções alinhadas ao catálogo principal */
.recreation-row-section {
    padding-left: 0;
    padding-right: 0;
}

/* ViuPlay - ajuste do player de vídeo */
.archive-player video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #000;
}
