/* =========================================================
   Programação — visual de agenda, no mesmo estilo de Notícias
   (faixa azul vem de noticias.css; aqui fica a grade [feira_grade]).
   ========================================================= */
.feira-programacao .fn-top { padding-bottom: 84px; }
.feira-programacao .fp-numeros { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 26px 0 0; font-size: .95rem; color: rgba(255,255,255,.85); }
.feira-programacao .fp-numeros b { font-family: var(--ff-h, 'Libre Franklin', sans-serif); font-size: 1.4rem; color: #F6BE00; margin-right: 4px; }
.feira-programacao .fp-corpo { padding-bottom: 90px; }

.feira-prog { max-width: none; }

/* Atalhos de dia (logo abaixo da faixa) */
.feira-prog-atalhos { display: flex; gap: 12px; flex-wrap: wrap; margin: -46px 0 30px; position: relative; z-index: 2; }
.feira-prog-atalhos a { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 8px; align-items: center; background: #fff; border-radius: 12px; padding: 12px 18px; text-decoration: none; color: #1a1a1a; box-shadow: 0 14px 34px rgba(4,36,74,.16); transition: transform .2s ease, box-shadow .2s ease; }
.feira-prog-atalhos a:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(4,36,74,.22); }
.feira-prog-atalhos small { grid-column: 1 / -1; font-size: .72rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: #6b7480; }
.feira-prog-atalhos b { font-family: 'Libre Franklin', sans-serif; font-weight: 800; font-size: 1.7rem; line-height: 1; color: #004C99; }
.feira-prog-atalhos span { font-weight: 700; text-transform: uppercase; font-size: .85rem; color: #1a1a1a; }

/* Filtros em um cartão */
.feira-prog-filtros { background: #f1f4f9; border-radius: 14px; padding: 20px 22px; margin: 0 0 48px; gap: 12px; }
.feira-prog-filtros .feira-filtro-titulo { font-family: 'Libre Franklin', sans-serif; font-weight: 800; font-size: .78rem; letter-spacing: 1.2px; text-transform: uppercase; color: #004C99; min-width: 64px; }
.feira-prog-filtros .feira-chip { border-radius: 999px; border: 2px solid #d5deea; background: #fff; color: #3a3a3a; font-weight: 600; padding: 7px 16px; transition: all .15s ease; }
.feira-prog-filtros .feira-chip:hover { border-color: #004C99; color: #004C99; }
.feira-prog-filtros .feira-chip.is-ativo { background: #004C99; border-color: #004C99; color: #fff; }

/* Cabeçalho do dia */
.feira-prog-dia { margin-bottom: 56px; scroll-margin-top: 30px; }
.feira-prog-dia-head { display: flex; align-items: center; gap: 18px; padding-bottom: 18px; margin-bottom: 8px; border-bottom: 3px solid #F6BE00; }
.feira-prog-dia-data { flex: 0 0 74px; height: 74px; border-radius: 14px; background: linear-gradient(160deg, #004C99, #04244a); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.feira-prog-dia-data b { font-family: 'Libre Franklin', sans-serif; font-weight: 800; font-size: 2rem; }
.feira-prog-dia-data span { text-transform: uppercase; font-weight: 700; font-size: .75rem; letter-spacing: 1px; color: #F6BE00; margin-top: 4px; }
.feira-prog-dia-txt { flex: 1; min-width: 0; }
.feira-prog-dia-kicker { margin: 0; font-family: 'Libre Franklin', sans-serif; font-size: 1.05rem; color: #004C99; }
.feira-prog-dia-head .feira-prog-dia-titulo { display: block; border: 0; padding: 0; margin: 0; font-family: 'Libre Franklin', sans-serif; font-weight: 800; font-size: clamp(1.6rem, 3vw, 2.3rem); letter-spacing: -1px; line-height: 1.05; color: #1a1a1a; text-transform: none; }
.feira-prog-dia-head .feira-prog-dia-contagem { flex: 0 0 auto; font-size: .82rem; font-weight: 700; color: #6b7480; background: #f1f4f9; padding: 6px 14px; border-radius: 999px; }

/* Cada atividade: horário | texto (sem fotos, a pedido do cliente) */
.feira-prog-lista { display: block; }
.feira-prog .feira-prog-item { display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 22px; align-items: start; padding: 22px 12px; margin: 0 -12px; border-bottom: 1px solid #e6ebf2; border-radius: 10px; transition: background .2s ease; }
.feira-prog .feira-prog-item:first-child { padding-top: 22px; }
.feira-prog .feira-prog-item:last-child { border-bottom: 0; }
.feira-prog .feira-prog-item:hover { background: #f7f9fc; }
.feira-prog .feira-prog-item.is-destaque { background: #fff8e1; }
.feira-prog-item-hora { padding-top: 4px; }
.feira-prog-item-hora b { display: block; font-family: 'Libre Franklin', sans-serif; font-weight: 800; font-size: 1.45rem; letter-spacing: -.5px; color: #004C99; line-height: 1; }
.feira-prog-item-hora span { display: block; font-size: .8rem; color: #6b7480; margin-top: 6px; }
.feira-prog .feira-prog-item-thumb { width: 190px; height: 124px; border-radius: 10px; overflow: hidden; display: block; background: #e3eaf4; }
/* Capa automática (sem foto): cor + ícone da trilha */
.feira-prog .feira-prog-item-thumb.sem-imagem { position: relative; background: var(--capa, #004C99); color: var(--capa-txt, #fff); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-decoration: none; text-align: center; padding: 10px; }
.feira-prog .feira-prog-item-thumb.sem-imagem svg { width: 36px; height: 36px; position: relative; z-index: 1; transition: transform .3s ease; }
.feira-prog .feira-prog-item-thumb.sem-imagem span { position: relative; z-index: 1; font-family: 'Libre Franklin', sans-serif; font-weight: 800; font-size: .72rem; letter-spacing: 1.2px; text-transform: uppercase; line-height: 1.2; }
.feira-prog .feira-prog-item-thumb.sem-imagem::after { content: ""; position: absolute; right: -18px; bottom: -18px; width: 84px; height: 84px; border-radius: 50%; border: 14px solid currentColor; opacity: .12; }
.feira-prog .feira-prog-item:hover .feira-prog-item-thumb.sem-imagem svg { transform: scale(1.12) rotate(-4deg); }
.feira-prog .feira-prog-item-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.feira-prog .feira-prog-item:hover .feira-prog-item-thumb img { transform: scale(1.05); }
.feira-prog-item-kicker { display: flex; gap: 8px; align-items: center; margin: 0 0 6px; min-height: 0; }
.feira-prog-item-kicker:empty { display: none; }
.feira-prog-item-kicker .cat { font-family: 'Libre Franklin', sans-serif; font-weight: 700; font-size: .74rem; letter-spacing: 1.2px; text-transform: uppercase; color: #004C99; }
.feira-prog-item-kicker .selo { font-family: 'Libre Franklin', sans-serif; font-weight: 800; font-size: .68rem; letter-spacing: 1px; text-transform: uppercase; background: #F6BE00; color: #003A75; padding: 3px 9px; }
.feira-prog .feira-prog-item-titulo { font-family: 'Libre Franklin', sans-serif; font-weight: 800; font-size: 1.28rem; letter-spacing: -.4px; line-height: 1.2; margin: 0 0 8px; }
.feira-prog .feira-prog-item-titulo a { color: #1a1a1a; text-decoration: none; }
.feira-prog .feira-prog-item-titulo span { box-shadow: inset 0 -3px 0 #F6BE00; transition: box-shadow .25s ease; }
.feira-prog .feira-prog-item:hover .feira-prog-item-titulo span { box-shadow: inset 0 -10px 0 rgba(246,190,0,.5); }
.feira-prog .feira-prog-item-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: .86rem; font-weight: 600; color: #004C99; margin: 0 0 8px; }
.feira-prog .feira-prog-item-meta .pal { color: #3a3a3a; font-weight: 600; }
.feira-prog .feira-prog-item-resumo { font-size: .93rem; line-height: 1.6; color: #6b7480; margin: 0 0 10px; }
.feira-prog .feira-prog-item-link { font-family: 'Libre Franklin', sans-serif; font-weight: 800; font-size: .84rem; color: #e85d1e; }
.feira-prog-dia-vazio { padding: 18px 0 0; }

@media (max-width: 860px) {
	.feira-prog .feira-prog-item { grid-template-columns: 70px minmax(0, 1fr); }
	.feira-prog .feira-prog-item-thumb { display: none; }
	.feira-prog-dia-head .feira-prog-dia-contagem { display: none; }
}
@media (max-width: 520px) {
	.feira-prog-atalhos { gap: 8px; margin-top: -40px; }
	.feira-prog-atalhos a { padding: 10px 12px; }
	.feira-prog-atalhos b { font-size: 1.35rem; }
	.feira-prog .feira-prog-item { grid-template-columns: 1fr; gap: 6px; }
	.feira-prog-item-hora b { display: inline; font-size: 1.15rem; }
	.feira-prog-item-hora span { display: inline; margin-left: 6px; }
	.feira-prog-dia-data { flex-basis: 60px; height: 60px; }
}
.feira-prog .feira-prog-item[hidden], .feira-prog-dia-vazio[hidden] { display: none !important; }
