/*!
 * CORES DO TEMA — modo claro / escuro
 * ----------------------------------------------------------------------------
 * Carregado por último. As variáveis --c-* são geradas em inc/theme-colors.php
 * (Personalizar > Cores do Tema) para os dois modos:
 *   :root                                  -> paleta clara
 *   @media (prefers-color-scheme: dark)    -> paleta escura (modo "automático")
 *   :root[data-theme="dark"|"light"]       -> modo forçado / escolha do visitante
 *
 * Regra de ouro deste arquivo: NUNCA usar cor fixa para texto ou fundo de
 * conteúdo. Sempre --c-bg / --c-surface / --c-heading / --c-text / --c-muted.
 * Exceção: texto sobre imagem/pôster, que é sempre claro (--c-on-image).
 *
 * Índice
 *  0. Tokens derivados
 *  1. Base (fundo, texto, títulos, links, utilitários do Bootstrap)
 *  2. Superfícies (cards, caixas, seções)
 *  3. Formulários
 *  4. Barra superior, cabeçalho, menu e menu mobile
 *  5. Busca (todas as variações)
 *  6. Card de filme (home + arquivo de filmes)
 *  7. Sidebar e widgets
 *  8. Rodapé e copyright
 *  9. Páginas internas (single, single-filmes, arquivo)
 * 10. Mobile / responsivo
 * ========================================================================== */

/* ==========================================================================
   0. TOKENS DERIVADOS
   ========================================================================== */
:root {
  --c-surface-2: color-mix(in srgb, var(--c-surface) 94%, var(--c-heading));
  --c-surface-3: color-mix(in srgb, var(--c-surface) 86%, var(--c-heading));
  --c-input-bg: var(--c-surface);
  --c-shadow: 0 1px 2px rgba(16, 18, 24, .06), 0 6px 18px rgba(16, 18, 24, .07);
  --c-shadow-hover: 0 4px 10px rgba(16, 18, 24, .10), 0 14px 32px rgba(16, 18, 24, .12);
  --c-on-image: #FFFFFF;
  --c-on-image-muted: rgba(255, 255, 255, .78);
  --c-focus: color-mix(in srgb, var(--c-primary) 45%, transparent);
  --c-radius: 12px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --c-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 22px rgba(0, 0, 0, .35);
    --c-shadow-hover: 0 6px 16px rgba(0, 0, 0, .5), 0 16px 36px rgba(0, 0, 0, .45);
    --c-surface-2: color-mix(in srgb, var(--c-surface) 90%, var(--c-heading));
  }
}
:root[data-theme="dark"] {
  --c-shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 22px rgba(0, 0, 0, .35);
  --c-shadow-hover: 0 6px 16px rgba(0, 0, 0, .5), 0 16px 36px rgba(0, 0, 0, .45);
  --c-surface-2: color-mix(in srgb, var(--c-surface) 90%, var(--c-heading));
}

/* ==========================================================================
   1. BASE
   ========================================================================== */
html,
body,
body.custom-background {
  background-color: var(--c-bg) !important;
  color: var(--c-text);
}
body { transition: background-color .25s ease, color .25s ease; }

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.entry-title, .page-title, .vw-page-title,
.heading-text, .section-title, .section-heading, .sidebar-title,
.post-title, .post-title-modern, .archive-title-modern {
  color: var(--c-heading);
}
p, li, dd, dt, td, th, label, figcaption, blockquote { color: inherit; }
.entry-content, .post-content-modern, .page-content, #content-vw { color: var(--c-text); }

a { color: var(--c-link); }
a:hover, a:focus { color: var(--c-link-hover); }
/* Títulos-link seguem a cor de título, não a de link */
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color: inherit; }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover { color: var(--c-primary); }

