/* Public cinema theme: black surfaces, accessible red actions and high-contrast copy. */
:root {
    color-scheme: dark;
    --cor-primaria: #ea1625 !important;
    --cor-destaque: #a9000b !important;
    --cor-primaria-rgb: 234, 22, 37 !important;
    --cor-destaque-rgb: 169, 0, 11 !important;
    --cor-barra: #050505 !important;
    --cor-fundo-site: #050505 !important;
    --cor-fundo-header: #0a0a0a !important;
    --cor-fundo-card: #141414 !important;
    --cor-fundo-secundario: #1c1c1c !important;
    --cor-texto-escuro: #f7f7f7 !important;
    --cor-texto-claro: #c7c7c7 !important;
    --cor-borda: #3a3a3a !important;
    --header-cor-texto: #ffffff !important;
    --header-cor-botao: #ea1625 !important;
    --header-cor-botao-txt: #ffffff !important;
    --header-cor-comprar: #a9000b !important;
    --header-cor-comprar-txt: #ffffff !important;
    --border-radius: 8px !important;
    --box-shadow: 0 8px 24px rgba(0, 0, 0, .38) !important;
}

html {
    background: #050505;
    color: #f7f7f7;
    overflow-x: hidden;
    text-size-adjust: 100%;
}

body,
body.template-padrao,
body.template-colorido {
    background: #050505 !important;
    color: #f7f7f7 !important;
    line-height: 1.55;
    overflow-x: clip;
}

body * {
    text-decoration-thickness: auto;
}

main,
section,
article,
aside,
nav,
header,
footer,
div {
    min-width: 0;
}

h1, h2, h3, h4, h5, h6,
.page-title,
.section-title,
.prog-title,
.filme-titulo,
.movie-info h1,
.post-header h1,
.post-conteudo h2,
.post-conteudo h3,
.blog-card-body h2 a,
.cinema-info h2,
.project-copy h2,
.project-contact-inner h2,
.contact-form-section h2 {
    color: #f7f7f7 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere;
}

p, li, dd, dt, label, summary, figcaption,
.intro-text,
.filme-meta,
.cinema-info p,
.blog-card-body p,
.post-sub,
.post-meta,
.post-conteudo,
.project-copy,
.project-contact-inner > p,
.contact-form-section > p,
.atendimento-content,
.texto-institucional,
.sidebar-card-body,
.faq-answer,
.pf-a,
.pl-sub {
    overflow-wrap: anywhere;
}

a {
    color: #ff626b;
}

a:hover {
    color: #ff858b;
}

:focus-visible {
    outline: 3px solid #ff626b !important;
    outline-offset: 3px !important;
}

::selection {
    background: #ea1625;
    color: #fff;
}

/* Header and navigation */
.header-principal,
.navbar-principal,
.cl-topbar,
.cl-nav,
.nav-links,
.cl-dropdown,
.dropdown-menu,
.nav-actions {
    background: #0a0a0a !important;
    border-color: #343434 !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .45) !important;
}

.nav-link,
.dropdown-item,
.cl-nav-link,
.cl-dropdown a,
.menu-toggle,
.cl-menu-btn,
.social-link {
    color: #f7f7f7 !important;
}

.nav-link:hover,
.dropdown-item:hover,
.cl-nav-link:hover,
.cl-dropdown a:hover {
    background: #211012 !important;
    color: #ff626b !important;
}

.cl-select-bar,
.cl-selbar {
    background: #050505 !important;
    border-color: #343434 !important;
}

.cl-sel-text {
    color: #d2d2d2 !important;
}

.cl-sel,
.cl-sel option,
.cl-sel-cinema option {
    color: #d2d2d2 !important;
}

.cl-sel {
    border-color: #424242 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23B8B8B8' d='M6 8L1 3h10z'/%3E%3C/svg%3E") !important;
}

.cl-sel:focus,
.cl-sel:focus-visible,
.cl-sel-wrapper.has-selection .cl-sel {
    outline: none !important;
    border-color: #6a6a6a !important;
    background-color: #181818 !important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .1) !important;
}

