/* ============================================================
   Pupilo — ajustes visuais (carregado por cima do main.css)
   Não é gerado pelo gulp; editar aqui é seguro.
   ============================================================ */

/* ---- Ficha do filme: hero cinematográfico ----
   A imagem em destaque preenche o fundo do bloco (desfocada + escurecida),
   com o pôster nítido por cima e o título logo abaixo dele. */
.cine-hero { position: relative; overflow: hidden; }
.cine-hero::before {
  content: ""; position: absolute; inset: -12%;
  background: var(--cine-hero-bg, none) center / cover no-repeat;
  filter: brightness(.92) saturate(1.05);
  z-index: 0;
}
.cine-hero::after {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background: linear-gradient(180deg, rgba(20,38,58,.05) 0%, rgba(18,34,54,.28) 55%, rgba(15,30,50,.62) 100%);
}
.cine-hero > .container { position: relative; z-index: 1; }
/* sem still: usa o pôster como fundo — sem blur, só o azul por cima */
.cine-hero--poster::before { filter: brightness(.9) saturate(1.1); }

.cine-hero .cine-hero-grid {
  display: flex !important; flex-direction: column !important; align-items: center !important;
  text-align: center; gap: 16px; grid-template-columns: none !important;
}
.cine-hero .cine-poster, .cine-hero .cine-hero-info { width: auto !important; max-width: 680px; }
.cine-hero .cine-poster img {
  max-width: 260px; width: auto; height: auto; border-radius: 14px;
  box-shadow: 0 18px 50px rgba(0,0,0,.55);
}
.cine-hero .pj-tags { justify-content: center; }
.cine-hero .pj-title { margin-top: 2px; }
.cine-hero .cine-hero-sub { color: rgba(255,255,255,.82); }
.cine-hero .pj-pill { margin: 2px 4px 2px 0; }

