
:root {
    --bg-main: #0b1118;
    --bg-header: #070c12;
    --brand-green: #72b63c;
    --brand-green-hover: #83cf44;
    --brand-green-badge: #68ab34;
    --brand-yellow-badge: #e6b014;
    --card-bg: #111823;
    --text-white: #ffffff;
    --text-gray: #8899a6;
    --text-muted: #64748b;
    --border-color: #17212d;
}

* { box-sizing: border-box; margin: 0; padding: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
body { background-color: var(--bg-main); color: #cbd5e1; line-height: 1.5; min-height: 100vh; display: flex; flex-direction: column; }

a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }

.container { width: 100%; max-width: 1320px; margin: 0 auto; padding: 0 24px; }

/* Header Mundo Filmes */
.site-header { background: var(--bg-header); border-bottom: 1px solid #141b24; padding: 18px 0; position: sticky; top: 0; z-index: 100; }
.header-wrapper { display: flex; align-items: center; justify-content: space-between; gap: 20px; }

.logo-brand { display: flex; align-items: center; gap: 8px; text-decoration: none; }
.logo-icon { width: 46px; height: 46px; background: #000; border: 2px solid var(--brand-green); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--brand-green); font-size: 21px; box-shadow: 0 0 10px rgba(114, 182, 60, 0.3); }
.logo-text-group { display: flex; flex-direction: column; line-height: 1; }
.logo-title-main { font-size: 24px; font-weight: 900; color: #fff; letter-spacing: -0.5px; }
.logo-title-sub { font-size: 13px; font-weight: 800; color: #e6b014; letter-spacing: 2px; }

.main-nav { display: flex; align-items: center; gap: 28px; list-style: none; }
.main-nav a { display: flex; align-items: center; gap: 7px; color: #cbd5e1; font-size: 16px; font-weight: 700; transition: color 0.2s; }
.main-nav a i { color: var(--brand-green); font-size: 15px; }
.main-nav a:hover, .main-nav a.active { color: #fff; }

.dropdown-parent { position: relative; }
.dropdown-parent:hover .dropdown-menu { display: block; }
.dropdown-menu { display: none; position: absolute; top: 100%; left: 0; background: #0f1622; border: 1px solid #1c2738; border-radius: 8px; min-width: 200px; padding: 10px 0; box-shadow: 0 8px 25px rgba(0,0,0,0.7); z-index: 1000; }
.dropdown-menu a { display: block !important; padding: 10px 20px !important; color: #cbd5e1 !important; font-size: 15px !important; font-weight: 500 !important; transition: background 0.15s, color 0.15s; }
.dropdown-menu a:hover { background: #182332; color: var(--brand-green) !important; }

.header-right { display: flex; align-items: center; gap: 14px; }
.search-form { position: relative; width: 260px; }
.search-form input { width: 100%; background: #161e29; border: 1px solid #232d3d; border-radius: 20px; padding: 10px 38px 10px 16px; color: #fff; font-size: 15px; outline: none; }
.search-form input:focus { border-color: var(--brand-green); }
.search-form button { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: none; color: #718096; cursor: pointer; font-size: 13px; }

.btn-login { background: var(--brand-green); color: #070c12; font-weight: 800; font-size: 15px; padding: 10px 22px; border-radius: 22px; transition: background 0.2s, transform 0.1s; display: inline-block; }
.btn-login:hover { background: var(--brand-green-hover); transform: scale(1.02); }

.section-headline { font-size: 20px; font-weight: 800; color: #fff; margin: 30px 0 18px; }

/* Carrossel de Destaques */
.featured-slider-container { position: relative; margin-bottom: 35px; }
.featured-slider { display: flex; gap: 18px; overflow-x: auto; scroll-behavior: smooth; padding-bottom: 10px; }
.featured-slider::-webkit-scrollbar { height: 4px; }
.featured-slider::-webkit-scrollbar-thumb { background: #1e293b; border-radius: 4px; }

.slider-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; background: rgba(0,0,0,0.65); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 10; border: 1px solid rgba(255,255,255,0.1); backdrop-filter: blur(4px); }
.slider-arrow.left { left: -16px; }
.slider-arrow.right { right: -16px; }

.card-featured { min-width: 230px; max-width: 230px; aspect-ratio: 2/3; border-radius: 12px; overflow: hidden; position: relative; background: #0e1520; flex-shrink: 0; box-shadow: 0 4px 15px rgba(0,0,0,0.5); transition: transform 0.2s, box-shadow 0.2s; }
.card-featured:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.8); }
.card-featured img { width: 100%; height: 100%; object-fit: cover; }
.badge-year-pill { position: absolute; top: 10px; left: 10px; background: var(--brand-green-badge); color: #0b1118; font-weight: 900; font-size: 11px; padding: 2px 7px; border-radius: 6px; }

/* Barra Últimos Filmes */
.subbar-nav { display: flex; align-items: center; justify-content: space-between; margin: 30px 0 20px; }
.btn-pill-active { background: var(--brand-green); color: #0b1118; font-weight: 800; font-size: 13px; padding: 8px 18px; border-radius: 20px; display: inline-flex; align-items: center; gap: 8px; }
.btn-ver-mais { color: #8899a6; font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 4px; transition: color 0.2s; }
.btn-ver-mais:hover { color: #fff; }

/* Grade de Cards */
.movies-grid-standard { display: grid; grid-template-columns: repeat(auto-fill, minmax(215px, 1fr)); gap: 22px; }
.movie-card-standard { position: relative; border-radius: 10px; overflow: hidden; background: #0f1622; aspect-ratio: 2/3; transition: transform 0.25s, box-shadow 0.25s; box-shadow: 0 4px 12px rgba(0,0,0,0.4); display: block; }
.movie-card-standard:hover { transform: translateY(-6px); box-shadow: 0 8px 25px rgba(0,0,0,0.7); }
.movie-card-standard img { width: 100%; height: 100%; object-fit: cover; }

.badge-top-left { position: absolute; top: 8px; left: 8px; background: var(--brand-green-badge); color: #0b1118; font-weight: 900; font-size: 11px; padding: 2px 7px; border-radius: 5px; }
.badge-top-right { position: absolute; top: 8px; right: 8px; background: var(--brand-yellow-badge); color: #0b1118; font-weight: 900; font-size: 10px; padding: 2px 6px; border-radius: 5px; text-transform: uppercase; }

/* Página Interna Single */
.single-movie-header { margin-top: 25px; margin-bottom: 25px; }
.single-movie-title { font-size: 32px; font-weight: 800; color: #fff; margin-bottom: 6px; }
.single-movie-meta-subtitle { font-size: 13px; color: var(--text-muted); font-weight: 500; }

.single-main-layout { display: grid; grid-template-columns: 300px 1fr 340px; gap: 30px; align-items: start; }

.poster-box-single { border-radius: 12px; overflow: hidden; box-shadow: 0 8px 25px rgba(0,0,0,0.6); background: #000; }
.poster-box-single img { width: 100%; height: auto; display: block; }

.details-box-single { display: flex; flex-direction: column; gap: 15px; }
.badge-top-details { display: flex; align-items: center; gap: 12px; margin-bottom: 5px; }
.badge-webdl-yellow { background: var(--brand-yellow-badge); color: #0b1118; font-weight: 900; font-size: 11px; padding: 2px 7px; border-radius: 4px; }
.badge-star-rating { color: var(--brand-yellow-badge); font-size: 13px; font-weight: 800; display: inline-flex; align-items: center; gap: 4px; }
.badge-duration-meta { color: #94a3b8; font-size: 13px; }

.info-table-clean { width: 100%; border-collapse: collapse; font-size: 13px; }
.info-table-clean td { padding: 5px 0; vertical-align: top; }
.info-table-clean td.label { width: 135px; color: #fff; font-weight: 700; }
.info-table-clean td.value { color: #94a3b8; }
.info-table-clean td.value.highlight-imdb { color: var(--brand-yellow-badge); font-weight: 800; font-size: 14px; }

.social-action-buttons { display: flex; gap: 8px; margin-top: 15px; }
.social-btn { width: 34px; height: 34px; border-radius: 6px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 13px; border: none; cursor: pointer; text-decoration: none; }
.social-btn.facebook { background: #1877f2; }
.social-btn.twitter { background: #262930; }
.social-btn.blogger { background: #ff5722; }
.social-btn.comments { background: #3b82f6; }

.sidebar-related-title { font-size: 16px; font-weight: 800; color: #fff; margin-bottom: 16px; }
.sidebar-grid-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.card-sidebar-related { border-radius: 8px; overflow: hidden; background: #0f1622; aspect-ratio: 2/3; position: relative; box-shadow: 0 4px 10px rgba(0,0,0,0.5); }
.card-sidebar-related img { width: 100%; height: 100%; object-fit: cover; }
.card-sidebar-rating { position: absolute; top: 6px; right: 6px; width: 24px; height: 24px; border-radius: 50%; background: #000; border: 2px solid var(--brand-yellow-badge); color: #fff; font-size: 10px; font-weight: 800; display: flex; align-items: center; justify-content: center; }

/* Botão Download Hero */
.btn-download-hero { background: var(--brand-green); color: #0b1118; font-weight: 900; font-size: 16px; padding: 14px 28px; border-radius: 6px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 100%; text-transform: uppercase; transition: background 0.2s, transform 0.1s; letter-spacing: 0.5px; box-shadow: 0 4px 15px rgba(114, 182, 60, 0.4); border: none; cursor: pointer; }
.btn-download-hero:hover { background: var(--brand-green-hover); transform: translateY(-2px); }

/* Estilos de Episódios de Séries Fake */
.btn-episode-fake { background: #151e2c; border: 1px solid #243245; border-radius: 6px; padding: 9px 8px; display: flex; align-items: center; justify-content: space-between; color: #e2e8f0; font-size: 12px; font-weight: 700; transition: all 0.2s; text-decoration: none; }
.btn-episode-fake:hover { background: var(--brand-green); border-color: var(--brand-green); color: #0b1118; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(114, 182, 60, 0.4); }
.btn-episode-fake .ep-badge { background: #0b1118; color: #72b63c; padding: 2px 6px; border-radius: 4px; font-size: 11px; }
.btn-episode-fake:hover .ep-badge { background: #0b1118; color: #fff; }
.btn-season-tab { background: #182332; border: 1px solid #283748; color: #94a3b8; padding: 6px 14px; border-radius: 6px; font-size: 12px; font-weight: 700; cursor: pointer; transition: all 0.2s; }
.btn-season-tab.active, .btn-season-tab:hover { background: var(--brand-green); color: #0b1118; border-color: var(--brand-green); }

@media(max-width: 1024px) {
    .single-main-layout { grid-template-columns: 260px 1fr; }
    .sidebar-col { grid-column: 1 / -1; margin-top: 30px; }
    .sidebar-grid-2col { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
}

@media(max-width: 768px) {
    .header-wrapper { flex-direction: column; gap: 12px; }
    .main-nav { flex-wrap: wrap; justify-content: center; gap: 14px; }
    .single-main-layout { grid-template-columns: 1fr; }
    .poster-box-single { max-width: 300px; margin: 0 auto; }
    .main-nav a { font-size: 15px; }
    .search-form { width: 100%; }
}

/* Breadcrumb SEO (single) */
.breadcrumb-seo { margin-top: 22px; font-size: 13px; color: var(--text-muted); display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.breadcrumb-seo a:hover { color: var(--brand-green); }
.breadcrumb-seo i { font-size: 9px; }
.breadcrumb-seo span { color: #94a3b8; }
.breadcrumb-seo + .single-movie-header { margin-top: 12px; }

/* ---------- Paginação ---------- */
.paginacao { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 36px 0 10px; }
.paginacao a, .paginacao span { min-width: 40px; height: 40px; padding: 0 12px; display: inline-flex; align-items: center; justify-content: center; background: #161e29; border: 1px solid #232d3d; border-radius: 8px; color: #cbd5e1; font-size: 14px; font-weight: 600; transition: all 0.2s; }
.paginacao a:hover { border-color: var(--brand-green); color: #fff; background: #1b2635; }
.paginacao .ativa { background: var(--brand-green); border-color: var(--brand-green); color: #0b1118; font-weight: 800; }
.paginacao .desativada { opacity: 0.35; cursor: default; }
.paginacao .reticencias { background: none; border: none; min-width: auto; padding: 0 2px; color: #64748b; }
@media(max-width: 768px) {
  .paginacao { gap: 6px; }
  .paginacao a, .paginacao span { min-width: 36px; height: 36px; padding: 0 8px; font-size: 13px; }
}

/* ---------- Filtros da pesquisa ---------- */
.filtro-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: -6px 0 22px; }
.filtro-pills a { background: #161e29; border: 1px solid #232d3d; color: #94a3b8; font-size: 13px; font-weight: 600; padding: 7px 16px; border-radius: 20px; display: inline-flex; align-items: center; gap: 6px; transition: all 0.2s; }
.filtro-pills a:hover { color: #fff; border-color: var(--brand-green); }
.filtro-pills a.ativa { background: var(--brand-green); border-color: var(--brand-green); color: #0b1118; font-weight: 800; }

/* ---------- Sugestões da pesquisa (autocomplete) ---------- */
.search-suggest { position: absolute; top: calc(100% + 8px); left: 0; right: 0; min-width: 300px; background: #111823; border: 1px solid #232d3d; border-radius: 10px; box-shadow: 0 12px 30px rgba(0,0,0,0.5); overflow: hidden; z-index: 200; display: none; }
.search-suggest.aberto { display: block; }
.search-suggest a { display: flex; align-items: center; gap: 12px; padding: 8px 12px; color: #e1e7ec; font-size: 14px; border-bottom: 1px solid #1a2332; }
.search-suggest a:hover, .search-suggest a.foco { background: #1b2635; }
.search-suggest img { width: 36px; height: 52px; object-fit: cover; border-radius: 4px; background: #1a2332; flex-shrink: 0; }
.search-suggest .sug-info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.search-suggest .sug-titulo { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.search-suggest .sug-meta { font-size: 12px; color: #64748b; }
.search-suggest .sug-todos { justify-content: center; color: var(--brand-green); font-weight: 700; font-size: 13px; border-bottom: none; }
.search-suggest .sug-vazio { padding: 14px; text-align: center; color: #64748b; font-size: 13px; }

/* ---------- Menu responsivo (mobile / tablet) ---------- */
.menu-toggle, .menu-close-row { display: none; }
.menu-overlay { display: none; }

@media(max-width: 1200px) {
  .site-header { padding: 12px 0; }
  .header-wrapper { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px; }
  .menu-toggle { display: inline-flex; order: 1; align-items: center; justify-content: center; width: 42px; height: 42px; flex-shrink: 0; background: #161e29; border: 1px solid #232d3d; border-radius: 10px; color: #fff; font-size: 18px; cursor: pointer; transition: border-color 0.2s; }
  .menu-toggle:hover { border-color: var(--brand-green); }
  .logo-brand { order: 2; margin-right: auto; }
  .header-right { order: 3; gap: 10px; }
  .search-form { width: 240px; }
  .search-suggest { left: auto; right: 0; min-width: min(320px, 90vw); }

  /* Gaveta lateral */
  .menu-overlay { display: block; position: fixed; inset: 0; background: rgba(0,0,0,0.65); opacity: 0; pointer-events: none; transition: opacity 0.25s; z-index: 250; }
  body.menu-open { overflow: hidden; }
  body.menu-open .menu-overlay { opacity: 1; pointer-events: auto; }

  .main-nav { position: fixed; top: 0; left: 0; bottom: 0; width: 300px; max-width: 85vw; margin: 0; padding: 64px 0 24px; background: #0b1118; border-right: 1px solid #1c2738; box-shadow: 8px 0 30px rgba(0,0,0,0.6); flex-direction: column; flex-wrap: nowrap; align-items: stretch; justify-content: flex-start; gap: 0; overflow-y: auto; transform: translateX(-102%); transition: transform 0.25s ease; z-index: 300; visibility: hidden; }
  body.menu-open .main-nav { transform: none; visibility: visible; }
  .main-nav > li > a { padding: 15px 22px; font-size: 16px; border-bottom: 1px solid #141b24; }
  .main-nav > li > a:hover { background: #111823; }

  .menu-close-row { display: block; }
  .menu-close { position: absolute; top: 12px; right: 14px; width: 40px; height: 40px; background: #161e29; border: 1px solid #232d3d; border-radius: 10px; color: #fff; font-size: 17px; cursor: pointer; }

  /* Submenus viram sanfona (abrem ao tocar) */
  .dropdown-parent > a .fa-caret-down { margin-left: auto; font-size: 13px !important; transition: transform 0.2s; }
  .dropdown-parent.aberto > a .fa-caret-down { transform: rotate(180deg); }
  .dropdown-parent:hover .dropdown-menu { display: none; }
  .dropdown-menu { position: static; min-width: 0; padding: 6px 10px; border: none; border-radius: 0; box-shadow: none; background: #0f1622; border-bottom: 1px solid #141b24; }
  .dropdown-parent.aberto .dropdown-menu { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
  .dropdown-menu a { padding: 10px 12px !important; font-size: 14px !important; border-radius: 6px; }
}

@media(max-width: 640px) {
  .container { padding: 0 16px; }
  .header-right { display: contents; }
  .btn-login { order: 3; padding: 8px 16px; font-size: 14px; }
  .search-form { order: 4; flex: 1 0 100%; width: 100%; }
  .search-form input { padding: 9px 38px 9px 16px; font-size: 14px; }
  .search-suggest { left: 0; right: 0; min-width: 0; }
  .logo-icon { width: 38px; height: 38px; font-size: 17px; }
  .logo-title-main { font-size: 20px; }
  .logo-title-sub { font-size: 11px; }
}

/* Ícone do menu em CSS puro (não depende do Font Awesome) */
.menu-bars, .menu-bars::before, .menu-bars::after { display: block; width: 20px; height: 2px; background: #fff; border-radius: 2px; }
.menu-bars { position: relative; }
.menu-bars::before, .menu-bars::after { content: ""; position: absolute; left: 0; }
.menu-bars::before { top: -6px; }
.menu-bars::after { top: 6px; }
.menu-close { font-size: 26px !important; line-height: 1; }

/* Selo "EM BREVE" nos cards */
.badge-top-right.em-breve { background: #6d28d9; color: #fff; }