.cl-sel-wrapper.has-selection .cl-sel-ico {
    color: #b8b8b8 !important;
}

.header-form .select-estilo,
.header-form .select-estilo option {
    color: #d2d2d2 !important;
}

.header-form .select-estilo:focus,
.header-form .select-estilo:focus-visible {
    outline: none !important;
    border-color: #6a6a6a !important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .1) !important;
}

.cl-ticker {
    background: #171717 !important;
    border-bottom: 1px solid #343434;
}

.cl-ticker-item {
    color: #f7f7f7 !important;
}

.cl-ticker-item::before {
    color: #ea1625 !important;
}

.btn-horarios,
.cl-sel-go,
.cl-buy-btn,
.cl-btn-horarios,
.cl-btn-comprar,
.btn-submit,
.btn-aceitar,
.pwa-btn,
.contact-submit,
.project-submit,
.post-prog,
.pc-form button,
.pn-form button,
.blog-busca button {
    background: #ea1625 !important;
    background-image: none !important;
    color: #fff !important;
    border-color: #ea1625 !important;
    box-shadow: none !important;
}

.footer-news button {
    background: #050505 !important;
    color: #fff !important;
}

.btn-horarios:hover,
.cl-sel-go:hover,
.cl-buy-btn:hover,
.cl-btn-horarios:hover,
.cl-btn-comprar:hover,
.btn-submit:hover,
.contact-submit:hover,
.project-submit:hover,
.post-prog:hover,
.pc-form button:hover,
.pn-form button:hover,
.blog-busca button:hover {
    background: #a9000b !important;
    border-color: #a9000b !important;
    color: #fff !important;
}

/* Shared surfaces */
.filme-card,
.cinema-card,
.projeto-card,
.promo-card,
.promo-featured,
.mvv-card,
.channel-card,
.contato-projetos,
.atendimento-content,
.texto-institucional,
.blog-card,
.blog-maislidos li,
.rel-card,
.faq-item,
.pf-item,
.post-toc,
.post-author,
.pc-form,
.prog-filme,
.prog-empty,
.sidebar-card,
.uni-local-inner,
.date-pill,
.sessao-encerrada,
.pp-box,
.item-beneficio,
.seo-locations,
.texto-intro,
.lista-recursos li,
.app-card,
.filme-b,
.sala-filme,
.abaSelect,
.msg-vazio,
.cmaerr-card,
.cmaerr-btn--ghost,
.autor-head,
.autor-links a,
.ag-card,
.hb-card,
.fb-card,
.evc,
.post-news .pn-body,
.post-filme-cta,
.em-breve-box,
.aviso-futuro,
.assistir-box {
    background: #141414 !important;
    border-color: #3a3a3a !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .3) !important;
}

.filme-info-bar,
.filme-titulo,
.projeto-info,
.post-main,
.project-contact-band,
.blog-main,
.chat-body,
.chat-chips {
    background: #050505 !important;
}

.filme-info-bar .filme-titulo {
    color: #e2e2e2 !important;
}

.filme-info-bar .filme-meta,
.filme-info-bar .filme-meta-copy {
    color: #bdbdbd !important;
}

.filme-img-wrapper,
.projeto-img-wrapper,
.blog-card-img,
.rel-img,
.prog-poster-col,
.sessao-poster,
.cast-photo.no-photo,
.post-author .pa-noimg {
    background: #202020 !important;
}

.section-title,
.page-title,
.post-meta,
.post-share,
.pc-item,
.sessao-dados,
.sessao-dados > div,
.sessao-sinopse,
.sidebar-card-title {
    border-color: #3a3a3a !important;
}