::selection { background: var(--c-primary); color: #fff; }
hr { border-color: var(--c-border); opacity: 1; }

/* Utilitários do Bootstrap que vinham com cor fixa (usam !important) */
.text-dark, .text-black, .link-dark { color: var(--c-heading) !important; }
.text-muted, .text-secondary, .text-black-50 { color: var(--c-muted) !important; }
.text-body { color: var(--c-text) !important; }
.bg-light, .bg-white, .bg-body { background-color: var(--c-surface-2) !important; color: var(--c-text); }
.border, .border-top, .border-bottom, .border-start, .border-end { border-color: var(--c-border) !important; }
.shadow-sm { box-shadow: var(--c-shadow) !important; }

/* Títulos de seção — design-system.css usava cor fixa */
.section-title,
.section-heading,
.heading-text,
.slider-heading,
.featured-heading,
.sidebar-title {
  color: var(--c-heading) !important;
}
.section-subtitle { color: var(--c-muted) !important; }
.movie-title a,
.post-title a,
.featured-title a,
.video-title a,
.slider-title a { color: var(--c-heading) !important; }
.movie-title a:hover,
.post-title a:hover,
.featured-title a:hover,
.video-title a:hover { color: var(--c-primary) !important; }

/* Selos de meta (bg-danger/bg-light) — legíveis em qualquer fundo */
.badge.bg-danger { background: var(--c-primary) !important; color: #fff !important; }
.badge.bg-light { background: var(--c-surface-2) !important; color: var(--c-heading) !important; border-color: var(--c-border) !important; }
.badge.bg-info, .badge.bg-success, .badge.bg-primary, .badge.bg-secondary {
  background: var(--c-primary-soft) !important;
  color: var(--c-link) !important;
}

/* Foco visível e consistente (acessibilidade) */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, .btn:focus-visible {
  outline: 2px solid var(--c-primary) !important;
  outline-offset: 2px;
}

/* ==========================================================================
   2. SUPERFÍCIES
   ========================================================================== */
.card,
.post-main-box,
.grid-post-main-box,
.featured-post,
.featured-post-wrapper,
.featured-news-card,
.news-box,
#news-section-2 .news-box,
.noticias-laterais,
.slider-sidebar,
.recent-cats-wrapper,
.related-post-card,
.blog-slider-container,
#blog-slider .blog-slide-card,
#blog-slider .blog-slide-body,
.widget-modern,
#comments ol li,
.comments-section-modern,
.author-bio-modern,
.post-navigation-modern,
.main-video-container,
.sidebar-videos,
.page-content-modern,
.no-results-modern,
.movie-details-modern {
  background-color: var(--c-surface) !important;
  color: var(--c-text);
  border-color: var(--c-border) !important;
}
.featured-post:hover { background-color: var(--c-surface-2) !important; }

/* Seções com fundo próprio passam a usar o fundo da página */
#news-section-1,
#news-section-2,
#youtube-videos-section,
#week-releases-section,
#most-expected-section,
#in-theaters-section,
#upcoming-movies-section,
#featured-section,
#blog-featured-slider-section,
#recent-categories-menu {
  background-color: transparent !important;
  color: var(--c-text);
}
#news-section-1 { background-color: var(--c-surface-2) !important; }
#news-section-1 .text-dark { color: var(--c-heading) !important; }

/* Textos dentro dos cards herdavam branco do tema "escuro" original */
.card p, .post-main-box p, .featured-post p, .news-box p, .slider-sidebar p,
.related-post-card p, .widget-modern p { color: var(--c-text); }
.post-date, .post-info, .post-meta, .post-meta-modern, .news-meta-small,
.featured-meta, .related-post-meta, .post-card-meta, .video-meta, .slider-meta {
  color: var(--c-muted) !important;
}
.post-info a, .post-meta a, .post-meta-modern a { color: var(--c-muted) !important; }

/* Links "Ler mais" soltos (antes amarelos #ECB72F — ilegíveis no claro) */
.read-more-link,
.popular-categories .category-name,
.most-read-sidebar a:not(.btn) {
  color: var(--c-link) !important;
}
.read-more-link:hover,
.popular-categories a:hover .category-name { color: var(--c-link-hover) !important; }

/* Menu de categorias atualizadas (home) */
.recent-cats-wrapper { box-shadow: var(--c-shadow); }
.recent-cats-label span { color: var(--c-muted) !important; }
.recent-cat-item {
  background: var(--c-surface-2) !important;
  color: var(--c-heading) !important;
  border: 1px solid var(--c-border) !important;
}
.recent-cat-item:hover { background: var(--c-primary) !important; color: #fff !important; border-color: var(--c-primary) !important; }
.recent-cat-count { background: var(--c-surface) !important; color: var(--c-muted) !important; }
.recent-cat-item:hover .recent-cat-count { background: rgba(255,255,255,.22) !important; color: #fff !important; }

/* Slider lateral "Destaques" */
.slider-sidebar .sidebar-category-block,
.slider-sidebar .featured-post { border-color: var(--c-border) !important; }
.slider-sidebar .category-title { color: var(--c-heading) !important; }

/* Selo "Mais Lidos" / ranking */
.most-read-sidebar h3, .most-read-sidebar h4, .most-read-sidebar h5 { color: var(--c-heading) !important; }

/* Newsletter da home */
.sidebar-ad h5, .sidebar-ad .h6 { color: var(--c-heading) !important; }

/* Paginação */
.pagination a, .pagination span, .nav-links a, .nav-links span, .page-numbers {
  border-radius: var(--c-btn-radius) !important;
}
.pagination a:not(.current):not(:hover),
.nav-links a.page-numbers:not(:hover) {
  background: var(--c-surface) !important;
  color: var(--c-heading) !important;
  border: 1px solid var(--c-border) !important;
}
.pagination .current, .nav-links .current, .page-numbers.current, .pagination a:hover {
  background: var(--c-btn-bg) !important;
  color: var(--c-btn-text) !important;
}

/* Botões: degradê/sólido + raio vindos do Personalizar */
.btn, .more-btn a, .read-more-btn, .featured-read-more-btn, .videos-btn, .slider-btn a,
.wp-block-button__link, .wp-element-button, input[type="submit"], button[type="submit"]:not(.search-button) {
  border-radius: var(--c-btn-radius) !important;
}
.wp-block-button__link, .wp-element-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  background: var(--c-btn-bg) !important;
  color: var(--c-btn-text) !important;
}
.wp-block-button__link:hover, .wp-element-button:hover { background: var(--c-btn-bg-hover) !important; }

/* Filtros do arquivo de filmes: o ativo fica destacado, os outros neutros */
.movie-filters .btn-group { flex-wrap: wrap; gap: 8px; }
.movie-filters .btn { border-radius: 999px !important; }
.movie-filters .btn:not(.active) {
  background: var(--c-surface) !important;
  color: var(--c-heading) !important;
  border: 1px solid var(--c-border) !important;
}
.movie-filters .btn:not(.active):hover { border-color: var(--c-primary) !important; color: var(--c-primary) !important; transform: none; }

/* ==========================================================================
   3. FORMULÁRIOS
   ========================================================================== */
input[type="text"], input[type="email"], input[type="url"], input[type="password"],
input[type="search"], input[type="number"], input[type="tel"], input[type="date"],
textarea, select, .form-control, .form-select {
  background-color: var(--c-input-bg) !important;
  color: var(--c-heading) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 8px;
}
input::placeholder, textarea::placeholder { color: var(--c-muted) !important; opacity: 1; }
input:focus, textarea:focus, select:focus, .form-control:focus {
  border-color: var(--c-primary) !important;
  box-shadow: 0 0 0 3px var(--c-focus) !important;
  outline: none;
}

/* ==========================================================================
   4. BARRA SUPERIOR, CABEÇALHO E MENU
   ========================================================================== */
.top-bar {
  background: var(--c-topbar-bg) !important;
  color: var(--c-topbar-text) !important;
}
.top-bar .announcement-text, .top-bar a:not(.badge) { color: var(--c-topbar-text) !important; }
.top-bar .announcement-link { color: var(--c-topbar-text) !important; text-decoration: underline; text-underline-offset: 3px; }
.top-bar__social .social-links a,
.top-bar .custom-social-icons a {
  color: var(--c-topbar-text) !important;
  background: color-mix(in srgb, var(--c-topbar-text) 12%, transparent) !important;
}
.top-bar__social .social-links a:hover { background: var(--c-primary) !important; color: #fff !important; }

.main-header,
.site-header .main-header {
  background: var(--c-header-bg) !important;
  color: var(--c-header-text);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--c-header-text) 10%, transparent);
}
.site-title a,
.main-header .site-title a { color: var(--c-header-text) !important; }
.site-title a:hover { color: var(--c-header-hover) !important; }
.main-header .site-description { color: color-mix(in srgb, var(--c-header-text) 65%, transparent) !important; }

.main-navigation ul li a { color: var(--c-header-text) !important; opacity: .88; }
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current_page_item > a { color: var(--c-header-hover) !important; opacity: 1; }
.main-navigation ul li a::after { background: var(--c-header-hover) !important; }
.main-navigation ul ul {
  background: var(--c-surface) !important;
  border-color: var(--c-primary) !important;
  box-shadow: var(--c-shadow) !important;
}
.main-navigation ul ul li { border-color: var(--c-border) !important; }
.main-navigation ul ul li a { color: var(--c-heading) !important; }
.main-navigation ul ul li a:hover { color: var(--c-primary) !important; background: var(--c-surface-2) !important; }

.account-link { background: color-mix(in srgb, var(--c-header-text) 12%, transparent) !important; color: var(--c-header-text) !important; }
.account-link:hover { background: var(--c-primary) !important; color: #fff !important; }

.header-actions { display: flex; align-items: center; gap: 10px; }

/* Botão claro/escuro */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border: 0;
  border-radius: 50%;
  background: color-mix(in srgb, var(--c-header-text) 12%, transparent);
  color: var(--c-header-text);
  cursor: pointer;
  transition: background-color .2s ease, transform .2s ease;
}
.theme-toggle:hover { background: var(--c-primary); color: #fff; transform: rotate(-15deg); }
.theme-toggle i { font-size: 17px; }
.theme-toggle__light { display: none; }
:root[data-theme="dark"] .theme-toggle__light { display: inline-block; }
:root[data-theme="dark"] .theme-toggle__dark { display: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .theme-toggle__light { display: inline-block; }
  :root:not([data-theme="light"]) .theme-toggle__dark { display: none; }
}

/* Logo — tamanho controlado em Personalizar > Identidade do site */
.site-logo { line-height: 0; }
.site-logo .custom-logo-link { display: inline-block; }
.site-logo img,
.site-logo .custom-logo {
  height: var(--logo-height, 50px) !important;
  max-height: none !important;
  width: auto !important;
  max-width: var(--logo-max-width, 260px) !important;
  object-fit: contain;
}

/* Imagem de cabeçalho (Personalizar > Imagem do cabeçalho) */
.main-header.has-header-image {
  background-image: var(--header-image) !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  position: sticky;
}
.main-header.has-header-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--header-image-overlay, rgba(0, 0, 0, .45));
  pointer-events: none;
}
.main-header.has-header-image > .container { position: relative; z-index: 1; }

