@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

:root {
  --cine-bg: #080d1d;
  --cine-bg-soft: #0d1429;
  --cine-panel: #131d3a;
  --cine-panel-2: #182448;
  --cine-text: #f7f8fc;
  --cine-muted: #9ba6c2;
  --cine-line: rgba(255,255,255,.09);
  --cine-accent: #f15a5b;
  --cine-accent-2: #ff805f;
  --cine-blue: #4777c9;
  --cine-radius: 18px;
  --cine-shadow: 0 18px 50px rgba(0,0,0,.28);
}

html { min-height: 100%; scroll-behavior: smooth; }
body {
  min-height: 100%;
  background: radial-gradient(ellipse at 50% -20%, #17264b 0%, var(--cine-bg) 52%, #060a16 100%) !important;
  color: var(--cine-text) !important;
  font-family: 'Plus Jakarta Sans', 'Segoe UI', sans-serif !important;
  overflow-x: hidden;
}
a { color: inherit; }
a:hover, a:focus { color: #fff; text-decoration: none; }
button, input { font-family: inherit; }

/* Header compartilhado */
.header-top {
  margin: 0 !important;
  padding: 0 clamp(16px, 4vw, 64px);
  background: rgba(7,12,27,.84);
  border-bottom: 1px solid var(--cine-line);
  box-shadow: 0 8px 30px rgba(0,0,0,.12);
}
.cine-header-inner {
  min-height: 86px;
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.cine-brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; color: #fff !important; }
.cine-brand img { width: 48px; height: 48px; object-fit: contain; filter: drop-shadow(0 4px 12px rgba(241,90,91,.18)); }
.cine-brand-copy { display: flex; flex-direction: column; line-height: 1.1; }
.cine-brand-copy strong { font-size: 22px; letter-spacing: -.8px; font-weight: 800; }
.cine-brand-copy small { color: var(--cine-muted); font-size: 9px; letter-spacing: 1.6px; margin-top: 6px; font-weight: 700; }
.cine-header-actions { display: flex; align-items: center; gap: 18px; }
.cine-clock { color: var(--cine-muted); font-size: 11px; text-align: right; line-height: 1.55; white-space: nowrap; }
.cine-clock strong { display: block; color: #fff; font-size: 17px; font-weight: 700; letter-spacing: .4px; }
.cine-account-link {
  display: inline-flex; align-items: center; gap: 10px; padding: 9px 14px;
  border: 1px solid var(--cine-line); border-radius: 999px;
  background: rgba(255,255,255,.045); color: #fff !important; font-size: 12px; font-weight: 700;
  transition: .2s ease;
}
.cine-account-link:hover { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.2); transform: translateY(-1px); }
.cine-account-avatar { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(135deg,var(--cine-accent),#a83e66); color: white; }
.cine-online-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: #4bd69b; box-shadow: 0 0 0 4px rgba(75,214,155,.1); margin-right: 5px; }

/* Navegação */
.home-mega-menu { margin: 0 !important; padding: 0 clamp(16px, 4vw, 64px); }
.home-mega-menu > [class*="col-"] { padding: 0 !important; }
.home-mega-menu .navbar { min-height: 0; margin: 0 !important; border: 0 !important; background: transparent !important; }
.home-mega-menu .navbar-collapse,
.home-mega-menu .navbar-collapse.collapse {
  display: flex !important; align-items: center; justify-content: space-between; gap: 18px;
  height: auto !important; padding: 8px 0 !important; border: 0 !important; box-shadow: none !important;
  overflow: visible !important; background: transparent !important;
}
.home-mega-menu .navbar-nav { display: flex; align-items: center; gap: 5px; float: none !important; margin: 0 !important; }
.home-mega-menu .navbar-nav > li { float: none !important; }
.home-mega-menu .navbar-nav > li > a {
  display: flex !important; align-items: center; gap: 9px; padding: 12px 15px !important;
  color: #aeb8d1 !important; border-radius: 11px; font-size: 12px; font-weight: 700;
  letter-spacing: .15px; transition: .2s ease;
}
.home-mega-menu .navbar-nav > li > a i { color: #7e8caf; font-size: 14px; }
.home-mega-menu .navbar-nav > li > a:hover,
.home-mega-menu .navbar-nav > li > a:focus,
.home-mega-menu .navbar-nav > li > a.active { color: #fff !important; background: rgba(255,255,255,.075) !important; }
.home-mega-menu .navbar-nav > li > a:hover i,
.home-mega-menu .navbar-nav > li > a.active i { color: var(--cine-accent); }
.home-mega-menu .navbar-nav > li > a.cine-logout { color: #f3a2a2 !important; }
.search-block { display: flex; align-items: center; padding: 0 !important; margin-left: auto; }
.search-block form {
  display: flex; align-items: center; gap: 8px; width: min(320px, 30vw); min-width: 220px;
  padding: 5px 7px 5px 15px; border: 1px solid var(--cine-line); border-radius: 999px;
  background: rgba(255,255,255,.055); transition: .2s ease;
}
.search-block form:focus-within { border-color: rgba(241,90,91,.65); box-shadow: 0 0 0 3px rgba(241,90,91,.1); background: rgba(255,255,255,.075); }
.search-block input[type="text"] { min-width: 0; width: 100%; padding: 7px 0 !important; color: #fff !important; background: transparent !important; border: 0 !important; outline: 0 !important; font-size: 12px; box-shadow: none !important; }
.search-block input::placeholder { color: #8994b0; }
.search-block button { width: 34px; height: 34px; flex: 0 0 34px; border: 0; border-radius: 50%; background: var(--cine-accent) !important; color: #fff !important; cursor: pointer; transition: .2s ease; }
.search-block button:hover { background: var(--cine-accent-2) !important; transform: scale(1.04); }

/* Área de conteúdo compartilhada */
#home1, #category1, #category3, #single-video-fullwidth { background: transparent !important; }
.container { width: min(100% - 32px, 1440px) !important; }
.container-fluid { padding-left: 0; padding-right: 0; }
section { min-width: 0; }
h2.icon, h2.section-title {
  display: flex; align-items: center; gap: 12px; margin: 26px 0 22px !important;
  color: #fff !important; font-size: clamp(19px,2vw,25px) !important; font-weight: 800 !important;
  letter-spacing: -.5px !important; text-transform: none !important; border: 0 !important; padding: 0 !important; text-shadow: none !important;
}
h2.icon i, h2.section-title i { color: var(--cine-accent) !important; }
.sidebar-categories, .sidebar-nav {
  background: rgba(17,27,53,.82) !important; border: 1px solid var(--cine-line) !important;
  border-radius: 16px !important; box-shadow: var(--cine-shadow); padding: 18px !important;
}
.sidebar-categories h3, .sidebar-nav h3 { color: #fff !important; font-size: 14px !important; letter-spacing: .2px !important; border-bottom: 1px solid var(--cine-line) !important; }
.cat-list, .sidebar-nav { scrollbar-width: thin; scrollbar-color: #34436a transparent; }
.cat-list a, .cat-item {
  display: block; padding: 10px 12px !important; margin: 3px 0; border: 1px solid transparent !important;
  border-radius: 10px !important; color: #aeb8d1 !important; font-size: 12px !important; transition: .2s ease;
}
.cat-list a:hover, .cat-list a.active, .cat-item:hover { color: #fff !important; background: rgba(255,255,255,.07) !important; border-color: var(--cine-line) !important; transform: none !important; }


.category-filter { display: flex; align-items: center; gap: 8px; overflow-x: auto; padding: 8px 0 16px; margin-bottom: 10px; scrollbar-width: thin; scrollbar-color: #34436a transparent; }
.category-chip { flex: 0 0 auto; display: inline-flex; align-items: center; padding: 9px 14px; border: 1px solid var(--cine-line); border-radius: 999px; background: rgba(255,255,255,.045); color: #b9c4dc !important; font-size: 10px; font-weight: 800; white-space: nowrap; transition: .2s ease; }
.category-chip:hover, .category-chip.active { color: #fff !important; background: rgba(241,90,91,.16); border-color: rgba(241,90,91,.5); }

/* Cards de catálogo */
article.post, .post.post-medium, .result-card, article.episode-item {
  background: rgba(19,29,58,.92) !important; border: 1px solid var(--cine-line) !important;
  border-radius: 14px !important; overflow: hidden; box-shadow: 0 10px 26px rgba(0,0,0,.16);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
article.post:hover, .post.post-medium:hover, .result-card:hover, article.episode-item:hover {
  transform: translateY(-5px) !important; border-color: rgba(241,90,91,.55) !important;
  box-shadow: 0 18px 36px rgba(0,0,0,.3) !important; z-index: 2;
}
.thumbr { position: relative; overflow: hidden; background: #0b1228 !important; }
article.post .thumbr { height: 300px; }
article.post .thumbr .post-thumb { height: 100%; }
article.channel-item .thumbr { height: 150px; }
article.channel-item .thumbr img { object-fit: contain !important; padding: 18px; }
article.episode-item .thumbr { height: 160px; }
.thumb-box.live img { object-fit: contain !important; padding: 18px; }
.thumbr img, .post-thumb img, .thumb-box img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease, filter .35s ease; }
article.post:hover .thumbr img, .result-card:hover .thumb-box img { transform: scale(1.045); filter: brightness(.82); }
.post-thumb { display: block; position: relative; overflow: hidden; }
.infor, .info-box { padding: 12px 14px !important; background: #131d3a !important; border-top: 1px solid var(--cine-line) !important; text-align: left !important; }
.infor .title, .infor .title p, .info-box a { color: #f4f6fc !important; font-size: 12px !important; font-weight: 700 !important; text-decoration: none !important; }
.infor .title { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.play-btn-border { color: #fff !important; text-shadow: 0 4px 20px rgba(0,0,0,.6); }
.footer-background { margin-top: 50px !important; padding: 28px 0 !important; background: rgba(6,10,22,.9) !important; border-top: 1px solid var(--cine-line) !important; }
.footer-background p, #footer p { color: #8290b1 !important; }

/* Resultados da pesquisa */
.search-header { padding: 42px 20px !important; margin-bottom: 20px !important; background: linear-gradient(135deg,rgba(27,43,83,.7),rgba(8,13,29,.2)) !important; border-bottom: 1px solid var(--cine-line) !important; }
.search-header h1 { color: #fff; font-size: clamp(25px,4vw,42px) !important; }
.grid-container { grid-template-columns: repeat(auto-fill,minmax(155px,1fr)) !important; gap: 18px !important; }
.thumb-box { aspect-ratio: 2 / 3; background: #0a1126 !important; }
.thumb-box.live { aspect-ratio: 16 / 9; }
.info-box { background: #131d3a !important; }
.info-box a { color: #f4f6fc !important; }
.badge-type { background: var(--cine-accent) !important; color: #fff !important; border-radius: 999px !important; }

/* Player de vídeo */
.video-container-wrapper, .video-embed-box, #video_target {
  position: relative; width: 100%; aspect-ratio: 16 / 9; height: auto !important; max-height: 76vh;
  margin: 0 auto; overflow: hidden; background: #000; border: 1px solid var(--cine-line); border-radius: 18px; box-shadow: var(--cine-shadow);
}
.video-embed-box { max-height: none; }
#video_target, #livevideo, .video-js, #dplayer, #artplayer, #clappr-player, .plyr, .fluid_video_wrapper, .mejs__container, [data-shaka-player-container], .op-player {
  width: 100% !important; height: 100% !important; max-height: none !important;
}
.video-js video, .plyr video, #livevideo { object-fit: contain; }
.main-content, #single-video-fullwidth-wrapper { max-width: 1200px; margin: 0 auto; padding: 22px 16px; }
.movie-header-info, .video-info { color: #fff; }
.main-head-title { color: #fff !important; font-size: clamp(22px,3vw,34px) !important; font-weight: 800 !important; letter-spacing: -.8px !important; }
.meta-i { color: var(--cine-muted) !important; }
.meta-i i { color: var(--cine-accent) !important; }
.player-selection, .player-grid { display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-start; margin: 18px 0; }
.btn-player-select, .player-nav-btn {
  display: inline-flex !important; align-items: center; justify-content: center; padding: 10px 15px !important;
  border-radius: 10px !important; border: 1px solid var(--cine-line) !important; background: rgba(255,255,255,.05) !important;
  color: #c7d0e7 !important; font-size: 11px !important; font-weight: 800 !important; text-decoration: none !important; transition: .2s ease;
}
.btn-player-select:hover, .player-nav-btn:hover, .btn-player-select.active, .player-nav-btn.active { color: #fff !important; background: var(--cine-accent) !important; border-color: var(--cine-accent) !important; }
.btn-back { display: inline-flex; align-items: center; gap: 8px; color: #d8e0f5 !important; background: rgba(255,255,255,.06); padding: 10px 14px; border-radius: 10px; margin: 18px 0; }

/* Dashboard */
.dashboard-shell { width: min(100% - 32px, 1500px); margin: 0 auto; padding: 32px 0 60px; }
.dashboard-intro { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 8px 0 25px; }
.dashboard-eyebrow { color: var(--cine-accent-2); text-transform: uppercase; letter-spacing: 2px; font-size: 10px; font-weight: 800; }
.dashboard-intro h1 { color: #fff; font-size: clamp(25px,3.5vw,40px); font-weight: 800; letter-spacing: -1.4px; margin: 7px 0 5px; }
.dashboard-intro p { color: var(--cine-muted); font-size: 13px; margin: 0; }
.dashboard-status { color: #b8c5df; font-size: 11px; padding: 10px 14px; border: 1px solid var(--cine-line); background: rgba(255,255,255,.04); border-radius: 999px; white-space: nowrap; }
.dashboard-status i { color: #54d6a0; margin-right: 7px; }
.hub-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.hub-card {
  position: relative; display: flex; align-items: flex-end; min-height: 400px; overflow: hidden;
  border: 1px solid rgba(255,255,255,.1); border-radius: 18px; isolation: isolate;
  background: linear-gradient(145deg,#1c2a50,#101a37 55%,#0a1025); box-shadow: 0 18px 45px rgba(0,0,0,.22);
  color: #fff !important; transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.hub-card::after { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg,rgba(7,12,28,.04) 0%,rgba(7,12,28,.32) 38%,rgba(7,12,28,.97) 100%),linear-gradient(120deg,rgba(10,18,43,.16),rgba(10,18,43,.5)); }
.hub-card-bg { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: .5; transform: scale(1.02); transition: transform .6s ease,opacity .3s ease; }
.hub-card:hover { transform: translateY(-6px); border-color: rgba(241,90,91,.65); box-shadow: 0 24px 55px rgba(0,0,0,.38); }
.hub-card:hover .hub-card-bg { transform: scale(1.09); opacity: .65; }
.hub-card-content { position: relative; z-index: 2; width: 100%; padding: 22px; }
.hub-card-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 18px; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; background: rgba(8,14,31,.42); color: #fff; font-size: 21px; backdrop-filter: blur(10px); }
.hub-card h2 { margin: 0 0 7px !important; color: #fff !important; font-size: 22px !important; font-weight: 800 !important; letter-spacing: -.6px; }
.hub-card p { margin: 0 0 15px; color: #d2d9e9; font-size: 11px; line-height: 1.6; }
.hub-card-meta { display: inline-flex; align-items: center; gap: 7px; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .6px; text-transform: uppercase; }
.hub-card-meta::before { content: ''; width: 24px; height: 3px; border-radius: 9px; background: var(--cine-accent); }
.hub-card-live { background: linear-gradient(145deg,#244d79,#142849 55%,#0b142d); }
.hub-card-movies { background: linear-gradient(145deg,#52304f,#2d2149 55%,#151b39); }
.hub-card-series { background: linear-gradient(145deg,#20565b,#183d43 55%,#0d1e36); }
.hub-card-account { background: linear-gradient(145deg,#38446a,#29314d 55%,#131d3a); }
.quick-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin: 18px 0 34px; }
.quick-action { display: flex; align-items: center; gap: 13px; padding: 15px 17px; min-height: 72px; border: 1px solid var(--cine-line); border-radius: 14px; background: rgba(19,29,58,.76); color: #dce4f5 !important; transition: .2s ease; text-align: left; }
.quick-action:hover { background: rgba(32,46,84,.9); border-color: rgba(255,255,255,.2); transform: translateY(-2px); }
.quick-action i { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 11px; color: var(--cine-accent-2); background: rgba(241,90,91,.11); font-size: 15px; }
.quick-action strong { display: block; color: #fff; font-size: 11px; }
.quick-action small { display: block; color: var(--cine-muted); font-size: 10px; margin-top: 3px; }
.catalog-section { margin-top: 36px; }
.catalog-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 15px; }
.catalog-heading h2 { margin: 0 !important; color: #fff; font-size: 19px; font-weight: 800; }
.catalog-heading a { color: #ff8b83 !important; font-size: 11px; font-weight: 800; }
.catalog-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 14px; }
.catalog-card { min-width: 0; overflow: hidden; border: 1px solid var(--cine-line); border-radius: 13px; background: rgba(19,29,58,.86); color: #fff !important; transition: .2s ease; }
.catalog-card:hover { transform: translateY(-4px); border-color: rgba(241,90,91,.55); box-shadow: 0 14px 30px rgba(0,0,0,.25); }
.catalog-card-image { position: relative; aspect-ratio: 2 / 3; overflow: hidden; background: #111a32; }
.catalog-card-image.live { aspect-ratio: 16 / 10; display: grid; place-items: center; padding: 18px; }
.catalog-card-image img { width: 100%; height: 100%; object-fit: cover; }
.catalog-card-image.live img { width: 100%; height: 100%; object-fit: contain; }
.catalog-card-title { padding: 11px 12px; color: #edf1fa; font-size: 11px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.empty-state { padding: 24px; border: 1px dashed var(--cine-line); border-radius: 14px; color: var(--cine-muted); font-size: 12px; text-align: center; }
.account-summary { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 38px; padding: 20px 22px; border: 1px solid var(--cine-line); border-radius: 16px; background: rgba(19,29,58,.76); }
.account-summary h3 { margin: 0 0 5px; color: #fff; font-size: 15px; font-weight: 800; }
.account-summary p { margin: 0; color: var(--cine-muted); font-size: 11px; }
.account-summary-meta { display: flex; flex-wrap: wrap; gap: 20px; }
.account-summary-meta span { color: #dce4f5; font-size: 11px; }
.account-summary-meta strong { display: block; color: #8f9dbb; font-size: 9px; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; }
.account-summary .logout-link { padding: 10px 14px; border-radius: 10px; background: rgba(241,90,91,.12); color: #ffaaa5 !important; font-size: 11px; font-weight: 800; }

/* Login */
.login-page { min-height: 100vh; background: radial-gradient(ellipse at 18% 20%,#1a2b55 0%,#0b1229 43%,#070b18 100%) !important; }
.login-shell { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(380px,.9fr); min-height: 100vh; }
.login-visual { position: relative; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(30px,6vw,86px); overflow: hidden; background: linear-gradient(135deg,rgba(14,28,61,.55),rgba(8,13,29,.12)),url('../blue/img/backgrounds/blue-background-img.jpg') center/cover; }
.login-visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(7,12,27,.18),rgba(7,12,27,.45)),linear-gradient(0deg,rgba(7,12,27,.6),transparent 60%); pointer-events: none; }
.login-brand, .login-copy, .login-visual-footer { position: relative; z-index: 1; }
.login-brand { display: flex; align-items: center; gap: 13px; color: #fff; }
.login-brand img { width: 54px; height: 54px; object-fit: contain; }
.login-brand strong { font-size: 23px; font-weight: 800; letter-spacing: -.8px; }
.login-copy { max-width: 620px; margin: auto 0; padding: 70px 0; }
.login-copy .eyebrow { color: #ff9a89; font-size: 10px; font-weight: 800; letter-spacing: 2.5px; text-transform: uppercase; }
.login-copy h1 { margin: 18px 0; color: #fff; font-size: clamp(38px,5.2vw,70px); line-height: 1.03; font-weight: 800; letter-spacing: -2.8px; }
.login-copy p { max-width: 470px; color: #c0cbe2; font-size: 15px; line-height: 1.8; }
.login-visual-footer { color: rgba(222,231,248,.58); font-size: 10px; letter-spacing: 1.4px; text-transform: uppercase; }
.login-panel { display: flex; align-items: center; justify-content: center; padding: 40px clamp(22px,5vw,70px); }
.login-card { width: 100%; max-width: 440px; padding: clamp(28px,4vw,46px); border: 1px solid rgba(255,255,255,.1); border-radius: 22px; background: rgba(17,27,54,.78); box-shadow: 0 30px 90px rgba(0,0,0,.35); backdrop-filter: blur(22px); }
.login-card .login-card-icon { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 22px; border-radius: 15px; color: #fff; background: linear-gradient(135deg,var(--cine-accent),#b84d6b); font-size: 19px; }
.login-card h2 { margin: 0 0 8px; color: #fff; font-size: 27px; font-weight: 800; letter-spacing: -.8px; }
.login-card .login-lead { margin: 0 0 28px; color: var(--cine-muted); font-size: 12px; line-height: 1.6; }
.login-card .form-group { margin-bottom: 18px; text-align: left; }
.login-card label { display: block; margin-bottom: 8px; color: #c4cee3; font-size: 10px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
.login-card .input-box { position: relative; }
.login-card .input-box i { position: absolute; top: 50%; left: 16px; z-index: 2; transform: translateY(-50%); color: #8190b3; pointer-events: none; }
.login-card .input-field { width: 100%; height: 52px; padding: 0 16px 0 46px !important; border: 1px solid rgba(255,255,255,.1) !important; border-radius: 12px !important; outline: none !important; color: #fff !important; background: rgba(5,10,24,.55) !important; box-shadow: none !important; font-size: 13px; }
.login-card .input-field:focus { border-color: rgba(241,90,91,.7) !important; box-shadow: 0 0 0 3px rgba(241,90,91,.1) !important; }
.login-card .btn-submit { width: 100%; min-height: 52px; margin-top: 8px; border: 0; border-radius: 12px; color: #fff; background: linear-gradient(110deg,#ef5a5d,#ca405f); font-size: 11px; font-weight: 800; letter-spacing: 1.2px; cursor: pointer; transition: .2s ease; }
.login-card .btn-submit:hover { transform: translateY(-2px); filter: brightness(1.08); box-shadow: 0 12px 28px rgba(241,90,91,.2); }
.login-card .btn-submit:disabled { opacity: .75; cursor: wait; }
.login-card .alert-custom { margin-bottom: 20px; padding: 12px 14px; border: 1px solid rgba(241,90,91,.35); border-radius: 11px; background: rgba(241,90,91,.1); color: #ffb4b0; font-size: 11px; line-height: 1.5; }
.login-security { margin-top: 22px; color: #8491af; font-size: 10px; text-align: center; }

@media (max-width: 1200px) {
  .hub-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hub-card { min-height: 350px; }
  .catalog-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .header-top { padding: 0 16px; }
  .cine-header-inner { min-height: 70px; gap: 10px; }
  .cine-brand img { width: 40px; height: 40px; }
  .cine-brand-copy strong { font-size: 18px; }
  .cine-brand-copy small { display: none; }
  .cine-header-actions { gap: 8px; }
  .cine-clock { display: none; }
  .cine-account-link { padding: 6px 9px; font-size: 0; }
  .cine-account-avatar { width: 31px; height: 31px; }
  .home-mega-menu { padding: 0 12px; }
  .home-mega-menu .navbar-collapse, .home-mega-menu .navbar-collapse.collapse { flex-wrap: wrap; gap: 8px; }
  .home-mega-menu .navbar-nav { width: 100%; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
  .home-mega-menu .navbar-nav::-webkit-scrollbar { display: none; }
  .home-mega-menu .navbar-nav > li > a { padding: 10px 12px !important; white-space: nowrap; font-size: 11px; }
  .search-block { width: 100%; margin: 0; }
  .search-block form { width: 100%; min-width: 0; }
  .dashboard-shell { padding-top: 24px; }
  .dashboard-intro { align-items: flex-start; flex-direction: column; }
  .dashboard-status { display: none; }
  .hub-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .hub-card { min-height: 290px; border-radius: 14px; }
  .hub-card-content { padding: 15px; }
  .hub-card-icon { width: 40px; height: 40px; margin-bottom: 14px; font-size: 17px; }
  .hub-card h2 { font-size: 17px !important; }
  .hub-card p { font-size: 10px; }
  .quick-actions { grid-template-columns: 1fr; gap: 8px; }
  .quick-action { min-height: 62px; padding: 11px 13px; }
  .catalog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
  .sidebar-categories { position: relative !important; top: auto !important; margin-bottom: 18px !important; }
  .sidebar-categories .cat-list { max-height: 190px !important; overflow-y: auto; }
  .catalog-card-title { padding: 9px; font-size: 10px; }
  .container { width: 100% !important; padding-left: 14px !important; padding-right: 14px !important; }
  .grid-container { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 10px !important; }
  .search-header { padding: 30px 10px !important; }
  .login-shell { grid-template-columns: 1fr; }
  .login-visual { min-height: 250px; padding: 25px; }
  .login-copy { padding: 35px 0 10px; }
  .login-copy h1 { font-size: 37px; letter-spacing: -1.5px; }
  .login-copy p { font-size: 12px; }
  .login-visual-footer { display: none; }
  .login-panel { padding: 22px 16px 35px; }
  .login-card { max-width: 520px; }
  .video-container-wrapper, .video-embed-box, #video_target { border-radius: 12px; }
  article.post .thumbr { height: 245px; }
  article.channel-item .thumbr { height: 135px; }
  article.episode-item .thumbr { height: 145px; }
}
@media (max-width: 420px) {
  .hub-grid { grid-template-columns: 1fr; }
  .hub-card { min-height: 270px; }
  .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cine-brand-copy strong { font-size: 16px; }
}

/* ================================================================
   CINEBOX EXPERIENCE 2.0 · refinamento premium da área do assinante
   Isolado em assets/css/cinebox.css — não altera /admin
   ================================================================ */
:root {
  --cine-bg: #070b18;
  --cine-bg-soft: #0b1122;
  --cine-panel: #131b32;
  --cine-panel-2: #19243d;
  --cine-text: #fbfcff;
  --cine-muted: #a4adc3;
  --cine-line: rgba(227,234,255,.105);
  --cine-accent: #f55b61;
  --cine-accent-2: #ff986d;
  --cine-shadow: 0 26px 65px rgba(0,0,0,.34);
}
html { scroll-padding-top: 130px; }
body { background: radial-gradient(ellipse 75% 30% at 75% 0%,#192340 0%,transparent 74%),#070b18 !important; }
button { cursor: pointer; }
[hidden] { display: none !important; }
:focus-visible { outline: 3px solid #ffb06f !important; outline-offset: 4px !important; }
a, button { -webkit-tap-highlight-color: transparent; }
.header-top { position: relative; z-index: 105; border-bottom-color: rgba(255,255,255,.045) !important; background: rgba(8,12,25,.94) !important; }
.cine-brand img { width: 44px; height: 44px; }
.cine-brand-copy strong { font-size: clamp(19px,2vw,25px); font-weight: 800; letter-spacing: -1px; }
.cine-header-actions { gap: 12px; }
.cine-head-tools { display: flex; align-items: center; gap: 6px; }
.cine-icon-btn { display: inline-grid; place-items: center; width: 40px; height: 40px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: #b6c2dc !important; font-size: 16px; text-decoration: none !important; transition: .18s ease; }
.cine-icon-btn:hover { border-color: var(--cine-line); background: rgba(255,255,255,.065); color: #fff !important; transform: translateY(-1px); }
.cine-icon-btn i { pointer-events: none; }
.cine-online-dot { background: #60e8b6; }
.home-mega-menu { position: relative; z-index: 100; }
.home-mega-menu .navbar-collapse, .home-mega-menu .navbar-collapse.collapse { padding-block: 7px !important; }
.home-mega-menu .navbar-nav > li > a { font-size: 12px; padding: 11px 13px !important; }
.home-mega-menu .navbar-nav > li > a.active { background: rgba(245,91,97,.11) !important; color: #fff !important; }
.home-mega-menu .navbar-nav > li > a.active i { color: #ff8484 !important; }
.search-block input[type="search"],.search-block input[type="text"] { min-width: 0; width: 100%; background: transparent !important; color:#fff !important; border: 0 !important; padding: 8px 2px !important; outline: 0 !important; box-shadow: none !important; font-size: 12px !important; }
.search-block form { min-width: 205px; }
.dashboard-shell { width: min(calc(100% - 44px), 1520px); padding-top: 26px; }
.dashboard-intro { margin: 5px 0 25px; }
.dashboard-intro h1 { font-size: clamp(24px,3vw,38px); letter-spacing: -1.2px; }
.dashboard-intro p { color: #a2adc5; font-size: 13px; }
.dashboard-eyebrow { font-size: 10px; color: #ffa488; letter-spacing: 2px; }
.dashboard-status { background: rgba(18,29,48,.75); border-color: rgba(255,255,255,.07); }

/* Destaque cinematográfico, usando apenas capas reais da API existente */
.cine-spotlight { position: relative; min-height: clamp(345px,35vw,505px); overflow: hidden; isolation: isolate; margin: 10px 0 25px; border-radius: 25px; border: 1px solid rgba(255,255,255,.1); background: radial-gradient(circle at 75% 50%,#344261 0%,#121b32 50%,#0d1426 100%); box-shadow: 0 25px 70px rgba(0,0,0,.27); }
.cine-spotlight::after { content: ''; position: absolute; inset: auto 0 0; height: 1px; background: linear-gradient(90deg,transparent,#f66c69,transparent); opacity: .5; pointer-events: none; }
.cine-spotlight-slide { position: absolute; inset: 0; display: flex; align-items: center; opacity: 0; visibility: hidden; transform: translateX(1%); transition: opacity .55s ease,transform .55s ease,visibility .55s; }
.cine-spotlight-slide.is-current { opacity: 1; visibility: visible; z-index: 2; transform: none; }
.cine-spotlight-art { position: absolute; inset: 0 0 0 45%; background: radial-gradient(circle at 68% 24%,rgba(255,255,255,.08),transparent 65%); }
.cine-spotlight-art::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg,#0f172e 0%,rgba(15,23,46,.93) 15%,rgba(15,23,46,.36) 70%),linear-gradient(0deg,rgba(9,14,27,.78),transparent 27%); }
.cine-spotlight-art img { position: absolute; width: 100%; height: 100%; right: 0; top: 0; object-fit: cover; object-position: center 30%; filter: saturate(.94); }
.cine-spotlight-copy { position: relative; z-index: 2; width: min(700px,65%); padding: clamp(28px,5vw,76px); padding-bottom: 88px; }
.cine-spotlight-kicker { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 9px; color: #ffb7a5; font-size: 10px; font-weight: 800; letter-spacing: 1.8px; text-transform: uppercase; }
.cine-spotlight-kicker .fa { color: #ffbf7b; }
.cine-kicker-divider { display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: #6e7794; }
.cine-spotlight-copy h2 { max-width: 650px; margin: 18px 0 16px; color: #fff; font-size: clamp(33px,4.5vw,62px); letter-spacing: -2px; line-height: 1.08; font-weight: 800; text-shadow: 0 9px 30px rgba(0,0,0,.35); overflow-wrap: anywhere; }
.cine-spotlight-copy p { max-width: 475px; margin: 0 0 26px; color: #c6cfdf; font-size: clamp(12px,1.2vw,15px); line-height: 1.75; }
.cine-spotlight-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; }
.cine-primary-btn, .cine-outline-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 0 18px; border-radius: 12px; text-decoration: none !important; font-weight: 800; font-size: 12px; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.cine-primary-btn { color: #fff !important; background: linear-gradient(125deg,#ff6c68,#d8475d); box-shadow: 0 10px 28px rgba(245,91,97,.22); }
.cine-primary-btn:hover { background: linear-gradient(125deg,#ff8673,#e0526a); box-shadow: 0 14px 35px rgba(245,91,97,.35); transform: translateY(-2px); }
.cine-outline-btn { color: #f6f7fd !important; background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.16); }
.cine-outline-btn:hover { background: rgba(255,255,255,.145); transform: translateY(-2px); }
.cine-spotlight-footer { position: absolute; z-index: 5; left: clamp(26px,5vw,76px); right: clamp(24px,3vw,45px); bottom: 21px; display: flex; justify-content: space-between; align-items: center; pointer-events: none; }
.cine-spotlight-dots,.cine-spotlight-arrows { display: flex; align-items: center; gap: 9px; pointer-events: auto; }
.cine-spotlight-dot { height: 5px; width: 18px; padding: 0; border: 0; border-radius: 4px; background: rgba(255,255,255,.32); transition: width .26s ease,background .26s ease; }
.cine-spotlight-dot.active { width: 36px; background: #ff7972; }
.cine-spotlight-arrows button { width: 35px; height: 35px; border-radius: 50%; border: 1px solid rgba(255,255,255,.23); background: rgba(7,12,25,.4); color: #fff; font-size: 20px; }
.cine-spotlight-arrows button:hover { background: var(--cine-accent); }

/* Portal principal */
.hub-grid { gap: 14px; }
.hub-card { min-height: 345px; border-radius: 19px; border-color: rgba(255,255,255,.08); box-shadow: 0 14px 28px rgba(0,0,0,.15); }
.hub-card::before { background: linear-gradient(180deg,rgba(7,12,27,.05) 0%,rgba(8,14,34,.47) 38%,#111a36 96%) !important; }
.hub-card-content { padding: clamp(17px,2vw,30px); }
.hub-card-icon { width: 45px; height: 45px; border-radius: 14px; background: rgba(255,255,255,.1); backdrop-filter: blur(9px); }
.hub-card h2 { font-size: clamp(20px,2vw,27px) !important; font-weight: 800 !important; letter-spacing: -.5px; }
.hub-card p { max-width: 255px; color: #c3cde3; }
.hub-card:hover { box-shadow: 0 21px 45px rgba(0,0,0,.32); }
.quick-actions { margin-top: 17px; }
.quick-action { border-radius: 15px; background: rgba(18,26,45,.78); border-color: rgba(255,255,255,.075); }
.catalog-section { margin-top: 42px; scroll-margin-top: 35px; }
.catalog-heading h2 { font-size: clamp(18px,2vw,23px); letter-spacing: -.5px; display: flex; align-items: center; gap: 10px; }
.catalog-heading h2 i { color: #ff8a7e; }
.catalog-heading a { font-size: 12px; }
.catalog-grid { gap: 15px; }
.cine-catalog-item { position: relative; min-width: 0; }
.cine-catalog-item > .catalog-card { display: block; height: 100%; }
.catalog-card { border-radius: 15px; overflow: hidden; background: #121b33; }
.catalog-card-image img { transition: transform .5s ease; }
.catalog-card:hover img { transform: scale(1.06); }
.catalog-card-title { font-size: 12px; padding: 14px; }
.cine-favorite { position: absolute; top: 9px; right: 9px; z-index: 20; display: inline-grid; place-items: center; width: 37px; height: 37px; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; color: #fff; background: rgba(7,10,20,.75); backdrop-filter: blur(14px); box-shadow: 0 4px 12px rgba(0,0,0,.2); font-size: 16px; transition: background .18s ease, transform .18s ease; }
.cine-favorite:hover { transform: scale(1.09); background: rgba(241,90,91,.9); }
.cine-favorite[aria-pressed="true"] { color: #ff656e; background: rgba(30,16,31,.96); }
.cine-favorite[aria-pressed="true"]:hover { color: #fff; }
article.post, article.channel-item,.result-card { position: relative; }
article.post > .cine-favorite, article.channel-item > .cine-favorite, .result-card > .cine-favorite { top: 12px; right: 23px; }
.cine-detail-favorite { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 10px; border: 1px solid var(--cine-line); margin: 14px 0 8px; background: rgba(255,255,255,.07); color: #fff; font-size: 12px; font-weight: 800; }
.cine-detail-favorite[aria-pressed="true"] i { color: #ff6d75; }
.cine-detail-favorite:hover { border-color: #ff7278; background: rgba(255,108,115,.12); }

/* Favoritos e retomada armazenados somente neste navegador */
.cine-personal-section { scroll-margin-top: 35px; }
.cine-subtle-label { color: #91a0bd; font-size: 11px; white-space: nowrap; }
.cine-personal-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 14px; }
.cine-personal-card { min-width: 0; overflow: hidden; border-radius: 15px; background: #121a31; border: 1px solid var(--cine-line); transition: .2s ease; }
.cine-personal-card:hover { transform: translateY(-4px); border-color: rgba(255,137,134,.5); }
.cine-personal-cover { display: block; position: relative; aspect-ratio: 2/3; overflow: hidden; background: #1b263c; }
.cine-personal-cover img { width: 100%; height: 100%; object-fit: cover; }
.cine-personal-play { position: absolute; inset: auto 12px 13px auto; display: grid; place-items: center; width: 35px; height: 35px; color: #fff; border-radius: 50%; background: var(--cine-accent); }
.cine-progress-rail { position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: rgba(255,255,255,.35); }
.cine-progress-rail span { display: block; height: 100%; border-radius: 0 3px 3px 0; background: #ff7770; }
.cine-personal-body { display: flex; align-items: flex-start; flex-direction: column; padding: 12px; gap: 5px; }
.cine-personal-type { color: #ff9c8e; font-size: 9px; letter-spacing: 1px; text-transform: uppercase; font-weight: 800; }
.cine-personal-title { color: #fff !important; font-size: 12px; font-weight: 800; width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cine-personal-detail, .cine-remove-personal { color: #8998b4; font-size: 10px; }
.cine-remove-personal { background: transparent; border: none; padding: 2px 0; text-decoration: underline; }
.cine-remove-personal:hover { color: #ff8c8c; }
.cine-empty-list { min-height: 205px; padding: 26px; border: 1px dashed rgba(255,255,255,.17); border-radius: 17px; display: flex; flex-direction: column; align-items: center; text-align: center; justify-content: center; background: radial-gradient(circle at 50% 0%,rgba(255,255,255,.045),transparent 65%); }
.cine-empty-list > i { color: #ff8b86; font-size: 26px; margin-bottom: 11px; }
.cine-empty-list strong { font-size: 17px; color: #fff; }
.cine-empty-list p { font-size: 12px; color: #97a4c2; margin: 8px 0 18px; }
.cine-empty-list .cine-outline-btn { min-height: 38px; }

/* Ferramentas instantâneas de catálogo */
.cine-catalog-tools { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; margin: 0 0 21px; padding: 12px 13px; border: 1px solid var(--cine-line); border-radius: 15px; background: rgba(17,26,49,.85); }
.cine-catalog-search-wrap { display: flex; align-items: center; flex: 1 1 245px; gap: 10px; padding: 0 13px; min-height: 43px; border: 1px solid rgba(255,255,255,.11); border-radius: 10px; color: #9aabc9; background: rgba(0,0,0,.18); margin: 0; }
.cine-catalog-search { width: 100%; min-width: 0; height: 40px; border: 0 !important; background: transparent !important; outline: 0 !important; box-shadow: none !important; color: #fff !important; font-size: 12px; }
.cine-catalog-search::placeholder { color: #8794ac; }
.cine-catalog-sort { flex: 0 0 auto; height: 43px; max-width: 160px; padding: 0 13px; border: 1px solid var(--cine-line); border-radius: 10px; background: #111c34; color: #e4e8f3; font-size: 12px; }
.cine-catalog-sort option { background: #111c34; }
.cine-catalog-count { margin-left: auto; color: #a7b2c7; font-size: 11px; white-space: nowrap; }
.cine-no-matches { padding: 18px 25px; color: #bac5dc; text-align: center; }
#resultados article[hidden] { display: none !important; }

/* Pesquisa contextual Ctrl+K e ajuda */
.cine-modal-open { overflow: hidden !important; }
.cine-modal-backdrop { position: fixed; z-index: 9999; inset: 0; display: flex; align-items: flex-start; justify-content: center; padding: min(14vh,110px) 15px 25px; background: rgba(2,5,14,.79); backdrop-filter: blur(9px); }
.cine-modal, .cine-help-modal { width: min(100%,620px); max-height: 78vh; overflow: auto; border: 1px solid rgba(255,255,255,.17); background: #111b31; border-radius: 19px; color: #fff; box-shadow: 0 35px 95px rgba(0,0,0,.65); }
.cine-modal-inputrow { display: flex; align-items: center; gap: 13px; padding: 11px 17px; border-bottom: 1px solid var(--cine-line); font-size: 16px; }
.cine-modal-inputrow > i { color: #ff9393; }
.cine-modal-inputrow input { min-width: 0; flex: 1 1 auto; height: 42px; color: #fff; border: 0; outline: 0; background: transparent; font-size: 15px; }
.cine-modal-inputrow input::placeholder { color: #90a0bd; }
.cine-modal-close { padding: 5px 9px; background: rgba(255,255,255,.07); color: #c5cede; border: 1px solid var(--cine-line); border-radius: 7px; font-size: 10px; }
.cine-modal-hint { padding: 12px 20px 0; margin: 0; color: #8290ad; font-size: 11px; }
.cine-modal-results { display: grid; gap: 4px; padding: 15px; max-height: 55vh; overflow-y: auto; }
.cine-quick-result { display: flex; align-items: center; gap: 13px; padding: 9px; border: 1px solid transparent; border-radius: 11px; color: #fff !important; }
.cine-quick-result:hover,.cine-quick-result:focus { background: rgba(255,255,255,.065); border-color: var(--cine-line); }
.cine-quick-result img { width: 40px; height: 53px; object-fit: cover; border-radius: 6px; }
.cine-quick-result > span { display: flex; flex-direction: column; flex: 1; min-width: 0; gap: 5px; }
.cine-quick-result strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; }
.cine-quick-result small { color: #96a7c6; font-size: 10px; }
.cine-quick-result > i { color: #8290ab; margin: 0 8px; }
.cine-search-all { width: 100%; padding: 13px; margin-top: 6px; border: 1px solid rgba(255,107,115,.24); border-radius: 10px; text-align: left; color: #ffb1a8; background: rgba(245,91,97,.07); font-size: 12px; }
.cine-search-all:hover { background: rgba(245,91,97,.14); }
.cine-quick-empty { padding: 18px 10px; color: #abb6d0; font-size: 12px; }
.cine-help-modal { max-width: 490px; padding: 24px; }
.cine-help-head { display: flex; align-items: center; justify-content: space-between; }
.cine-help-head h3 { margin: 0; font-size: 22px; font-weight: 800; }
.cine-help-head button { border: 0; background: transparent; color: #c2c9d8; font-size: 30px; }
.cine-help-modal > p { color: #99a9c4; margin: 8px 0 19px; font-size: 12px; }
.cine-help-list { display: grid; gap: 10px; }
.cine-help-list > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.06); font-size: 12px; }
.cine-help-list kbd { white-space: nowrap; background: #23304d; border: 1px solid #394663; padding: 5px 8px; border-radius: 6px; color: #fff; font-size: 11px; }
.cine-help-list span { color: #b4c0d8; text-align: right; }
.cine-toast { position: fixed; z-index: 10001; bottom: 24px; left: 50%; padding: 12px 20px; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; background: #22314f; box-shadow: 0 10px 50px rgba(0,0,0,.46); color: #fff; text-align: center; font-size: 12px; font-weight: 700; opacity: 0; transform: translate(-50%,12px); pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.cine-toast.show { opacity: 1; transform: translate(-50%,0); }

/* Player aprimorado sem interferir na reprodução do backend */
.cine-resume-prompt { position: absolute; z-index: 999; left: 50%; bottom: 55px; transform: translateX(-50%); display: flex; align-items: center; gap: 14px; width: max-content; max-width: calc(100% - 22px); padding: 13px; border-radius: 12px; border: 1px solid rgba(255,255,255,.15); background: rgba(11,19,35,.95); color: #fff; box-shadow: 0 12px 32px rgba(0,0,0,.45); }
.cine-resume-prompt > div { display: flex; flex-direction: column; gap: 4px; }
.cine-resume-prompt strong { font-size: 12px; }
.cine-resume-prompt span { color: #acb7ce; font-size: 11px; }
.cine-resume-prompt button:not(.cine-resume-dismiss) { border: 0; border-radius: 8px; padding: 10px 12px; background: #f55b61; color: #fff; font-size: 11px; font-weight: 800; }
.cine-resume-dismiss { border: 0; color: #aeb7c9; background: transparent; font-size: 20px; }
.cine-video-utilities { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 7px 0 20px; color: #8b9ab6; font-size: 11px; }
.cine-video-utilities button { border: 1px solid var(--cine-line); border-radius: 10px; padding: 8px 11px; color: #dbe5f7; background: rgba(255,255,255,.06); font-size: 11px; }
.cine-video-utilities button:hover { color: #fff; background: rgba(255,255,255,.14); }
.movie-header-info { position: relative; }
.quality-badge,.badge-tech { border-radius: 7px !important; background: rgba(245,91,97,.16) !important; border: 1px solid rgba(245,91,97,.34); color: #ffa49f !important; }

/* Login: senha acessível, mais claro no mobile */
.login-page .input-box { position: relative; }
.cine-password-toggle { position: absolute; z-index: 3; top: 50%; right: 8px; transform: translateY(-50%); width: 38px; height: 38px; display: grid; place-items: center; border: 0; border-radius: 9px; background: transparent; color: #acbbd2; font-size: 15px; }
.cine-password-toggle:hover { color: #fff; background: rgba(255,255,255,.08); }
.login-card #login-password { padding-right: 54px !important; }
.login-card { border-radius: 24px; }
.login-visual { background-image: linear-gradient(135deg,rgba(14,28,61,.55),rgba(8,13,29,.12)),url('../blue/img/backgrounds/blue-background-img.jpg'); }

/* Navegação nativa no celular — atalhos visíveis e alvos grandes para toque */
.cine-bottom-nav { display: none; }
@media (max-width: 1200px) {
  .cine-personal-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .cine-spotlight-copy { width: min(750px,69%); }
  .hub-card { min-height: 320px; }
}
@media (max-width: 991px) {
  .cine-spotlight-copy { width: 76%; }
  .cine-spotlight-art { left: 34%; }
  .cine-spotlight-art::before { background: linear-gradient(90deg,#0f172e,rgba(15,23,46,.77) 28%,rgba(15,23,46,.35) 100%),linear-gradient(0deg,rgba(9,14,27,.85),transparent 35%); }
  .cine-head-tools .cine-help-button { display: none; }
  .home-mega-menu .navbar-nav > li > a { padding: 10px !important; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 80px; }
  body:not(.login-page) { padding-bottom: 82px !important; }
  .header-top { padding: 0 15px; }
  .cine-header-inner { min-height: 69px; }
  .cine-brand img { width: 38px; height: 38px; }
  .cine-brand-copy strong { font-size: 17px; }
  .cine-header-actions { gap: 3px; }
  .cine-icon-btn { width: 36px; height: 36px; border-radius: 9px; }
  .cine-head-tools .cine-icon-btn:nth-child(2) { display: none; }
  .cine-account-link { border: 0 !important; background: none !important; padding: 2px !important; }
  .cine-account-link > .fa-angle-down { display: none; }
  .home-mega-menu { display: none; }
  .cine-bottom-nav { position: fixed; z-index: 1000; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); left: 0; right: 0; bottom: 0; min-height: 65px; padding: 7px 6px max(9px,env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,255,255,.12); background: rgba(9,15,29,.96); backdrop-filter: blur(25px); box-shadow: 0 -9px 28px rgba(0,0,0,.2); }
  .cine-bottom-nav a { display: flex; align-items: center; justify-content: center; gap: 5px; flex-direction: column; color: #92a0ba !important; text-align: center; min-width: 0; border-radius: 10px; padding: 5px 1px; }
  .cine-bottom-nav a i { font-size: 19px; }
  .cine-bottom-nav a span { font-size: 9px; font-weight: 700; white-space: nowrap; }
  .cine-bottom-nav a.current, .cine-bottom-nav a:focus { color: #ff8485 !important; background: rgba(245,91,97,.085); }
  .dashboard-shell { width: calc(100% - 28px); padding-top: 23px; padding-bottom: 36px; }
  .dashboard-intro { margin-bottom: 15px; }
  .dashboard-intro h1 { font-size: 28px; }
  .cine-spotlight { min-height: 400px; margin: 12px 0 18px; border-radius: 18px; }
  .cine-spotlight-art { inset: 0; }
  .cine-spotlight-art::before { background: linear-gradient(0deg,rgba(11,17,33,.97) 1%,rgba(11,17,33,.83) 38%,rgba(11,17,33,.24) 100%),linear-gradient(90deg,rgba(11,17,33,.5),transparent); }
  .cine-spotlight-art img { object-position: center 22%; }
  .cine-spotlight-slide { align-items: end; }
  .cine-spotlight-copy { width: 100%; padding: 25px 22px 69px; }
  .cine-spotlight-copy h2 { font-size: clamp(28px,7vw,42px); max-height: 2.4em; overflow: hidden; margin: 10px 0; line-height: 1.12; }
  .cine-spotlight-copy p { line-height: 1.5; font-size: 11px; margin-bottom: 18px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
  .cine-spotlight-kicker { font-size: 9px; gap: 6px; }
  .cine-spotlight-actions { gap: 8px; }
  .cine-primary-btn,.cine-outline-btn { min-height: 41px; padding: 0 12px; font-size: 11px; }
  .cine-spotlight-footer { bottom: 17px; left: 22px; right: 18px; }
  .cine-spotlight-arrows button { width: 30px; height: 30px; }
  .hub-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
  .hub-card { min-height: 260px; border-radius: 14px; }
  .hub-card-content { padding: 14px; }
  .hub-card h2 { font-size: 17px !important; }
  .hub-card-icon { width: 37px; height: 37px; }
  .hub-card p { font-size: 10px; }
  .hub-card-meta { font-size: 9px; }
  .quick-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .quick-action:last-child { display: none; }
  .quick-action { min-height: 69px; }
  .quick-action small { display: none; }
  .catalog-section { margin-top: 31px; }
  .catalog-heading h2 { font-size: 18px; }
  .catalog-grid, .cine-personal-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
  .cine-favorite { width: 32px; height: 32px; font-size: 14px; top: 6px; right: 6px; }
  .cine-catalog-tools { padding: 9px; }
  .cine-catalog-search-wrap { flex: 1 0 100%; }
  .cine-catalog-count { margin-left: auto; }
  .cine-video-shortcuts { display: none; }
  .cine-video-utilities { justify-content: flex-end; }
  .cine-toast { bottom: 84px; }
  .cine-modal-backdrop { padding-top: 8vh; }
  .cine-resume-prompt { left: 10px; right: 10px; transform: none; bottom: 14px; }
}
@media (max-width: 420px) {
  .hub-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .hub-card { min-height: 245px; }
  .hub-card p { display: none; }
  .hub-card-meta { margin-top: 15px; }
  .catalog-grid,.cine-personal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cine-spotlight { min-height: 375px; }
  .cine-spotlight-copy h2 { font-size: 29px; }
  .cine-spotlight-kicker { letter-spacing: .7px; }
  .cine-spotlight-actions .cine-outline-btn { padding: 0 9px; }
  .cine-subtle-label { display: none; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .catalog-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Catálogo completo acessível em páginas, inclusive após os limites antigos de 150/500 itens. */
.cine-pagination { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 13px; margin: 27px 0 40px; padding: 15px 18px; background: rgba(16,25,44,.85); border: 1px solid var(--cine-line); border-radius: 15px; }
.cine-pagination-total { color: #9caac6; font-size: 11px; }
.cine-pagination-links { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.cine-pagination-links a, .cine-pagination-links span { display: grid; place-items: center; min-width: 33px; height: 34px; padding: 0 10px; border: 1px solid rgba(255,255,255,.08); border-radius: 9px; color: #e2e6ef !important; background: rgba(255,255,255,.045); font-size: 11px; font-weight: 750; }
.cine-pagination-links span { border-color: transparent; background: none; }
.cine-pagination-links a:hover { border-color: rgba(255,109,115,.5); background: rgba(245,91,97,.12); }
.cine-pagination-links a.current { background: #df4f5f; border-color: #df4f5f; color: #fff !important; }
@media (max-width:767px) { .cine-pagination { padding: 12px; justify-content: center; } .cine-pagination-total { width: 100%; text-align: center; } }

/* Correção mobile 2026-11-02: login acessível sem rolagem excessiva */
@media (max-width: 767px) {
  .login-page .login-shell { display: flex; flex-direction: column; min-height: 100dvh; }
  .login-page .login-visual { min-height: 0; padding: 18px 18px 12px; flex: none; background-position: center 36%; }
  .login-page .login-brand { gap: 9px; }
  .login-page .login-brand img { width: 38px; height: 38px; }
  .login-page .login-brand strong { font-size: 20px; }
  .login-page .login-copy, .login-page .login-visual-footer { display: none; }
  .login-page .login-panel { flex: 1; align-items: flex-start; padding: 12px 12px 26px; }
  .login-page .login-card { padding: 22px 19px; border-radius: 18px; }
  .login-page .login-card .login-card-icon { width: 42px; height: 42px; margin-bottom: 12px; }
  .login-page .login-card h2 { font-size: 23px; }
  .login-page .login-card .login-lead { margin-bottom: 18px; }
  .login-page .login-card .form-group { margin-bottom: 14px; }
  .login-page .login-card .input-field { font-size: 16px; }
  .login-page .login-card .btn-submit { font-size: 13px; letter-spacing: .4px; }
}