.breadcrumb,
.breadcrumb .active,
.prog-breadcrumb,
.sessao-bc,
.post-bc,
.blog-meta,
.post-meta,
.filme-meta,
.prog-film-orig,
.prog-film-meta,
.prog-film-meta strong,
.prog-sala-label,
.sidebar-card-body,
.cinema-info p,
.cinema-info p.endereco-completo,
.projeto-info p,
.atendimento-content,
.texto-institucional,
.post-sub,
.post-conteudo,
.post-conteudo blockquote,
.pc-body p,
.pc-top strong,
.faq-answer,
.pf-a,
.sessao-dados dt,
.sessao-dados dd,
.sessao-sinopse p,
.project-copy,
.project-contact-inner > p,
.contact-form-section > p {
    color: #c7c7c7 !important;
}

.breadcrumb a,
.prog-breadcrumb a,
.sessao-bc a,
.post-bc a,
.blog-leia,
.home-blog-all,
.sessao-links a,
.footer-coluna a,
.desenvolvedor a {
    color: #ff626b !important;
}

.uni-local-titulo,
.uni-local-lista li,
.uni-local-lista a,
.cmaerr-hero h1,
.cmaerr-titulo-sec,
.cmaerr-card-body h3,
.cast-name,
.titulo-filme-desktop h5,
.sala-filme div:first-child,
.em-breve-box .eb-txt strong,
.autor-info h1,
.autor-sec,
.ag-b h3 a,
.ev-head h1,
.evc-body h3,
.hb-body h3 a,
.fb-tit,
.fb-nota b {
    color: #f7f7f7 !important;
}

.uni-local-desc,
.cmaerr-hero p,
.cast-char,
.em-breve-box .eb-txt p,
.autor-bio,
.ag-b p,
.ev-head p,
.evc-desc,
.hb-body p,
.hb-meta {
    color: #c7c7c7 !important;
}

.breadcrumb li::after,
.breadcrumb-custom span {
    color: #777 !important;
}

.page-title i,
.section-title i,
.filme-cidade,
.filme-cidade i,
.cinema-info p i,
.cinema-card:hover .cinema-info h2,
.tab-btn:hover,
.tab-btn.active,
.texto-institucional h3,
.texto-institucional a,
.sobre-texto h3,
.promo-info h2,
.uni-local-titulo i,
.uni-local-lista li i,
.autor-cargo,
.post-meta a,
.pa-cargo,
.filme-blog h2 i,
.evc-uni,
.app-icon,
.lista-recursos li i,
.atendimento-content h3,
.channel-icon.phone,
.blog-maislidos li::before,
.programacao-do-dia h3,
.sala-filme div b,
.cmaerr-cod,
.cmaerr-tag,
.sessao-label,
.social-icon,
.selo-icon,
.vp-unidade h3,
.chat-msg.bot a {
    color: #ff626b !important;
}

.ft-lista {
    background: #141414 !important;
    color: #ff626b !important;
    border-color: #ea1625 !important;
    border-radius: 8px !important;
}

.ft-lista:hover {
    background: #ea1625 !important;
    color: #fff !important;
}

/* Forms */
input,
select,
textarea,
.form-control,
.contact-field input,
.contact-field select,
.contact-field textarea,
.project-field input,
.project-field select,
.project-field textarea,
.pc-form input,
.pc-form textarea,
.pn-form input,
.filmes-toolbar input,
.filmes-toolbar select,
.select-estilo {
    background-color: #181818 !important;
    color: #f7f7f7 !important;
    border-color: #4a4a4a !important;
    caret-color: #ff626b;
}

input::placeholder,
textarea::placeholder {
    color: #a9a9a9 !important;
    opacity: 1;
}

input:focus,
select:focus,
textarea:focus,
.form-control:focus,
.select-estilo:focus {
    background-color: #202020 !important;
    border-color: #ea1625 !important;
    box-shadow: 0 0 0 3px rgba(234, 22, 37, .24) !important;
}

select option,
select optgroup,
.cl-sel option,
.cl-sel-cinema option {
    background: #181818 !important;
    color: #f7f7f7 !important;
}

.form-group label,
.contact-field label,
.project-field label,
.form-consent,
.contact-consent,
.project-consent {
    color: #d7d7d7 !important;
}