/* Menu mobile (painel lateral) — fica fora do <header>, acima de tudo */
.menu-toggle { color: var(--c-header-text) !important; }
.menu-toggle-icon i, .menu-toggle-text { color: var(--c-header-text) !important; }

.sidenav {
  background: var(--c-surface) !important;
  color: var(--c-text);
  z-index: 100001 !important;
}
.sidenav .closebtn { color: var(--c-heading) !important; }
.sidenav .closebtn:hover { color: var(--c-primary) !important; }
.sidenav ul li a { color: var(--c-heading) !important; border-bottom: 1px solid var(--c-border); }
.sidenav ul li a:hover, .sidenav ul li.current-menu-item > a { color: var(--c-primary) !important; }
.sidenav ul ul { padding-left: 14px !important; }
.sidenav-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .55);
  z-index: 100000;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
}
.sidenav-backdrop.open { opacity: 1; visibility: visible; }
@media (min-width: 993px) { .sidenav-backdrop { display: none; } }

/* ==========================================================================
   5. BUSCA — um só padrão para todas as variações
   (topo, sidebar, rodapé, widget de bloco, página sem resultados, 404)
   ========================================================================== */
.search-form,
.modern-search-form,
.wp-block-search__inside-wrapper,
.widget_search form,
.woocommerce-product-search {
  position: relative;
  display: flex !important;
  align-items: stretch;
  width: 100%;
  gap: 0;
  margin: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.search-form label { flex: 1; margin: 0; display: block; }
.search-input-group { position: relative; display: flex; width: 100%; }

.search-form .search-field,
.modern-search-form .search-field,
.wp-block-search .wp-block-search__input,
.widget_search input[type="search"],
.woocommerce-product-search .search-field,
#sidebar input[type="search"],
#footer input[type="search"],
input.search-field {
  flex: 1;
  width: 100% !important;
  min-width: 0;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 52px 0 18px !important;
  border: 1px solid var(--c-border) !important;
  border-radius: 999px !important;
  background: var(--c-input-bg) !important;
  color: var(--c-heading) !important;
  font-size: 15px !important;
  box-shadow: none !important;
}
.search-form .search-field:focus,
.modern-search-form .search-field:focus,
.wp-block-search .wp-block-search__input:focus {
  border-color: var(--c-primary) !important;
  box-shadow: 0 0 0 3px var(--c-focus) !important;
}

.search-form .search-submit,
.modern-search-form .search-button,
.wp-block-search .wp-block-search__button,
.widget_search input[type="submit"],
#sidebar .search-button,
#sidebar .search-submit,
#footer .search-submit,
#footer .wp-block-search .wp-block-search__button,
#sidebar .wp-block-search .wp-block-search__button {
  position: absolute !important;
  top: 4px !important;
  right: 4px !important;
  bottom: 4px !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--c-btn-bg) !important;
  color: var(--c-btn-text) !important;
  font-size: 0 !important;          /* esconde o texto "Search"/"Pesquisar" — fica só o ícone */
  line-height: 1 !important;
  letter-spacing: 0 !important;
  cursor: pointer;
  box-shadow: none !important;
  transform: none !important;
}
.search-form input.search-submit {
  /* botão <input> (sem pseudo-elemento): lupa como imagem sobre a cor primária */
  background-color: var(--c-primary) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 20 20'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 17px 17px !important;
}
.modern-search-form .search-button i,
.wp-block-search__button svg { font-size: 15px !important; width: 18px; height: 18px; fill: currentColor; }
.search-form .search-submit:hover,
.modern-search-form .search-button:hover,
.wp-block-search .wp-block-search__button:hover { filter: brightness(.9); }

/* Widget de busca em bloco: rótulo e botão posicionado dentro do campo */
.wp-block-search { width: 100%; }
.wp-block-search__label {
  color: var(--c-heading) !important;
  background: transparent !important;
  font-weight: 700;
  margin-bottom: 8px;
}
.wp-block-search__inside-wrapper { border: 0 !important; padding: 0 !important; }
.wp-block-search.wp-block-search__button-outside .wp-block-search__inside-wrapper { gap: 0; }

/* Busca na barra superior (sobre fundo escuro/colorido) */
.top-bar__search { min-width: 300px; }
.top-bar .search-form .search-field,
.top-bar .modern-search-form .search-field {
  height: 38px !important;
  background: color-mix(in srgb, var(--c-topbar-text) 12%, transparent) !important;
  border-color: color-mix(in srgb, var(--c-topbar-text) 22%, transparent) !important;
  color: var(--c-topbar-text) !important;
}
.top-bar .search-form .search-field::placeholder,
.top-bar .modern-search-form .search-field::placeholder { color: color-mix(in srgb, var(--c-topbar-text) 70%, transparent) !important; }
.top-bar .search-form .search-submit,
.top-bar .modern-search-form .search-button { width: 30px !important; height: 30px !important; }

/* Busca no rodapé (fundo do rodapé) */
#footer .search-form .search-field,
#footer .wp-block-search__input {
  background: color-mix(in srgb, var(--c-footer-text) 10%, transparent) !important;
  border-color: color-mix(in srgb, var(--c-footer-text) 25%, transparent) !important;
  color: var(--c-footer-heading) !important;
}
#footer .search-form .search-field::placeholder { color: color-mix(in srgb, var(--c-footer-text) 80%, transparent) !important; }

