/*
Theme Name: kenji
Theme URI: https://kenji.news
Description: Tema do kenji.news, baseado no Twenty Twenty-Five.
Author: Kenjiria
Template: twentytwentyfive
Version: 1.0.11
Requires at least: 6.5
Text Domain: kenji
*/

/* ---------- Cabeçalho ---------- */
.kenji-header .kenji-barra { gap: 20px; align-items: center; }
.kenji-header .wp-block-site-logo img { display: block; }
.kenji-header .kenji-menu { margin-right: auto; font-family: var(--wp--preset--font-family--figtree); }
.kenji-header .wp-block-social-links { gap: 2px; }
.kenji-header .wp-block-social-links .wp-social-link a { padding: 10px; }
.kenji-header .wp-block-search__button {
	background: transparent;
	color: #FFFFFF;
	border: 0;
	padding: 10px;
	min-width: 44px;
	min-height: 44px;
}
.kenji-header .wp-block-search__button svg { fill: #FFFFFF; }
.kenji-header .wp-block-navigation__responsive-container-open svg { fill: #FFFFFF; }
.kenji-header .wp-block-navigation__responsive-container.is-menu-open {
	background: #111111;
	color: #FFFFFF;
	padding: 24px;
}
.kenji-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 24px;
	font-weight: 800;
}

/* Itens de seção no menu: caixa alta com barra na cor da seção */
.kenji-menu .kenji-nav-cor > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--outfit);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	padding-bottom: 6px;
	border-bottom: 4px solid transparent;
}
.kenji-menu .kenji-nav-olimpico > .wp-block-navigation-item__content { border-bottom-color: #34EA8F; }
.kenji-menu .kenji-nav-paralimpico > .wp-block-navigation-item__content { border-bottom-color: #FFE04C; }
.kenji-menu .kenji-nav-futebol > .wp-block-navigation-item__content { border-bottom-color: #03A5E5; }
.kenji-menu .kenji-nav-agenda > .wp-block-navigation-item__content { border-bottom-color: #FF004C; }
.kenji-menu .kenji-nav-quem > .wp-block-navigation-item__content { border-bottom-color: #FFFFFF; }
.kenji-menu .wp-block-navigation-item__content:hover { text-decoration: none; }

/* Faixa da seção logo abaixo do cabeçalho (matéria e páginas de seção) */
.kenji-faixa-olimpico .kenji-header { border-bottom: 6px solid #34EA8F; }
.kenji-faixa-paralimpico .kenji-header { border-bottom: 6px solid #FFE04C; }
.kenji-faixa-futebol .kenji-header { border-bottom: 6px solid #03A5E5; }
.kenji-faixa-agenda .kenji-header { border-bottom: 6px solid #FF004C; }

@media (max-width: 781px) {
	.kenji-header .kenji-menu { order: 99; margin-right: 0; }
	.kenji-header .wp-block-social-links { margin-left: auto; }
	.kenji-header .wp-block-site-logo img { width: 56px !important; }
}

/* ---------- Pílulas: seção (tag) e modalidade (categoria) ---------- */
.kenji-pills { gap: 6px; }
.wp-block-post-terms { display: inline-flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.wp-block-post-terms__separator { display: none; }
.wp-block-post-terms a {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--figtree);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.4;
	text-transform: uppercase;
	text-decoration: none !important;
	color: #111111;
}
.taxonomy-post_tag a { background: #F4F4F4; }
.taxonomy-post_tag a[href*="/secao/olimpico"] { background: #34EA8F; }
.taxonomy-post_tag a[href*="/secao/paralimpico"] { background: #FFE04C; }
.taxonomy-category a { border: 1px solid #111111; padding: 3px 11px; font-weight: 700; }
.taxonomy-category a[href$="/futebol/"] { background: #03A5E5; border-color: #03A5E5; font-weight: 800; }

/* ---------- Botões em pílula e faixa do celular ---------- */
.wp-block-button__link { border-radius: 999px; }
.so-celular {
	flex-wrap: nowrap !important;
	overflow-x: auto;
	gap: 8px;
	padding: 10px 16px;
	margin: 0 !important;
	border-bottom: 1px solid #E6E6E6;
	justify-content: flex-start;
}
.so-celular .wp-block-button { flex-shrink: 0; }
.so-celular .wp-block-button__link {
	padding: 7px 14px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
@media (min-width: 782px) { .so-celular { display: none !important; } }
@media (max-width: 781px) { .sem-threads-celular { display: none !important; } }

/* ---------- Títulos de seção (faixa colorida em cima) ---------- */
.kenji-secao {
	border-top: 6px solid #111111;
	padding-top: 10px;
	margin-bottom: 4px;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 24px;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0;
}
.kenji-secao a { text-decoration: none; }
.kenji-secao.olimpico { border-top-color: #34EA8F; }
.kenji-secao.paralimpico { border-top-color: #FFE04C; }
.kenji-secao.futebol { border-top-color: #03A5E5; }

/* ---------- Manchete ---------- */
.kenji-manchete { font-size: clamp(30px, 4.5vw, 46px); line-height: 1.04; margin: 0; }
.kenji-linha-fina, .kenji-linha-fina p { color: #4A4A4A; font-size: 18px; line-height: 1.45; }
.kenji-linha-fina .wp-block-post-excerpt__more-text { display: none; }
.kenji-byline { color: #5B5B5B; font-size: 13px; gap: 4px; }
.kenji-byline a { color: #5B5B5B; }

/* ---------- Listas de notícias ---------- */
.kenji-lista .wp-block-post { padding: 16px 0; border-bottom: 1px solid #E6E6E6; margin: 0; }
.kenji-lista .wp-block-post:last-child { border-bottom: 0; }
.kenji-lista .kenji-item { gap: 14px; align-items: flex-start; }
.kenji-lista .kenji-item .wp-block-post-featured-image { flex-shrink: 0; width: 104px; margin: 0; }
.kenji-lista .kenji-item .wp-block-post-featured-image img { width: 104px; height: 78px; object-fit: cover; }
.kenji-titulo-lista { font-family: var(--wp--preset--font-family--figtree); font-size: 17px; font-weight: 700; line-height: 1.22; margin: 0; letter-spacing: 0; }
.kenji-data { color: #5B5B5B; font-size: 12px; }
.kenji-grade .wp-block-post-featured-image { margin-bottom: 12px; }
.kenji-titulo-card { font-size: 19px; line-height: 1.18; margin: 8px 0 0; }
.kenji-vazio { color: #5B5B5B; font-size: 15px; }

/* ---------- Matéria ---------- */
.kenji-materia > .wp-block-post-title { font-size: clamp(32px, 4.5vw, 48px); line-height: 1.04; }
.kenji-materia .kenji-lista .kenji-titulo-lista { font-size: 17px; line-height: 1.22; }
.kenji-materia .kenji-foto-materia { margin-top: 8px; }
.kenji-materia .kenji-foto-materia img { border-radius: 0; }
.kenji-materia .wp-block-post-content { font-size: 18px; line-height: 1.65; }
.kenji-materia .wp-block-post-content h2 { font-size: 26px; margin-top: 1.6em; }
.kenji-materia figcaption, .kenji-materia .wp-element-caption { color: #5B5B5B; font-size: 13px; }
.kenji-materia blockquote {
	border-left: 0;
	margin: 1.5em 0;
	padding: 0;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
}

/* ---------- Bloco do WhatsApp ---------- */
.kenji-zap { border-radius: 0; }
.kenji-zap h2 { text-transform: uppercase; font-weight: 900; }

/* ---------- Rodapé ---------- */
.kenji-footer .kenji-slogan { font-family: var(--wp--preset--font-family--outfit); font-size: 20px; font-weight: 700; margin: 0; }
.kenji-footer .kenji-links a { color: #FFFFFF; font-size: 15px; }
.kenji-footer .kenji-copy { color: #A8A8A8; font-size: 12px; margin-top: 32px; }
.kenji-footer .wp-block-social-links .wp-social-link a { padding: 8px; }

/* ---------- Páginas fixas (Quem somos, Agenda, Contato, Política) ---------- */
.kenji-pagina p { font-size: 17px; line-height: 1.6; margin: 0 0 14px; }
.kq-topo { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 44px; }
.kq-foto { width: 120px; height: 120px; border-radius: 60px; object-fit: cover; }
.kq-selo { padding: 5px 12px; border-radius: 999px; background: #FFE04C; font-size: 11px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.kq-nome { margin: 0; font-size: clamp(40px, 6vw, 56px); line-height: 1.02; font-weight: 800; }
.kq-intro, .kenji-pagina .kq-intro { font-size: 18px; line-height: 1.45; color: #333333; }
.kq-botao { display: inline-flex; align-items: center; min-height: 48px; padding: 0 22px; border-radius: 999px; background: #111111; color: #FFFFFF !important; font-size: 15px; font-weight: 800; text-decoration: none !important; }
.kq-bloco { margin: 0 0 44px; display: flex; flex-direction: column; gap: 4px; }
.kq-bloco .kenji-secao { margin: 0 0 12px; }
.kq-rotulo { display: block; margin-top: 8px; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #5B5B5B; }
.kq-pilulas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.kq-pilulas span { padding: 7px 14px; border-radius: 999px; border: 1px solid #111111; font-size: 13px; font-weight: 700; }
.kq-trabalhos { background: #111111; color: #FFFFFF; margin: 0 -16px 44px; padding: 24px 16px 36px; display: grid; gap: 22px; }
.kq-trabalhos .kenji-secao { border-top-color: #FFFFFF; color: #FFFFFF; margin: 0; }
.kq-video { display: flex; flex-direction: column; gap: 8px; color: #FFFFFF !important; text-decoration: none !important; }
.kq-play { aspect-ratio: 16/9; border-radius: 16px; background: #2E2E2E url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Ccircle cx='28' cy='28' r='28' fill='%23fff'/%3E%3Cpolygon points='23,18 38,28 23,38' fill='%23111'/%3E%3C/svg%3E") center / 56px no-repeat; }
.kq-video strong { font-family: var(--wp--preset--font-family--outfit); font-size: 18px; font-weight: 800; line-height: 1.2; }
.kq-video small { font-size: 13px; color: #BDBDBD; }
.kq-cartao { border: 1px solid #E6E6E6; border-radius: 20px; padding: 16px; display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.kq-cartao strong, .kq-regra strong { font-family: var(--wp--preset--font-family--outfit); font-size: 17px; font-weight: 800; }
.kq-cartao span, .kq-regra span { font-size: 15px; line-height: 1.45; color: #4A4A4A; }
.kq-bloco .kq-botao { align-self: flex-start; margin-top: 8px; }
.kq-expediente { background: #F4F4F4; border-radius: 20px; padding: 20px; margin: 0 0 44px; }
.kq-expediente h2 { margin: 0 0 8px; font-size: 20px; font-weight: 900; text-transform: uppercase; }
.kq-expediente div { display: flex; flex-direction: column; gap: 2px; padding: 10px 0; border-bottom: 1px solid #E0E0E0; }
.kq-expediente div:last-child { border-bottom: 0; }
.kq-expediente span { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #5B5B5B; }
.kq-expediente strong { font-size: 15px; font-weight: 600; }
.kq-regra { display: flex; flex-direction: column; gap: 3px; margin-bottom: 12px; }
@media (min-width: 782px) { .kq-trabalhos { grid-template-columns: 1fr 1fr; border-radius: 20px; margin: 0 0 44px; padding: 28px; } .kq-trabalhos .kenji-secao { grid-column: 1 / -1; } }

/* Agenda */
.ka-titulo { margin: 0 0 10px; font-size: clamp(38px, 6vw, 52px); line-height: 1; font-weight: 900; text-transform: uppercase; }
.kenji-pagina .ka-intro { font-size: 17px; line-height: 1.45; color: #333333; margin-bottom: 6px; }
.kenji-pagina .ka-data { font-size: 13px; color: #5B5B5B; margin-bottom: 20px; }
.ka-filtros { display: flex; flex-wrap: wrap; gap: 8px; }
.ka-filtros input { position: absolute; opacity: 0; pointer-events: none; }
.ka-filtros label { cursor: pointer; padding: 7px 14px; border-radius: 999px; border: 2px solid transparent; background: #F4F4F4; font-size: 12px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.ka-filtros label.o { background: #34EA8F; }
.ka-filtros label.p { background: #FFE04C; }
.ka-filtros label.f { background: #03A5E5; }
.ka-filtros input:checked + label { border-color: #111111; }
.ka-filtros #ka-todas:checked + label { background: #111111; color: #FFFFFF; }
.ka-filtros input:focus-visible + label { outline: 2px solid #111111; outline-offset: 2px; }
.ka-meses { flex-basis: 100%; }
#ka-o:checked ~ .ka-meses .ka-ev:not(.o),
#ka-p:checked ~ .ka-meses .ka-ev:not(.p),
#ka-f:checked ~ .ka-meses .ka-ev:not(.f),
#ka-o:checked ~ .ka-meses .ka-mes:not(:has(.o)),
#ka-p:checked ~ .ka-meses .ka-mes:not(:has(.p)),
#ka-f:checked ~ .ka-meses .ka-mes:not(:has(.f)) { display: none; }
.ka-mes { padding-top: 24px; }
.ka-mes .kenji-secao { margin: 0 0 4px; }
.ka-ev { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px solid #E6E6E6; }
.ka-quando { flex-shrink: 0; width: 72px; display: flex; flex-direction: column; gap: 2px; }
.ka-quando b { font-family: var(--wp--preset--font-family--outfit); font-size: 18px; font-weight: 800; line-height: 1.1; }
.ka-quando span { font-size: 12px; font-weight: 700; color: #5B5B5B; text-transform: uppercase; }
.ka-info { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.ka-pills { display: flex; flex-wrap: wrap; gap: 4px; }
.ka-pills span { padding: 3px 9px; border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.ka-pills .mod { border: 1px solid #111111; padding: 2px 9px; font-weight: 700; }
.ka-ev.o .sec { background: #34EA8F; }
.ka-ev.p .sec { background: #FFE04C; }
.ka-ev.f .sec { background: #03A5E5; }
.ka-info strong { font-family: var(--wp--preset--font-family--outfit); font-size: 17px; font-weight: 800; line-height: 1.2; }
.ka-info small { font-size: 14px; line-height: 1.4; color: #4A4A4A; }
.kenji-pagina .ka-nota { margin-top: 20px; font-size: 13px; line-height: 1.5; color: #5B5B5B; }

/* Política */
.kenji-texto h2 { font-size: 22px; margin: 32px 0 10px; }

/* Imagens dentro do texto (Editor clássico) na largura da coluna */
.wp-block-post-content .wp-caption,
.wp-block-post-content figure {
  width: 100% !important;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
}
.wp-block-post-content img:not(.emoji) {
  width: 100%;
  height: auto;
}
.wp-block-post-content .wp-caption-text {
  font-size: .85rem;
  margin-top: .5rem;
}

/* kenji: negrito no corpo do texto */
.wp-block-post-content strong,
.wp-block-post-content b {
  font-weight: 700;
}

/* ---------- Compartilhar (matéria) ---------- */
.kenji-compartilhar { display: flex; align-items: center; gap: 10px; margin: 4px 0 10px; }
.kenji-zap-btn, .kenji-copiar {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; padding: 0; border-radius: 50%;
	text-decoration: none !important; cursor: pointer;
}
.kenji-zap-btn { background: #25D366; color: #FFFFFF !important; }
.kenji-zap-btn:hover { background: #1FC15B; }
.kenji-copiar { border: 1.5px solid #111111; background: #FFFFFF; color: #111111; }
.kenji-copiar:hover { background: #F4F4F4; }
.kenji-zap-btn:focus-visible, .kenji-copiar:focus-visible { outline: 2px solid #111111; outline-offset: 3px; }
.kenji-copiado { font-size: 13px; font-weight: 700; color: #111111; }

/* Botão de e-mail da página Contato alinhado com o texto */
.kenji-pagina .kq-acao { margin: 8px 0 44px; }

/* ---------- Página de links (bio das redes): kenji.news/links ---------- */
body.kenji-pagina-links { background: #111111; }
.kenji-links-pagina { min-height: 100vh; color: #FFFFFF; text-align: center; }
.kl-perfil { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.kl-foto { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; border: 3px solid #FFFFFF; }
.kenji-links-pagina .kl-nome { font-family: var(--wp--preset--font-family--outfit); font-size: 28px; font-weight: 900; line-height: 1.05; color: #FFFFFF; margin: 4px 0 0; }
.kenji-links-pagina .kl-slogan { font-family: var(--wp--preset--font-family--figtree); font-size: 17px; font-weight: 600; line-height: 1.4; color: #D6D6D6; margin: 0 0 8px; max-width: 320px; }
.kenji-links-pagina .kl-botoes + .kl-titulo, .kenji-links-pagina .kl-titulo { margin-top: 22px; margin-bottom: 10px; }
.kenji-links-pagina .kl-titulo { font-family: var(--wp--preset--font-family--figtree); font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: #A8A8A8; margin: 12px 0 0; }
.kl-botoes { display: flex; flex-direction: column; gap: 10px; }
.kl-botoes a {
	display: flex; align-items: center; justify-content: center;
	min-height: 52px; padding: 0 20px; border-radius: 999px;
	border: 1.5px solid #FFFFFF; color: #FFFFFF !important;
	font-size: 16px; font-weight: 800; text-decoration: none !important;
}
.kl-botoes a:hover { background: #222222; }
.kl-botoes a.kl-principal { background: #FFFFFF; color: #111111 !important; }
.kl-botoes a.kl-youtube { background: #FF004C; border-color: #FF004C; color: #111111 !important; }
.kl-botoes a.kl-youtube:hover { background: #E60044; }
.kl-botoes a.kl-principal:hover { background: #E6E6E6; }
.kl-botoes a:focus-visible { outline: 2px solid #FFFFFF; outline-offset: 3px; }
.kl-noticias .wp-block-post-template { display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; }
.kl-noticias .wp-block-post { border: 1px solid #333333; border-radius: 16px; padding: 14px 16px; text-align: left; margin: 0; }
.kl-noticias .wp-block-post-title { font-family: var(--wp--preset--font-family--figtree); font-size: 16px; font-weight: 700; line-height: 1.3; margin: 0 0 6px; }
.kl-noticias .wp-block-post-title a { color: #FFFFFF; text-decoration: none; }
.kl-noticias .wp-block-post-date { color: #A8A8A8; font-size: 12px; }
.kenji-links-pagina .kl-rodape { color: #A8A8A8; font-size: 12px; margin-top: 16px; }

/* ---------- Cabeçalho fixo ao rolar (celular e desktop) ---------- */
/* Só a barra preta fica presa. O <header> vira "transparente" para o layout,
   então a barra preta pode ficar presa durante a página inteira, e a faixa
   de botões das seções (celular) rola junto com o conteúdo. */
.wp-site-blocks > header.wp-block-template-part { display: contents; }
.kenji-header {
	position: sticky;
	top: 0;
	z-index: 100;
}
@media (min-width: 783px) {
	body.admin-bar .kenji-header { top: 32px; }
}
/* Âncoras (#contato etc.) não ficam escondidas atrás do cabeçalho */
[id] { scroll-margin-top: 96px; }

/* ---------- Card do autor (página de autor) ---------- */
.kenji-autor {
	display: flex; gap: 18px; align-items: flex-start;
	margin-top: 40px; padding: 20px; border-radius: 20px; background: #F4F4F4;
}
.kenji-autor-foto { flex-shrink: 0; width: 88px; height: 88px; border-radius: 50%; object-fit: cover; }
.kenji-autor-texto { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.kenji-autor-rotulo { font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #5B5B5B; }
.kenji-autor-nome { font-family: var(--wp--preset--font-family--outfit); font-size: 22px; font-weight: 800; line-height: 1.1; }
.kenji-autor-bio { font-size: 15px; line-height: 1.5; color: #333333; margin: 4px 0 0; }
.kenji-autor-redes { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 8px; }
.kenji-autor-redes a { font-size: 14px; font-weight: 700; color: #111111; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 520px) {
	.kenji-autor { flex-direction: column; align-items: center; text-align: center; }
	.kenji-autor-redes { justify-content: center; }
}

/* ---------- Legendas: imagem destacada e fotos no corpo do texto ---------- */
.kenji-materia .kenji-foto-materia .kenji-legenda,
.kenji-materia .wp-block-post-content figcaption,
.kenji-materia .wp-block-post-content .wp-caption-text {
	display: block;
	margin: 8px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: #5B5B5B;
	text-align: left;
}

/* ---------- "Leia também" no meio da matéria ----------
   HTML: <p class="kenji-leia"><strong>Leia também</strong><a href="...">Título</a></p> */
.wp-block-post-content .kenji-leia {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 28px 0;
	padding: 12px 16px;
	border-left: 4px solid #111111;
	background: #F4F4F4;
	font-size: 16px;
	line-height: 1.35;
}
.wp-block-post-content .kenji-leia strong {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #5B5B5B;
}
.wp-block-post-content .kenji-leia a {
	font-family: var(--wp--preset--font-family--figtree);
	font-weight: 700;
	color: #111111;
	text-decoration: none;
}
.wp-block-post-content .kenji-leia a:hover { text-decoration: underline; }
.kenji-faixa-olimpico .wp-block-post-content .kenji-leia { border-left-color: #34EA8F; }
.kenji-faixa-paralimpico .wp-block-post-content .kenji-leia { border-left-color: #FFE04C; }
.kenji-faixa-futebol .wp-block-post-content .kenji-leia { border-left-color: #03A5E5; }

/* ---------- Manchete da home no desktop: título visível sem rolar ---------- */
@media (min-width: 782px) {
	.kenji-manchete-foto,
	.kenji-manchete-foto a { display: block; }
	.kenji-manchete-foto img {
		aspect-ratio: auto !important;
		width: 100% !important;
		height: min(46vh, 440px) !important;
		object-fit: cover;
		object-position: center 30%;
	}
}