/* Programming */
.date-pill.active,
.prog-horario-btn,
.btn-precos,
.btn-valores,
.btn-programacao,
.sessao-comprar,
.btn-trailer,
.em-breve-box .eb-btn,
.blog-cats a.on,
.blog-pag a:hover,
.post-cat,
.pc-av,
.abaSelect.select,
.pt-btn.on {
    background: #ea1625 !important;
    background-image: none !important;
    border-color: #ea1625 !important;
    color: #fff !important;
}

.date-pill .pill-month,
.date-pill .pill-label {
    color: #c7c7c7 !important;
}

.date-pill.active .pill-month,
.date-pill.active .pill-label {
    color: #fff !important;
}

.prog-sala-lang {
    background: #351013 !important;
    color: #ff858b !important;
}

.prog-sala-tipo,
.sessao-chips span {
    background: #242424 !important;
    border-color: #4a4a4a !important;
    color: #d7d7d7 !important;
}

.prog-horario-btn.no-link,
.prog-horario-btn.encerrado,
.hor.encerrado,
.hor.encerrado:hover {
    background: #242424 !important;
    color: #969696 !important;
    border: 1px solid #3a3a3a !important;
}

.abaSelect {
    color: #d7d7d7 !important;
}

.hor {
    color: #ff626b !important;
    border-color: #ea1625 !important;
}

.hor:hover {
    background: #ea1625 !important;
    color: #fff !important;
}

.aviso-futuro {
    color: #ffd98a !important;
    border-left-color: #f59e0b !important;
}

.prog-cidade-header {
    background: #0a0a0a !important;
    border-color: #ea1625 !important;
}

.prog-cidade-header .pcr-info i {
    color: #ff626b !important;
}

.prog-cidade-header .pcr-btn {
    background: #ea1625 !important;
    color: #fff !important;
}

/* Blog and editorial content */
.blog-hero {
    background: #a9000b !important;
    color: #fff !important;
}

.blog-hero h1,
.blog-hero p,
.blog-bc,
.blog-bc a,
.post-filme-cta,
.post-filme-cta .pfc-txt {
    color: #fff !important;
}

.blog-busca,
.blog-cats a,
.blog-pag a,
.pt-btn,
.post-tags a {
    background: #181818 !important;
    border-color: #3a3a3a !important;
    color: #d7d7d7 !important;
}

.post-filme-cta,
.footer-news,
.chat-head,
.chat-launch,
#chatFab,
.pwa-ico {
    background: #a9000b !important;
    background-image: none !important;
}

.post-filme-cta .pfc-btn {
    background: #fff !important;
    color: #7f0008 !important;
}

.badge-estreia,
.filme-tag.prevenda,
.filme-tag.embreve,
.evc-tipo {
    background: #a9000b !important;
    color: #fff !important;
}

.filme-tag.estreia,
.post-tipo-critica {
    background: #8a4b00 !important;
    color: #fff !important;
}

.filme-tag.cartaz {
    background: #087443 !important;
    color: #fff !important;
}

.post-conteudo a {
    color: #ff7078 !important;
    text-decoration: underline;
}

.post-conteudo code,
.post-conteudo pre {
    background: #1c1c1c !important;
    color: #f1f1f1 !important;
    border-color: #3a3a3a !important;
}

.cmaerr-btn--ghost {
    color: #ff626b !important;
    border: 2px solid #ea1625 !important;
}

.cmaerr-poster,
.autor-noimg,
.ag-img,
.hb-img,
.fb-img,
.evc-img {
    background: #202020 !important;
    background-image: none !important;
}

.cast-photo {
    background: #202020 !important;
    border-color: #4a4a4a !important;
}

.footer-news {
    border-radius: 8px !important;
}

.uni-btn-wpp,
.share-fixed .sf.wa,
.sh.wa {
    background: #0b6b2c !important;
    color: #fff !important;
}

.share-fixed {
    background: #0a0a0a !important;
    border-color: #3a3a3a !important;
}