/* Página de resultados de busca */
.search-results-header {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--c-radius);
  padding: 24px;
  margin-bottom: 28px;
  box-shadow: var(--c-shadow);
}
.search-results-header .entry-title { margin: 0 0 6px; font-size: 1.7rem; }
.search-results-header .search-results-count { color: var(--c-muted); margin: 0 0 16px; }
.search-results-header .search-form { max-width: 560px; }

/* ==========================================================================
   6. CARD DE FILME — mesmo componente em todas as seções
   --------------------------------------------------------------------------
   Com pôster: imagem 2:3 preenchendo o card, título sempre legível sobre
   um degradê escuro; detalhes aparecem ao passar o mouse (no celular ficam
   sempre visíveis de forma compacta).
   Sem pôster (ex.: Próximos lançamentos): card de texto usando a superfície
   do tema, legível nos dois modos.
   ========================================================================== */
.movie-card {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--c-radius) !important;
  background: var(--c-surface) !important;
  box-shadow: var(--c-shadow) !important;
  transition: transform .25s ease, box-shadow .25s ease;
  color: var(--c-text);
}
.movie-card:hover { transform: translateY(-4px); box-shadow: var(--c-shadow-hover) !important; }
.movie-card .card-body { color: var(--c-text); }

/* ---- Variante com pôster (ou placeholder no lugar do pôster) ---- */
.movie-card:has(.movie-thumbnail),
.movie-card:has(> .position-relative:not(.movie-card-image) > .movie-placeholder) {
  background: #101116 !important;
  aspect-ratio: 2 / 3;
  height: auto !important;
}
.movie-card > .position-relative:not(.movie-card-image) { position: absolute !important; inset: 0; }
.movie-card > .position-relative:not(.movie-card-image) > a { display: block; height: 100%; }
.movie-card .movie-thumbnail {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 0 !important;
  transition: transform .5s ease;
}
.movie-card:hover .movie-thumbnail { transform: scale(1.06); }
.movie-card > .position-relative:not(.movie-card-image) > .movie-placeholder {
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 100% !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(160deg, #2A2C36 0%, #15161C 100%) !important;
  color: rgba(255, 255, 255, .35) !important;
}

/* conteúdo sobreposto ao pôster */
.movie-card:has(> .position-relative:not(.movie-card-image)) .card-body {
  position: absolute !important;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5;
  padding: 56px 14px 14px !important;
  background: linear-gradient(to top, rgba(8, 8, 12, .96) 0%, rgba(8, 8, 12, .86) 55%, rgba(8, 8, 12, 0) 100%) !important;
  color: var(--c-on-image) !important;
  transform: none !important;
  pointer-events: none;
}
.movie-card:has(> .position-relative:not(.movie-card-image)) .card-body a,
.movie-card:has(> .position-relative:not(.movie-card-image)) .card-body .btn { pointer-events: auto; }
.movie-card:has(> .position-relative:not(.movie-card-image)) .movie-title { margin: 0 0 2px !important; transform: none !important; }
.movie-card:has(> .position-relative:not(.movie-card-image)) .movie-title a {
  color: var(--c-on-image) !important;
  font-size: .98rem !important;
  line-height: 1.25;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.movie-card:has(> .position-relative:not(.movie-card-image)) .movie-title a:hover { color: #fff !important; text-decoration: underline !important; }
.movie-card:has(> .position-relative:not(.movie-card-image)) .text-muted,
.movie-card:has(> .position-relative:not(.movie-card-image)) .movie-director,
.movie-card:has(> .position-relative:not(.movie-card-image)) .release-date,
.movie-card:has(> .position-relative:not(.movie-card-image)) .movie-removal-date,
.movie-card:has(> .position-relative:not(.movie-card-image)) .movie-meta span { color: var(--c-on-image-muted) !important; }
.movie-card:has(> .position-relative:not(.movie-card-image)) .movie-release-date,
.movie-card:has(> .position-relative:not(.movie-card-image)) .fw-bold { color: #FFD166 !important; }
.movie-card:has(> .position-relative:not(.movie-card-image)) .movie-director { padding: 0 !important; margin-bottom: 6px !important; font-size: .78rem !important; font-style: normal; }
.movie-card:has(> .position-relative:not(.movie-card-image)) .badge.bg-info,
.movie-card:has(> .position-relative:not(.movie-card-image)) .badge.bg-success,
.movie-card:has(> .position-relative:not(.movie-card-image)) .badge.bg-light {
  background: rgba(255, 255, 255, .16) !important;
  color: #fff !important;
}
.movie-card:has(> .position-relative:not(.movie-card-image)) .movie-rating { display: none; } /* a nota já aparece no selo do pôster */

/* detalhes: escondidos até o hover/foco (desktop) */
.movie-card:has(> .position-relative:not(.movie-card-image)) .card-body > :not(.movie-title) {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin: 0 !important;
  transition: max-height .35s ease, opacity .25s ease, margin .25s ease;
}
.movie-card:has(> .position-relative:not(.movie-card-image)):hover .card-body > :not(.movie-title),
.movie-card:has(> .position-relative:not(.movie-card-image)):focus-within .card-body > :not(.movie-title) {
  max-height: 120px;
  opacity: 1;
  margin: 6px 0 0 !important;
}
.movie-card:has(> .position-relative:not(.movie-card-image)) .card-body .d-flex { flex-wrap: wrap; gap: 6px; }
.movie-card:has(> .position-relative:not(.movie-card-image)) .card-body .btn { padding: 6px 12px !important; }

/* selos sobre o pôster: empilhados no canto superior esquerdo
   (nota -> status -> aviso de saída), nunca um por cima do outro */
.movie-card { --badge-row: 28px; }
.movie-rating-badge,
.movie-in-theaters-badge,
.movie-expected-badge,
.expected-badge,
.most-expected-badge,
.movie-today-badge,
.movie-removal-badge {
  position: absolute !important;
  left: 10px !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  max-width: calc(100% - 20px);
  z-index: 6;
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  padding: 4px 9px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  font-size: .64rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-transform: uppercase;
  letter-spacing: .03em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #fff !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .3);
  transform: none !important;
}
.movie-rating-badge i, .movie-in-theaters-badge i, .expected-badge i, .movie-expected-badge i,
.most-expected-badge i, .movie-today-badge i, .movie-removal-badge i { margin: 0 !important; font-size: .9em; }

/* linha 1: nota */
.movie-rating-badge {
  top: 10px !important;
  background: rgba(10, 10, 14, .85) !important;
  font-size: .78rem !important;
  letter-spacing: 0;
  backdrop-filter: blur(4px);
}
.movie-rating-badge .rating-star { color: var(--c-rating) !important; }
.movie-rating-badge .rating-value { color: #fff !important; }

/* linha 2: status */
.movie-in-theaters-badge, .movie-expected-badge, .expected-badge, .most-expected-badge, .movie-today-badge {
  top: calc(10px + var(--badge-row)) !important;
}
.movie-in-theaters-badge, .movie-today-badge { background: #15803D !important; }
.expected-badge, .movie-expected-badge, .most-expected-badge { background: #B45309 !important; }
/* sem nota, o status sobe para a linha 1 */
.movie-card:not(:has(.movie-rating-badge)) .movie-in-theaters-badge,
.movie-card:not(:has(.movie-rating-badge)) .expected-badge,
.movie-card:not(:has(.movie-rating-badge)) .movie-expected-badge,
.movie-card:not(:has(.movie-rating-badge)) .most-expected-badge,
.movie-card:not(:has(.movie-rating-badge)) .movie-today-badge { top: 10px !important; }

/* linha 3: segundo status / aviso de saída */
.movie-removal-badge { top: calc(10px + 2 * var(--badge-row)) !important; background: rgba(185, 28, 28, .95) !important; }
.movie-card:has(.most-expected-badge) .movie-today-badge,
.movie-card:has(.movie-expected-badge) .movie-in-theaters-badge { top: calc(10px + 2 * var(--badge-row)) !important; }
.movie-card:has(.movie-expected-badge):has(.movie-in-theaters-badge) .movie-removal-badge { top: calc(10px + 3 * var(--badge-row)) !important; }
.movie-card > .most-expected-badge { z-index: 7; }

/* ---- Variante só texto (Próximos lançamentos) ---- */
.movie-card:not(:has(> .position-relative:not(.movie-card-image))) {
  background: var(--c-surface) !important;
  border: 1px solid var(--c-border) !important;
}
.movie-card:not(:has(> .position-relative:not(.movie-card-image))) .card-body { padding: 18px !important; position: relative; }
.movie-card:not(:has(> .position-relative:not(.movie-card-image))) .movie-title a { color: var(--c-heading) !important; font-size: 1.05rem !important; }
.movie-card:not(:has(> .position-relative:not(.movie-card-image))) .movie-title a:hover { color: var(--c-primary) !important; }
.movie-card:not(:has(> .position-relative:not(.movie-card-image))) .movie-director { color: var(--c-muted) !important; }
.movie-card:not(:has(> .position-relative:not(.movie-card-image))) .movie-countdown {
  background: var(--c-surface-2) !important;
  border-left: 4px solid var(--c-primary) !important;
  border-radius: 8px;
  padding: 12px !important;
}
.movie-card:not(:has(> .position-relative:not(.movie-card-image))) .movie-countdown .fw-bold { color: var(--c-heading) !important; }
.movie-card .progress { background: var(--c-surface-3) !important; height: 6px !important; border-radius: 99px; }
.movie-card .progress-bar { background: var(--c-primary) !important; border-radius: 99px; }

/* Card de recomendação (slider "Recomendações") e posts relacionados */
.movie-card-image img { border-radius: 0; }
.movie-card:has(> .movie-card-image) { height: 100% !important; }
.movie-card:has(> .movie-card-image) .card-body { padding: 14px !important; }
.movie-card:has(> .movie-card-image) .movie-title a { font-size: .98rem !important; }
.movie-card .rating-badge-movie .badge { background: rgba(10,10,14,.82) !important; color: #fff !important; }
.movie-card .rating-badge-movie .badge i { color: var(--c-rating) !important; }

/* Seção "Recomendações" (o título era branco fixo) */
#news-section-2 .heading-text { color: var(--c-heading) !important; }
#news-section-2 .section-divider { background: transparent !important; }
#news-section-2 .section-divider hr { background-color: var(--c-primary) !important; opacity: 1; border: 0; }
#news-section-2 .news-box { border-color: var(--c-border) !important; }
#news-section-2 .post-title a { color: var(--c-heading) !important; }
.recommendation-swiper-prev, .recommendation-swiper-next {
  background: var(--c-surface) !important; color: var(--c-heading) !important;
  border: 1px solid var(--c-border) !important; box-shadow: var(--c-shadow) !important;
}
.recommendation-swiper-prev::after, .recommendation-swiper-next::after { color: var(--c-heading) !important; }
.swiper-pagination-bullet { background: var(--c-muted) !important; opacity: .5; }
.swiper-pagination-bullet-active { background: var(--c-primary) !important; opacity: 1; }

/* Bloco "Críticas" (degradê roxo de demonstração -> superfície do tema) */
.blog-featured-container {
  background: var(--c-surface) !important;
  color: var(--c-text) !important;
  border: 1px solid var(--c-border);
  box-shadow: var(--c-shadow);
}
.blog-featured-container .featured-heading,
.blog-featured-container h2 { color: var(--c-heading) !important; }
.blog-featured-container .featured-author,
.blog-featured-container .featured-meta { color: var(--c-muted) !important; }
.blog-featured-container .featured-text,
.blog-featured-container .featured-text p { color: var(--c-text) !important; }
#blog-slider .slider-title a { color: var(--c-heading) !important; }
#blog-slider .carousel-indicators [data-bs-target] { background-color: var(--c-muted) !important; }
.related-post-card .related-post-title a, .related-post-title { color: var(--c-heading) !important; }

/* ==========================================================================
   7. SIDEBAR E WIDGETS
   ========================================================================== */
#sidebar .widget,
.sidebar-modern .widget,
.widget-modern {
  background: var(--c-surface) !important;
  color: var(--c-text) !important;
  border: 1px solid var(--c-border) !important;
  border-radius: var(--c-radius) !important;
  box-shadow: var(--c-shadow) !important;
}
#sidebar .widget a,
#sidebar ul li a,
.widget-modern a:not(.btn) { color: var(--c-heading) !important; }
#sidebar .widget a:hover,
#sidebar ul li a:hover,
.widget-modern a:not(.btn):hover { color: var(--c-primary) !important; }
#sidebar ul li,
.widget-modern li { border-color: var(--c-border) !important; color: var(--c-text); background: transparent !important; }
#sidebar ul li:hover { background: transparent !important; }
#sidebar .widget p, #sidebar .widget span:not(.badge), #sidebar .widget time { color: var(--c-muted); }

/* títulos de widget: faixa sóbria com traço da cor primária, nos dois modos */
#sidebar h2, #sidebar h3, #sidebar .widget_block h3, #sidebar .wp-block-heading,
#sidebar label.wp-block-search__label,
.widget-title-modern, .middle-bar h6 {
  background: var(--c-surface-2) !important;
  background-image: none !important;
  color: var(--c-heading) !important;
  border-left: 3px solid var(--c-primary) !important;
  border-radius: 6px !important;
  padding: 10px 14px !important;
  font-size: 1rem !important;
  box-shadow: none !important;
}
.widget-title-modern i { color: var(--c-primary) !important; }

#sidebar .tagcloud a, .wp-block-tag-cloud a, .tags-bg a {
  background: var(--c-surface-2) !important;
  color: var(--c-heading) !important;
  border: 1px solid var(--c-border) !important;
}
#sidebar .tagcloud a:hover, .wp-block-tag-cloud a:hover, .tags-bg a:hover { background: var(--c-primary) !important; color: #fff !important; }

#sidebar table, #sidebar caption, #sidebar th, #sidebar td { color: var(--c-text) !important; border-color: var(--c-border) !important; }

/* ==========================================================================
   8. RODAPÉ E COPYRIGHT
   ========================================================================== */
#footer,
.copyright-wrapper {
  /* imagem de fundo opcional (Personalizar > Rodapé) por cima da cor/degradê */
  background: var(--footer-image, none) center / cover no-repeat, var(--c-footer-bg) !important;
  color: var(--c-footer-text) !important;
}
#footer h2, #footer h3, #footer h4, #footer .widget-title, #footer .wp-block-heading,
#footer .wp-block-search .wp-block-search__label {
  color: var(--c-footer-heading) !important;
  background: transparent !important;
  border-color: color-mix(in srgb, var(--c-footer-heading) 25%, transparent) !important;
}
#footer p, #footer li, #footer span:not(.badge), #footer td, #footer th, #footer caption { color: var(--c-footer-text) !important; }
#footer a { color: var(--c-footer-text) !important; }
#footer a:hover { color: var(--c-footer-heading) !important; text-decoration: underline; }
#footer li { border-color: color-mix(in srgb, var(--c-footer-text) 18%, transparent) !important; }

#footer-2,
.footer #footer-2 {
  background: var(--c-copyright-bg) !important;
  color: var(--c-copyright-text) !important;
}
#footer-2 p, #footer-2 a, .copyright p, .copyright a { color: var(--c-copyright-text) !important; }
.scrollup i { background: var(--c-btn-bg) !important; color: var(--c-btn-text) !important; }

/* ==========================================================================
   9. PÁGINAS INTERNAS
   ========================================================================== */
/* Breadcrumb / meta do post */
.bradcrumbs, .bradcrumbs-modern { color: var(--c-muted); }
.bradcrumbs a, .bradcrumbs-modern a { color: var(--c-link) !important; background: transparent !important; }
.bradcrumbs span, .bradcrumbs-modern span { color: var(--c-muted) !important; background: transparent !important; }
.post-header-modern, .post-meta-modern { border-color: var(--c-border) !important; }
.author-name-modern, .author-details-modern a { color: var(--c-heading) !important; }
.post-content-modern p, .post-content-modern li, .entry-content p, .entry-content li { color: var(--c-text); }
.post-content-modern blockquote, .entry-content blockquote {
  border-left: 4px solid var(--c-primary);
  background: var(--c-surface-2);
  color: var(--c-heading);
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
}
.post-tags-modern a { background: var(--c-surface-2) !important; color: var(--c-heading) !important; border-color: var(--c-border) !important; }
.post-tags-modern a:hover { background: var(--c-primary) !important; color: #fff !important; }
.post-navigation-modern a, .nav-previous-modern a, .nav-next-modern a { color: var(--c-heading) !important; }
.post-navigation-modern a:hover { color: var(--c-primary) !important; }
.post-navigation-modern span, .nav-subtitle { color: var(--c-muted) !important; }

/* Hero dos arquivos/categorias (fica com a cor de marca nos dois modos) */
.archive-hero-modern .archive-title-modern,
.archive-hero-modern .archive-subtitle,
.archive-hero-modern .archive-stats,
.archive-hero-modern .archive-icon { color: #fff !important; }

/* Comentários */
#comments, .comments-section-modern { color: var(--c-text); }
#comments h2, #comments h3, .comment-author, .comment-author a, .comment-reply-title { color: var(--c-heading) !important; }
#comments .comment-metadata a, #comments .comment-meta a { color: var(--c-muted) !important; }
#comments ol li { border-color: var(--c-border) !important; }

/* single-filmes.php (estilo interno escrito para fundo preto) */
.single-filmes .movie-trailer-modern,
.single-filmes .details-grid-modern > *,
.single-filmes .share-buttons-modern,
.single-filmes .movie-details-modern,
.single-filmes [class*="info-box"],
.single-filmes [class*="rating-box"],
.single-filmes .related-movie-card,
.single-filmes .movie-rating-display {
  background: var(--c-surface) !important;
  border-color: var(--c-border) !important;
  color: var(--c-text) !important;
}
.single-filmes h1, .single-filmes h2, .single-filmes h3, .single-filmes h4, .single-filmes h5,
.single-filmes .entry-title { color: var(--c-heading) !important; }
.single-filmes p, .single-filmes li, .single-filmes .detail-value { color: var(--c-text) !important; }
.single-filmes .detail-label, .single-filmes small, .single-filmes .text-muted { color: var(--c-muted) !important; }

/* ==========================================================================
   10. MOBILE / RESPONSIVO
   ========================================================================== */
html, body { overflow-x: clip; }
img, video, iframe, embed, object { max-width: 100%; }

@media (max-width: 992px) {
  /* barra superior compacta: busca + redes numa linha, aviso acima */
  .top-bar { padding: 8px 0 !important; }
  .top-bar__content { flex-direction: row !important; flex-wrap: wrap; gap: 8px 12px !important; text-align: left !important; }
  .top-bar__announcement { flex: 1 1 100%; order: 0; }
  .announcement-ticker { justify-content: flex-start !important; gap: 8px !important; font-size: 13px; }
  .top-bar__search { flex: 1 1 auto; order: 1; min-width: 0 !important; max-width: none !important; width: auto !important; margin: 0 !important; }
  .top-bar__social { order: 2; }
  .top-bar__social .social-links { gap: 6px !important; }
  .top-bar__social .social-links a { width: 30px !important; height: 30px !important; font-size: 13px !important; }

  /* cabeçalho em uma linha: logo | ações */
  .main-header { padding: 10px 0 !important; z-index: 999 !important; }
  .main-header__content { flex-wrap: nowrap !important; gap: 12px !important; }
  .site-branding { flex: 1 1 auto; min-width: 0; }
  .site-title { font-size: 19px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .site-logo img, .site-logo .custom-logo { height: var(--logo-height-mobile, 40px) !important; }
  .menu-toggle { padding: 8px !important; }

  /* o painel do menu agora é filho do <body>: sempre acima do slider */
  .sidenav { width: min(86vw, 320px) !important; left: calc(-1 * min(86vw, 320px) - 20px) !important; padding: 64px 22px 30px !important; }
  .sidenav.open { left: 0 !important; }
}

@media (max-width: 767px) {
  /* respiro lateral e entre blocos */
  #maincontent > section, .container { padding-left: 16px; padding-right: 16px; }
  .row { --bs-gutter-x: 1rem; }
  section[id$="-section"], #news-section-1, #news-section-2 { padding-top: 2rem !important; }

  /* cabeçalhos de seção: título em cima, botão embaixo (antes ficavam espremidos) */
  #week-releases-section .d-flex.justify-content-between.align-items-center.mb-3,
  #most-expected-section .d-flex.justify-content-between.align-items-center.mb-3,
  #in-theaters-section .d-flex.justify-content-between.align-items-center.mb-3,
  #upcoming-movies-section .d-flex.justify-content-between.align-items-center.mb-3 {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 10px;
  }
  .section-title, .heading-text, .sidebar-title { font-size: 1.15rem !important; }

  /* cards de filme: 2 por linha no celular */
  #week-releases-section .row > [class*="col-"],
  #most-expected-section .row > [class*="col-"],
  #in-theaters-section .row > [class*="col-"],
  .movie-archive-content .row > [class*="col-"] {
    flex: 0 0 50%;
    max-width: 50%;
  }
  /* sem hover no toque: mostra o essencial sempre */
  .movie-card:has(> .position-relative:not(.movie-card-image)) .card-body { padding: 48px 10px 10px !important; }
  .movie-card:has(> .position-relative:not(.movie-card-image)) .movie-title a { font-size: .86rem !important; }
  .movie-card:has(> .position-relative:not(.movie-card-image)) .card-body > .movie-release-date,
  .movie-card:has(> .position-relative:not(.movie-card-image)) .card-body > .release-date { max-height: 40px; opacity: 1; margin: 4px 0 0 !important; font-size: .72rem; }
  .movie-card { --badge-row: 25px; }
  .movie-in-theaters-badge, .movie-expected-badge, .expected-badge, .most-expected-badge, .movie-today-badge, .movie-removal-badge {
    font-size: .58rem !important; padding: 3px 7px !important; left: 8px !important;
  }
  .movie-rating-badge { left: 8px !important; font-size: .7rem !important; padding: 3px 7px !important; }

  /* slider + destaques */
  #slider { padding-top: 1rem !important; padding-bottom: 1rem !important; }
  .slider-sidebar { margin-top: 16px; padding: 16px !important; }
  .slider-sidebar .featured-post .row { --bs-gutter-x: .75rem; }

  /* menu de categorias: rolagem horizontal em vez de estourar a tela */
  .recent-cats-wrapper { flex-direction: column; align-items: flex-start !important; gap: 10px; padding: 12px !important; }
  .recent-cats-list { flex-wrap: nowrap !important; overflow-x: auto; max-width: 100%; padding-bottom: 4px; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
  .recent-cats-list li { flex: 0 0 auto; }

  /* filtros do arquivo de filmes */
  .movie-filters .btn-group { display: flex; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; }
  .movie-filters .btn { flex: 0 0 auto; white-space: nowrap; }

  /* rodapé */
  #footer .footer-block { margin-bottom: 8px; }
}

@media (max-width: 480px) {
  .top-bar__social { display: none; }
  .announcement-ticker .announcement-link { display: none; }
}

/* Movimento reduzido */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Ajustes finos ------------------------------------------------------------ */
.recommendation-swiper { padding-bottom: 44px !important; }
.recommendation-swiper .swiper-pagination { bottom: 8px !important; }
@media (max-width: 992px) {
  .main-header__content .site-branding { order: 1; }
  .main-header__content .header-actions { order: 2; margin-left: auto; }
  .main-header__content .menu-toggle { order: 3; }
  .header-account { margin-left: 0 !important; }
}
/* Destaques ao lado do slider: altura fixa de 600px cortava o conteúdo */
.noticias-laterais, .slider-sidebar { height: auto !important; min-height: 0; }
@media (min-width: 992px) { .noticias-laterais { max-height: 600px; overflow-y: auto; scrollbar-width: thin; } }
/* rótulo de categoria sobre o slider (legível sobre a imagem) */
#slider .carousel-caption .post-category {
  display: inline-flex; align-items: center; gap: 4px;
  background: rgba(0,0,0,.55) !important; color: #fff !important;
  padding: 3px 10px; border-radius: 999px; font-size: .72rem !important; text-decoration: none;
}
.sidenav .closebtn, .sidenav .closebtn:focus, .sidenav .closebtn:hover { background: transparent !important; }

/* Listagens (blog, busca, categorias) ------------------------------------- */
.new-text .section-title a, .post-main-box .section-title a, .post-main-box h2 a, .post-main-box h3 a,
.post-card-title a, .post-card-title { color: var(--c-heading) !important; }
.new-text .section-title a:hover, .post-card-title a:hover { color: var(--c-primary) !important; }
.post-card-excerpt, .post-excerpt, .new-text p, .post-main-box .entry-content p { color: var(--c-text) !important; }
.post-info, .post-main-box .post-info { background: var(--c-surface-2) !important; color: var(--c-muted) !important; border-radius: 8px; }
.post-info span, .post-info a, .post-info i { color: var(--c-muted) !important; }
.post-card, .posts-list-modern article, .posts-grid-modern article { background: var(--c-surface) !important; border-color: var(--c-border) !important; }

/* Single post ------------------------------------------------------------- */
.post-date-badge, .post-header-modern .post-date-badge { background: var(--c-primary) !important; color: #fff !important; }
.post-date-badge span { color: #fff !important; }
.share-title, .related-posts-title, .author-bio-modern h3, .author-bio-modern h4, .comments-title { color: var(--c-heading) !important; }

/* Single filme ------------------------------------------------------------ */
.single-filmes .rating-display { background: var(--c-surface) !important; border: 1px solid var(--c-border); color: var(--c-heading) !important; }
.single-filmes .rating-display .text-muted { color: var(--c-muted) !important; }

/* Título do widget como cabeçalho do próprio card.
   O style.css antigo puxava o título para fora do card (margin: -45px auto),
   e nos widgets de bloco (Grupo > Título) ele ficava escondido. Aqui todo
   título de widget — clássico ou de bloco, em qualquer profundidade — volta
   para dentro do card. */
#sidebar .widget { padding: 16px !important; margin-bottom: 24px !important; overflow: visible !important; }
#sidebar .widget :is(h2, h3, h4, .widget-title, .wp-block-heading, .wp-block-search__label) {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 0 12px !important;
  position: relative !important;
  top: auto !important;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  text-align: left !important;
}
/* o primeiro título de cada widget vira a faixa de cabeçalho do card */
#sidebar .widget > :is(h2, h3, .widget-title, .wp-block-heading, .wp-block-search__label):first-child,
#sidebar .widget > form > .wp-block-search__label:first-child,
#sidebar .widget > .wp-block-search > .wp-block-search__label:first-child,
#sidebar .widget > .wp-block-group:first-child :is(h2, h3, .wp-block-heading):first-child,
.widget-modern > .widget-title-modern {
  display: flex !important;
  align-items: center;
  margin: -16px -16px 14px !important;
  padding: 12px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--c-border) !important;
  border-radius: var(--c-radius) var(--c-radius) 0 0 !important;
  box-shadow: inset 3px 0 0 var(--c-primary) !important;
  background: var(--c-surface-2) !important;
  color: var(--c-heading) !important;
  font-size: .95rem !important;
  line-height: 1.3 !important;
}
#sidebar .widget .wp-block-group, #sidebar .widget .wp-block-group__inner-container { margin: 0 !important; padding: 0 !important; background: transparent !important; }
#sidebar .wp-block-latest-posts, #sidebar .wp-block-latest-comments, #sidebar .wp-block-archives, #sidebar .wp-block-categories { margin: 0 !important; padding: 0 !important; }
#sidebar .wp-block-latest-comments__comment { margin: 0 !important; padding: 9px 0 !important; border-bottom: 1px solid var(--c-border); line-height: 1.4; }
#sidebar .wp-block-latest-comments__comment:last-child { border-bottom: 0; }
#sidebar .wp-block-latest-comments__comment-meta, #sidebar .wp-block-latest-comments__comment-meta a { color: var(--c-text) !important; }
#sidebar .wp-block-heading::after, #sidebar .widget-title::after, .widget-title-modern::after { display: none !important; }
#sidebar ul li { padding: 9px 0 !important; border-bottom: 1px solid var(--c-border) !important; margin: 0 !important; }
#sidebar ul li:last-child { border-bottom: 0 !important; }
/* Arquivo de categoria: cards em destaque */
.featured-card-title a { color: var(--c-heading) !important; }
.featured-card-title a:hover { color: var(--c-primary) !important; }
.featured-card-excerpt, .post-card-excerpt { color: var(--c-text) !important; }
.single-filmes .rating-score { color: var(--c-heading) !important; }
.single-filmes .rating-score .text-warning, .single-filmes .rating-stars, .single-filmes .rating-stars i { color: var(--c-rating) !important; }
@media (max-width: 992px) {
  .site-branding { overflow: hidden; gap: 10px !important; }
  .site-title-wrapper { min-width: 0; overflow: hidden; }
  .site-logo { flex: 0 1 auto; min-width: 0; }
  .site-logo img, .site-logo .custom-logo { max-width: 52vw !important; }
}
@media (max-width: 480px) {
  .menu-toggle-text { display: none; }
  .site-logo + .site-title-wrapper .site-title { font-size: 16px !important; }
}
#blog-slider .slider-excerpt, .slider-excerpt { color: var(--c-muted) !important; }
.movie-filters .btn-group > .btn { flex: 0 0 auto !important; }
.post-main-box, .grid-post-main-box { box-shadow: var(--c-shadow) !important; border: 1px solid var(--c-border) !important; border-radius: var(--c-radius); }
.single-filmes .status-badge { color: #fff !important; background: #374151 !important; }
.single-filmes .status-badge--in-theaters { background: #15803D !important; }
.single-filmes .status-badge--expected { background: #B45309 !important; }
.single-filmes .status-badge--soon { background: #1D4ED8 !important; }
.single-filmes .status-badge--today { background: #B91C1C !important; }

/* Widgets de bloco: busca, arquivos, categorias, comentários */
.widget_search form.wp-block-search, form.wp-block-search { display: block !important; }
.wp-block-search .wp-block-search__inside-wrapper { width: 100% !important; }
.wp-block-search > .wp-block-search__label { display: flex !important; }
#sidebar .widget ul, #sidebar .widget ol { padding-left: 0 !important; margin-left: 0 !important; list-style: none !important; }
#sidebar .widget li, #sidebar .widget li a {
  background: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
#sidebar .widget li a { display: inline; }
#sidebar .widget li a:hover { text-decoration: underline !important; }
#sidebar .wp-block-search__label { text-transform: uppercase; font-weight: 700 !important; letter-spacing: .06em; }
/* Página de filmes: estado de carregamento das abas (AJAX) */
.js-movie-results { position: relative; min-height: 200px; transition: opacity .2s ease; }
.js-movie-results.is-loading { opacity: .45; pointer-events: none; }
.js-movie-results.is-loading::after {
  content: ""; position: absolute; top: 80px; left: 50%; width: 38px; height: 38px; margin-left: -19px;
  border: 3px solid var(--c-border); border-top-color: var(--c-primary); border-radius: 50%;
  animation: mcr-spin .7s linear infinite;
}
@keyframes mcr-spin { to { transform: rotate(360deg); } }
.js-movie-load-more.disabled { opacity: .6; pointer-events: none; }

/* Rodapé com widgets de bloco ------------------------------------------- */
#footer { padding: 48px 0 24px !important; }
#footer .footer-block { margin-bottom: 24px; }
#footer .widget { padding: 0 !important; margin: 0 0 8px !important; background: transparent !important; }
#footer :is(h2, h3, .widget-title, .wp-block-heading) {
  font-size: 1rem !important;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 700 !important;
  margin: 0 0 16px !important;
  padding: 0 0 10px !important;
  border-bottom: 1px solid color-mix(in srgb, var(--c-footer-heading) 18%, transparent) !important;
  position: relative;
}
#footer :is(h2, h3, .widget-title, .wp-block-heading)::after {
  content: ""; position: absolute; left: 0; bottom: -1px; width: 36px; height: 2px; background: var(--c-primary);
}
#footer ul { list-style: none; padding: 0 !important; margin: 0 !important; }
#footer ul li { padding: 5px 0 !important; border: 0 !important; background: transparent !important; }
#footer .wp-block-search .wp-block-search__input,
#footer .wp-block-search__inside-wrapper .wp-block-search__input {
  background: color-mix(in srgb, var(--c-footer-text) 10%, transparent) !important;
  border-color: color-mix(in srgb, var(--c-footer-text) 25%, transparent) !important;
  color: var(--c-footer-heading) !important;
}
#footer .wp-block-search__input::placeholder { color: color-mix(in srgb, var(--c-footer-text) 80%, transparent) !important; }
.footer-empty-hint, .footer-empty-hint a { color: var(--c-footer-text) !important; }
.footer-empty-hint a { text-decoration: underline; }

/* Lupa nos botões de busca de bloco (o texto "Pesquisar" fica oculto e
   o botão mantém o fundo sólido/degradê do Personalizar) */
.wp-block-search .wp-block-search__button:not(.has-icon)::after {
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 20 20'/%3E%3C/svg%3E") center / contain no-repeat;
}