/* ---- Ficha do filme: seções ricas (só aparecem se preenchidas) ---- */
/* linha de dados numa cor só (uniforme) */
.cine-meta{ color:#475569; font-weight:600; letter-spacing:.02em; margin:2px 0 6px; font-size:.95rem; }
.cine-meta .cine-uf, .cine-meta .cine-dir-inline{ color:#475569; font-weight:600; }
.cine-faixa{ font-size:.9rem; color:#475569; margin:0 0 14px; }
.cine-resumo{ margin-bottom:18px; }
.cine-trailer{ margin:6px 0 22px; }
.cine-trailer iframe{ width:100%; aspect-ratio:16/9; height:auto; border:0; border-radius:12px; }
.cine-direcao{ margin:8px 0 22px; padding-top:14px; border-top:1px solid rgba(0,0,0,.1); }
.cine-dir-row{ display:flex; gap:16px; align-items:flex-start; margin-top:6px; }
/* foto QUADRADA (não redonda) e sem forçar recorte da cara: largura fixa, altura natural */
.cine-dir-foto{ width:120px; height:auto; max-height:170px; object-fit:cover; border-radius:8px; flex-shrink:0; box-shadow:0 6px 18px rgba(0,0,0,.22); }
.cine-dir-nome{ font-weight:700; font-size:1.05rem; margin:0 0 4px; color:#1a2540; }
.cine-dir-rede{ color:#2563eb; text-decoration:none; font-weight:700; font-size:.85rem; margin-left:4px; }
.cine-dir-rede:hover{ color:#1d4ed8; }
.cine-prod{ color:#2563eb; text-decoration:none; font-weight:600; border-bottom:1px dotted #93c5fd; }
.cine-prod:hover{ color:#1d4ed8; border-bottom-style:solid; }
.cine-dir-bio{ color:#475569; font-size:.92rem; line-height:1.55; margin:0; }
.cine-ficha{ margin:8px 0 20px; padding-top:14px; border-top:1px solid rgba(0,0,0,.1); }
/* ficha técnica: mesmo estilo do corpo/sinopse (padronizada) */
.cine-ficha{ margin:8px 0 16px; }
.cine-ficha .pj-kicker{ margin-bottom:2px; }
.cine-ficha-txt{ line-height:1.5; font-size:.86rem; color:#64748b; }
.cine-ficha-txt p{ margin:2px 0; } /* linhas juntas (conjunto), produtora colada */
/* topo da sessão/filme: mais alto, com respiro e azul por cima legível */
.cine-single .cine-hero{ min-height:360px; display:flex; align-items:center; padding:120px 0 54px; }
.cine-hero .pj-title{ color:#fff; }
.cine-hero .cine-hero-sub{ color:rgba(255,255,255,.9); font-size:1rem; }
/* datas da agenda: fonte/alinhamento consistentes */
.cine-ag-data{ font-family:"Fira Sans",sans-serif; text-transform:none; letter-spacing:0; }
.cine-sessao-filmes{ margin-top:28px; padding-top:20px; border-top:1px solid rgba(0,0,0,.08); }
.cine-hero--plain{ background:#0a1c2b; padding:150px 0 56px; }
.cine-hero--plain .pj-title{ color:#fff; }
.cine-hero--plain .cine-hero-sub{ color:rgba(255,255,255,.85); }
.cine-hero--plain .pj-pill.pj-status{ color:#fff; }
/* Na sala de aula — bloco ÚNICO do professor (fundo quase branco p/ contraste do texto azul) */
.cine-sala{ margin:18px 0; padding:18px 20px; background:#f8fafc; border:1px solid #e3e8ef; border-radius:12px; }
.cine-sala > .pj-kicker{ margin-top:0; color:#1d4ed8; }
.cine-sala-linha{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:8px 0; }
.cine-sala-lbl{ font-weight:700; color:#1a2540; font-size:.9rem; }
/* aprofundamento (gated) — separado por linha sutil dentro do mesmo bloco */
.cine-deep{ margin-top:14px; padding-top:14px; border-top:1px solid #cfe0f5; }

/* Linhas padronizadas de atributos (rótulo alinhado + chips/valor) */
.cine-attrs{ display:flex; flex-direction:column; }
.cine-attr{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; padding:8px 0; border-bottom:1px solid #dbe7f6; }
.cine-attr:last-child{ border-bottom:0; }
.cine-attr-lbl{ flex:0 0 160px; max-width:160px; font-weight:700; color:#1a2540; font-size:.86rem; }
.cine-attr-val{ color:#334155; font-size:.9rem; }
.cine-chips{ display:flex; flex-wrap:wrap; gap:6px; flex:1; min-width:180px; }
.cine-chip{ display:inline-block; background:#fff; border:1px solid #c7d2fe; color:#3730a3; padding:4px 12px; border-radius:20px; font-size:.82rem; font-weight:600; text-decoration:none; transition:background .15s; }
.cine-chip:hover{ background:#eef2ff; }
.cine-chip--disc{ color:var(--disc,#3730a3); border-color:color-mix(in srgb, var(--disc,#3730a3) 38%, #fff); background:color-mix(in srgb, var(--disc,#3730a3) 8%, #fff); }
.cine-chip--disc:hover{ background:color-mix(in srgb, var(--disc,#3730a3) 16%, #fff); }
@media (max-width:560px){ .cine-attr-lbl{ flex-basis:100%; max-width:none; } }

/* Outros filmes que você pode gostar */
.cine-relacionados{ margin-top:8px; }
.cine-rel-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:18px; margin-top:12px; }
.cine-rel-card{ text-decoration:none; color:#1a2540; }
.cine-rel-card img{ width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:10px; box-shadow:0 8px 20px rgba(0,0,0,.15); display:block; }
.cine-rel-card span{ display:block; margin-top:7px; font-size:.86rem; font-weight:600; line-height:1.3; }
.cine-dl{ display:grid; grid-template-columns:auto 1fr; gap:4px 14px; margin:6px 0 0; font-size:.92rem; }
.cine-dl dt{ font-weight:700; color:#1a2540; }
.cine-dl dd{ margin:0; color:#475569; }
@media (max-width:520px){ .cine-dl{ grid-template-columns:1fr; } .cine-dl dd{ margin:0 0 6px; } }

/* Selo de classificação sobreposto ao topo (canto), abaixo do menu fixo */
.cine-hero-classind{ position:absolute; top:96px; right:24px; z-index:2; }
@media (max-width:640px){ .cine-hero-classind{ top:80px; right:14px; } }

/* Ano escolar recomendado (derivado dos códigos) — destaque forte */
.cine-anos{ background:linear-gradient(90deg,#fef3c7,#fffbeb); border-left:5px solid var(--gold,#d4a017); border-radius:8px; padding:11px 14px; font-size:1rem; color:#7c4a02; margin:0 0 14px; font-weight:600; box-shadow:0 2px 8px rgba(212,160,23,.15); }
.cine-anos-lbl{ font-weight:800; color:#5b3600; }
.cine-areas{ font-size:.92rem; color:#475569; margin:0 0 10px; }

/* Componentes/disciplinas como tags coloridas (--disc por disciplina) */
.cine-disc-tags{ display:flex; flex-wrap:wrap; gap:7px; margin-top:4px; }
.cine-disc{ display:inline-block; font-size:.82rem; font-weight:700; padding:4px 11px; border-radius:20px;
  color:var(--disc,#334155); background:color-mix(in srgb, var(--disc,#334155) 12%, #fff); border:1px solid color-mix(in srgb, var(--disc,#334155) 35%, #fff); }

/* Competências — cada uma rotulada Geral / Específica (área/componente) */
.cine-comp{ margin:6px 0 0; padding:0; list-style:none; color:#475569; font-size:.92rem; }
.cine-comp li{ margin:0 0 10px; padding-left:0; }
.comp-tag{ display:inline-block; font-size:.7rem; font-weight:800; padding:2px 9px; border-radius:20px; margin-right:8px; vertical-align:middle; letter-spacing:.02em; }
.comp-geral{ background:#0a1c2b; color:#ffcc04; }
.comp-esp{ color:#fff; background:var(--disc,#475569); }
.comp-txt{ color:#334155; }
/* Competências como bloco recolhível "Objetivos" (secundário) */
.cine-comp-det{ margin:12px 0; border:1px solid #e2e8f0; border-radius:10px; padding:4px 14px; background:#fbfcfe; }
.cine-comp-det summary{ cursor:pointer; font-weight:700; color:#475569; font-size:.9rem; padding:8px 0; }
.cine-comp-det summary:hover{ color:#1a2540; }
.cine-comp-det[open] summary{ margin-bottom:4px; color:#1a2540; border-bottom:1px solid #eef2f7; }
.cine-comp-det .cine-comp{ margin-top:8px; }

/* Habilidades BNCC — agrupadas por disciplina, cor = --disc */
.bncc-hint{ font-weight:400; color:#94a3b8; font-size:.82rem; }
.bncc-grupo{ margin:10px 0; padding-left:12px; border-left:3px solid var(--disc,#1d4ed8); }
.bncc-grupo-tit{ margin:0 0 4px; font-size:.9rem; color:var(--disc,#1d4ed8); font-weight:800; }
.bncc-lista{ margin:0; padding:0; list-style:none; }
.bncc-lista li{ padding:7px 0; border-bottom:1px solid #eef2f7; }
.bncc-lista li:last-child{ border-bottom:0; }
.bncc-lista .bncc-comp-item{ background:color-mix(in srgb, var(--disc,#475569) 7%, #fff); margin:6px 0; padding:9px 11px; border-radius:8px; border-bottom:0; }
.bncc-lista .bncc-comp-item .bncc-txt{ font-weight:500; }
.bncc-cod{ display:inline-block; background:var(--disc,#1d4ed8); color:#fff; font-weight:800; font-size:.72rem; padding:2px 7px; border-radius:5px; margin-right:8px; letter-spacing:.02em; }
.bncc-txt{ color:#1a2540; font-size:.9rem; }
/* meta (ano ou disciplina) — chip destacado, não mais cinza apagado */
.bncc-meta{ display:inline-block; margin-top:4px; font-size:.74rem; font-weight:700; padding:2px 9px; border-radius:20px;
  color:var(--disc,#7c4a02); background:color-mix(in srgb, var(--disc,#d4a017) 14%, #fff); border:1px solid color-mix(in srgb, var(--disc,#d4a017) 32%, #fff); }

/* Toggle de visões (por ano / por componente) */
.bncc-head{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; margin-bottom:6px; }
.bncc-head h4{ margin:0; }
/* toggle na cara do site (navy + dourado). !important vence o button{...!important} global do tema */
.bncc-toggle{ display:inline-flex; background:#0a1c2b; border-radius:24px; padding:4px !important; gap:4px; }
.bncc-tab{ border:0 !important; background:transparent !important; cursor:pointer; font-size:.78rem; font-weight:700;
  color:#fff !important; padding:5px 12px !important; border-radius:16px !important; transition:all .15s; white-space:nowrap; }
.bncc-tab:hover{ background:rgba(255,255,255,.12) !important; }
.bncc-tab.is-active{ background:#ffcc04 !important; color:#0a1c2b !important; box-shadow:0 2px 6px rgba(0,0,0,.25); }
.bncc-tab.is-active:hover{ background:#ffcc04 !important; }
.bncc-view.is-hidden{ display:none; }

/* Sugestões pedagógicas por nível */
.cine-sug-niveis{ display:flex; flex-direction:column; gap:12px; margin-top:8px; }
.cine-sug-item{ background:#f8fafc; border-left:3px solid var(--gold,#ffcc04); border-radius:0 8px 8px 0; padding:10px 14px; }
.cine-sug-nivel{ display:inline-block; font-weight:800; color:#0a1c2b; background:#ffcc04; padding:2px 11px; border-radius:20px; font-size:.76rem; margin-bottom:6px; }
.cine-sug-item p{ margin:4px 0 0; color:#334155; font-size:.92rem; line-height:1.55; }

/* Bloco pedagógico restrito ao professor */
.cine-prof{ margin:18px 0; padding:18px 20px; background:#f0f7ff; border:1px solid #cfe0f5; border-radius:12px; }
.cine-prof .pj-kicker{ margin-top:0; color:#1d4ed8; }
.cine-prof-bloco{ margin-top:12px; }
.cine-prof-bloco h4{ margin:0 0 4px; font-size:1rem; color:#1a2540; }
.cine-prof-gate{ color:#334155; font-size:.95rem; }
/* botão "Entrar como professor" bem visível (estava branco/invisível) */
.cine-prof-gate .pj-btn{ display:inline-block; background:#0a1c2b !important; color:#ffcc04 !important; padding:9px 18px; border-radius:8px; font-weight:800; text-decoration:none; border:0; }
.cine-prof-gate .pj-btn:hover{ background:#12314a !important; }
/* pill da mostra no topo (estava cinza ilegível sobre a imagem) */
.cine-hero .pj-pill.pj-status{ background:rgba(255,255,255,.92) !important; color:#0a1c2b !important; font-weight:700; }
.cine-prof-gate p{ margin:6px 0; }

/* Sinopse | Nossa opinião — 2 colunas no desktop */
@media (min-width:980px){ .cine-2col{ display:grid; grid-template-columns:1fr 1fr; gap:26px; align-items:start; } }
.cine-opiniao{ clear:both; margin:14px 0 16px; padding:12px 14px; background:#f8fafc; border-radius:8px; text-align:left; }
.cine-opiniao .pj-kicker{ margin-top:0; }
.cine-opiniao .pj-prose, .cine-opiniao p{ text-align:left; }
/* espaçamento de linha mais compacto na sinopse e opinião */
.cine-resumo, .cine-resumo p, .cine-opiniao .pj-prose p{ line-height:1.5; margin-bottom:8px; }
.cine-temas-bloco{ margin-top:12px; }
.cine-temas-bloco .cine-sub{ font-size:.88rem; color:#475569; margin:8px 0 0; }
.cine-temas-bloco .cine-sub strong{ color:#1a2540; }
.cine-temas{ font-size:.9rem; color:#64748b; margin-top:0; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.cine-temas-lbl{ font-weight:700; color:#475569; }
.cine-tema-tag{ display:inline-block; background:#eef2ff; color:#3730a3; border:1px solid #c7d2fe; padding:4px 11px; border-radius:20px; font-size:.82rem; text-decoration:none; font-weight:600; transition:background .15s; }
.cine-tema-tag:hover{ background:#e0e7ff; }
/* onde o filme foi exibido (link da sessão) */
.cine-sessoes{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
.cine-single .pj-hero + .pj-sec{ padding-top:36px; }
.cine-sessao{ display:inline-block; background:#eef2ff; color:#1a2540; border:1px solid #c7d2fe; padding:8px 14px; border-radius:12px; font-size:.85rem; text-decoration:none; font-weight:600; }
.cine-sessao-data{ display:block; color:#64748b; font-size:.76rem; font-weight:500; margin-top:1px; }
.cine-sessao:hover{ background:#e0e7ff; }

/* Faixa clara dos filtros (fora do topo escuro) */
.cine-filtros{ background:#f8fafc; border-bottom:1px solid #e3e8ef; padding:22px 0; }
.cine-filtros .fc-lbl{ color:#1a2540; }
/* tags de nível nos cards — bem visíveis (não brancas) */
.card-filme-tags .card-tag{ color:#1e3a8a !important; background:#eef2ff !important; border:1px solid #c7d2fe; }

/* Filtros do catálogo — chips clicáveis no padrão do modelo (navy + dourado) */
.filtros-cine{ display:flex; flex-direction:column; gap:12px; margin-top:0; text-align:left; }
.fc-busca{ max-width:420px; }
.fc-row{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 12px; }
.fc-lbl{ flex:0 0 150px; max-width:150px; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:#1a2540; }
.fc-chips{ display:flex; flex-wrap:wrap; gap:7px; flex:1; min-width:200px; align-items:center; }
.fc-chips .facetwp-checkbox{
  background:#fff !important; background-image:none !important; padding:5px 12px !important;
  border:1px solid #c7d2fe; border-radius:20px; color:#3730a3; font-size:.82rem; font-weight:600;
  cursor:pointer; margin:0 !important; display:inline-flex; align-items:center; gap:5px; transition:all .15s;
}
.fc-chips .facetwp-checkbox:hover{ background:#eef2ff !important; }
.fc-chips .facetwp-checkbox.checked{ background:#0a1c2b !important; color:#ffcc04 !important; border-color:#0a1c2b; }
.fc-chips .facetwp-counter{ opacity:.55; font-weight:500; }
.fc-chips .facetwp-toggle{ color:#1d4ed8; font-size:.8rem; font-weight:700; cursor:pointer; align-self:center; }
@media (max-width:560px){ .fc-lbl{ flex-basis:100%; max-width:none; } }
/* nível de ensino em destaque no topo (toggle) */
.fc-row--nivel{ padding:10px 0; border-bottom:2px solid #e3e8ef; margin-bottom:4px; }
.fc-row--nivel .fc-lbl{ color:#0a1c2b; }
.fc-row--nivel .facetwp-checkbox{ font-size:.9rem !important; padding:8px 18px !important; border-color:#0a1c2b !important; color:#0a1c2b !important; }
.fc-row--nivel .facetwp-checkbox.checked{ background:#0a1c2b !important; color:#ffcc04 !important; }

/* Miniaturas do catálogo — uniformes (16:9), com leve zoom no hover */
.card-filme{ overflow:hidden; }
.card-filme img, .card-filme .wp-post-image{ width:100% !important; aspect-ratio:16/9; object-fit:cover; object-position:center; display:block; background:#dbe4f0; transition:transform .25s; }
.card-filme:hover img, .card-filme:hover .wp-post-image{ transform:scale(1.04); }

/* Selo de classificação indicativa (ClassInd / Ministério da Justiça) */
.classind{ display:inline-flex; align-items:center; justify-content:center; font-weight:800;
  font-family:"Fira Sans",sans-serif; line-height:1; border-radius:6px; letter-spacing:-.02em;
  box-shadow:0 2px 6px rgba(0,0,0,.28); }
.classind--sm{ width:26px; height:26px; font-size:.8rem; border-radius:5px; }
.classind--md{ width:34px; height:34px; font-size:1rem; }
.classind--lg{ width:46px; height:46px; font-size:1.3rem; }
/* badges sobre a imagem do card do catálogo (classificação à esq., BNCC à dir.) */
.card-filme{ position:relative; }
.card-filme-badges{ position:absolute; top:10px; left:10px; right:10px; z-index:2; display:flex; justify-content:space-between; align-items:flex-start; pointer-events:none; }
.card-filme-bncc{ background:#ffcc04; color:#0a1c2b; font-weight:800; font-size:.68rem; padding:3px 8px; border-radius:6px; letter-spacing:.04em; box-shadow:0 2px 6px rgba(0,0,0,.3); }
.card-filme-tags{ display:flex; flex-wrap:wrap; gap:5px; margin:5px 0 2px; }
.card-filme-tags .card-tag{ background:#eef2ff; color:#3730a3; border:1px solid #c7d2fe; font-size:.72rem; font-weight:600; padding:2px 8px; border-radius:20px; }

/* Catálogo de filmes — dados separados da sinopse no card */
.card-filme-meta{ font-size:.8rem; color:#8a6d00; font-weight:600; margin:6px 0 4px; letter-spacing:.01em; }
.card-filme-resumo{ font-size:.88rem; color:#475569; line-height:1.5; margin:0; }

/* Home do Cineclube — agenda de sessões */
.cine-agenda-sec{ padding:30px 0 50px; }
.cine-home-sub{ color:rgba(255,255,255,.85); max-width:640px; margin:6px 0 14px; }
.cine-agenda-ano{ margin:22px 0 8px; color:#0a1c2b; border-bottom:2px solid #ffcc04; display:inline-block; padding-bottom:2px; }
/* barra de filtros */
.cine-filtro-bar{ display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin:6px 0 20px; }
.cf-mostras{ display:flex; flex-wrap:wrap; gap:6px; }
.cf-m{ border:1px solid #c7d2fe !important; background:#fff !important; color:#1a2540 !important; padding:6px 14px !important; border-radius:20px !important; font-weight:700; font-size:.85rem; cursor:pointer; }
.cf-m:hover{ background:#eef2ff !important; color:#0a1c2b !important; }
.cf-m.is-on{ background:#0a1c2b !important; color:#ffcc04 !important; border-color:#0a1c2b !important; }
.cf-grupo{ display:flex; flex-direction:column; gap:5px; }
.cf-lbl{ font-size:.72rem; font-weight:800; text-transform:uppercase; color:#64748b; letter-spacing:.04em; }
.cf-cidades{ display:flex; flex-wrap:wrap; gap:5px; }
.cf-c{ border:1px solid #cbd5e1 !important; background:#fff !important; color:#334155 !important; padding:4px 11px !important; border-radius:16px !important; font-size:.8rem; font-weight:600; cursor:pointer; }
.cf-c:hover{ background:#eef2ff !important; color:#0a1c2b !important; }
.cf-c.is-on{ background:#1d4ed8 !important; color:#fff !important; border-color:#1d4ed8 !important; }
.cf-copiar{ align-self:flex-end; border:1px solid #ffcc04 !important; background:#fff7d6 !important; color:#0a1c2b !important; padding:8px 14px !important; border-radius:8px !important; font-weight:700; cursor:pointer; }
/* grid de 3 colunas de sessões */
.cine-sess-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
@media (max-width:900px){ .cine-sess-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .cine-sess-grid{ grid-template-columns:1fr; } }
.cine-sess-card{ display:flex; flex-direction:column; border:1px solid #e3e8ef; border-radius:14px; overflow:hidden; text-decoration:none; color:#1a2540; background:#fff; transition:box-shadow .15s, transform .15s; }
.cine-sess-card:hover{ box-shadow:0 10px 28px rgba(10,28,43,.15); transform:translateY(-3px); }
.cs-thumb{ height:150px; background:#0a1c2b center/cover no-repeat; position:relative; }
.cs-mostra{ position:absolute; top:8px; left:8px; background:rgba(255,255,255,.94); color:#0a1c2b; font-size:.66rem; font-weight:800; padding:2px 8px; border-radius:12px; }
.cs-body{ padding:14px 16px; display:flex; flex-direction:column; gap:4px; }
.cs-data{ font-weight:800; color:#1d4ed8; font-size:.82rem; font-family:"Fira Sans",sans-serif; }
.cs-body h4{ margin:0; font-size:1.05rem; line-height:1.25; }
.cs-cidade{ margin:0; color:#64748b; font-size:.82rem; }
.cs-filmes{ margin:4px 0 0; font-size:.82rem; color:#334155; line-height:1.4; }
.cs-faixa{ margin:2px 0 0; font-size:.8rem; color:#8a6d00; font-weight:600; }

/* Filmes exibidos numa sessão — grade de cards */
.cine-sessao-filmes{ margin-top:24px; }
.cine-film-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); gap:18px; margin-top:10px; }
.cine-film-card{ text-decoration:none; color:#1a2540; display:flex; flex-direction:column; gap:8px; }
.cine-film-card img{ width:100%; aspect-ratio:2/3; object-fit:cover; border-radius:10px; box-shadow:0 8px 22px rgba(0,0,0,.16); transition:transform .15s; }
.cine-film-card:hover img{ transform:translateY(-3px); }
.cine-film-nome{ font-size:.86rem; font-weight:600; line-height:1.3; }

/* Pôster (retrato) na seção "Sobre" — texto contorna; some se o filme não tiver */
.cine-poster-fig{ float:left; width:210px; max-width:42%; margin:0 26px 16px 0; position:relative; }
.cine-poster-classind{ position:absolute; top:10px; left:10px; z-index:2; }
.cine-classif-inline{ display:flex; align-items:center; gap:8px; font-size:.92rem; color:#475569; font-weight:600; margin:0 0 12px; }
/* cartaz na proporção NATURAL (respeita pôster retrato; não força recorte) */
.cine-poster-fig img{ width:100%; height:auto; max-height:420px; object-fit:contain; border-radius:10px; box-shadow:0 10px 30px rgba(0,0,0,.18); display:block; }
/* pena do rodapé/hero não pode cobrir conteúdo */
.pj-feather, .pena-footer{ display:none !important; } /* penas decorativas cobriam o texto */
@media (max-width:640px){ .cine-poster-fig{ float:none; width:170px; margin:0 auto 18px; } }