/* Footer, dialogs and floating tools */
.site-footer,
footer {
    background: #0a0a0a !important;
    color: #f7f7f7 !important;
    border-color: #343434 !important;
}

.footer-coluna h3,
.selo-titulo,
.copyright,
.desenvolvedor {
    color: #f0f0f0 !important;
}

.footer-coluna ul li a,
.selo-desc {
    color: #c7c7c7 !important;
}

.cookie-box,
.cookie-message,
.vp-box,
.chat-window,
#chatPanel,
.pwa-install,
.ml-item {
    background: #141414 !important;
    color: #f7f7f7 !important;
    border-color: #3a3a3a !important;
    border-radius: 8px !important;
}

.cookie-message h4,
.vp-box h2,
.pwa-txt strong,
.ml-item .ml-nome,
.chat-msg.bot {
    color: #f7f7f7 !important;
}

.cookie-message p,
.vp-texto,
.vp-empty,
.pwa-txt span,
.pwa-ios,
.ml-empty {
    color: #c7c7c7 !important;
}

.push-prompt {
    background: #141414 !important;
    color: #f7f7f7 !important;
    border: 1px solid #3a3a3a !important;
    border-radius: 8px !important;
}

.push-prompt .pp-ico,
.push-prompt .pp-btn {
    background: #ea1625 !important;
    color: #fff !important;
    border-radius: 8px !important;
}

.push-prompt .pp-txt span,
.push-prompt .pp-close {
    color: #c7c7c7 !important;
}

.pwa-ico,
.pwa-btn {
    border-radius: 8px !important;
}

.filme-tag,
.badge-estreia,
.filme-class-badge,
.filme-meta,
.filme-cidade,
.blog-cat-tag,
.hb-cat,
.cmaerr-tag,
.cast-char,
.date-pill .pill-label,
.chat-head small {
    font-size: 12px !important;
}

.chat-body,
.chat-chips,
.chat-foot {
    background: #0e0e0e !important;
    border-color: #343434 !important;
}

.chat-msg.bot,
.chat-chip {
    background: #202020 !important;
    border-color: #484848 !important;
    color: #f7f7f7 !important;
}

.chat-msg.user {
    background: #ea1625 !important;
    color: #fff !important;
}

.btn-configurar,
.btn-clr,
.btn-rota {
    background: transparent !important;
    border-color: #ea1625 !important;
    color: #ff626b !important;
}

/* Status messages retain meaning without losing contrast. */
.alert-success,
.contact-success,
.project-ok,
.pn-msg.ok,
.pc-msg.ok {
    background: #102419 !important;
    border-color: #257a45 !important;
    color: #a7f3c1 !important;
}

.alert-error,
.contact-error,
.project-error,
.pn-msg.err,
.pc-msg.err {
    background: #2a0d10 !important;
    border-color: #9f2630 !important;
    color: #ffb4ba !important;
}

.pp-box,
.item-beneficio,
.seo-locations {
    border-left-color: #ea1625 !important;
}

/* Text on photographic or red hero surfaces stays white. */
.movie-hero,
.movie-hero h1,
.movie-hero p,
.movie-info,
.movie-info h1,
.movie-meta,
.movie-synopsis,
.movie-synopsis p,
.credit-row,
.credit-label,
.credit-value,
.project-hero,
.project-hero h1,
.project-hero p,
.project-breadcrumb,
.project-breadcrumb a {
    color: #fff !important;
}

/* Layout resilience */
img,
video,
iframe,
canvas {
    max-width: 100%;
}

table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-responsive,
.pl-table-wrap,
.doc-body,
.orc-itens {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.btn-action,
.btn-precos,
.btn-submit,
.btn-cookie,
.pwa-btn,
.push-prompt .pp-btn,
.footer-news button,
.ft-lista,
.sessao-comprar,
.btn-trailer,
.em-breve-box .eb-btn,
.btn-saiba-mais,
.evc-btn,
.uni-btn,
.contact-submit,
.project-submit,
.prog-horario-btn,
.date-pill,
.tab-btn {
    min-height: 44px;
}

@media (max-width: 991px) {
    .nav-links,
    .cl-nav {
        max-height: calc(100vh - 72px) !important;
        overflow-y: auto !important;
    }

    .container-movie,
    .sobre-grid,
    .prog-layout,
    .uni-local-inner {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 768px) {
    body {
        font-size: 16px !important;
    }

    h1,
    .movie-info h1,
    .post-header h1,
    .project-hero h1 {
        font-size: 32px !important;
        line-height: 1.15 !important;
    }

    h2,
    .page-title,
    .section-title,
    .prog-title {
        font-size: 24px !important;
        line-height: 1.25 !important;
    }

    h3 {
        font-size: 20px !important;
    }

    .container-filmes,
    .container-cinemas,
    .container-projetos,
    .container-promocoes,
    .container-sobre,
    .container-atendimento,
    .container-institucional,
    .container-acessibilidade,
    .prog-wrapper,
    .sessao-main,
    .blog-wrap,
    .post-article,
    .project-body {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .texto-institucional,
    .atendimento-content,
    .contato-projetos,
    .pc-form,
    .post-author,
    .project-contact-band {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .filmes-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .blog-grid,
    .home-blog-grid,
    .post-rel-grid,
    .fb-grid,
    .ev-list,
    .autor-grid,
    .contact-channels,
    .apps-grid,
    .mvv-grid,
    .projetos-grid,
    .cinemas-grid,
    .contact-form,
    .project-form {
        grid-template-columns: 1fr !important;
    }

    .card-actions,
    .prog-header-actions,
    .post-cta {
        width: 100%;
    }

    .card-actions .btn-action,
    .prog-header-actions > *,
    .post-cta > * {
        flex: 1 1 100%;
        justify-content: center;
        text-align: center;
    }

    input,
    select,
    textarea,
    button {
        font-size: 16px;
    }

    .cookie-box,
    .cookie-message,
    .chat-window,
    #chatPanel,
    .pwa-install,
    .push-prompt {
        width: calc(100% - 24px) !important;
        max-width: none !important;
        left: 12px !important;
        right: 12px !important;
    }

    .vp-overlay {
        padding: 12px !important;
    }

    .vp-box {
        width: 100% !important;
        max-width: none !important;
        left: auto !important;
        right: auto !important;
    }

    .footer-news {
        border-radius: 8px !important;
    }
}

@media (max-width: 480px) {
    h1,
    .movie-info h1,
    .post-header h1,
    .project-hero h1 {
        font-size: 28px !important;
    }

    h2,
    .page-title,
    .section-title,
    .prog-title {
        font-size: 22px !important;
    }

    .logo-nome,
    #appSplash .logo-nome {
        font-size: 24px !important;
    }

    .filme-titulo {
        min-height: 52px;
        white-space: normal !important;
        display: flex;
        align-items: center;
        justify-content: center;
        line-height: 1.3;
    }

    .prog-filme-inner {
        align-items: stretch;
    }

    .prog-poster-col,
    .prog-poster-col img {
        width: 104px !important;
    }

    .prog-poster-col img {
        height: 156px !important;
    }

    .prog-details-col {
        padding: 14px !important;
    }

    .prog-horario-btn {
        flex: 1 1 82px;
        padding: 10px 12px !important;
        justify-content: center;
    }

    .project-hero {
        min-height: 390px !important;
    }

    .footer-news input,
    .footer-news button,
    .btn-submit,
    .contact-submit,
    .project-submit {
        width: 100% !important;
        justify-content: center;
    }

    .footer-news {
        padding: 22px 16px !important;
    }

    .footer-news form {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .cookie-buttons .btn-cookie {
        flex: 1 1 130px;
        min-height: 44px;
    }

    .push-prompt {
        flex-wrap: wrap;
    }

    .push-prompt .pp-btn {
        order: 3;
        flex: 1 1 100%;
        min-height: 44px;
    }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
