/*
Theme Name:     Twenty Twenty-Five Child
Theme URI:      https://jaimemasc.com/
Description:    Child theme for the Twenty Twenty-Five theme
Author:         Jaime Mascarenhas
Author URI:     https://jaimemasc.com/
Template:       twentytwentyfive
Version:        2.1.0
Tags:           block-template
Text Domain:    twentytwentyfive-child
*/

/*
CSS conservador:
- Não altera as larguras globais do Twenty Twenty-Five.
- Não redefine content-size ou wide-size.
- Não força largura em main, alignfull, alignwide ou wp-site-blocks.
- Não altera grades, colunas, gaps, Post Template ou responsividade dos Query Loops.
- Home, arquivos, busca e relacionados usam integralmente a grade do Gutenberg.
*/

:root {
	--xv-accent: #d20a12;
	--xv-accent-hover: #b4070d;
	--xv-text: #202020;
	--xv-muted: #777777;
	--xv-line: #e5e5e5;
	--xv-soft: #f5f5f5;
	--xv-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, Helvetica, sans-serif;
}

/* ==========================================================
   POST INDIVIDUAL
========================================================== */

.video-single {
	overflow-x: clip;
}


.video-single__main {
	min-width: 0;
}

.video-single__title {
	margin: 0 0 8px;
	font-size: clamp(24px, 2.4vw, 36px);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.5px;
	overflow-wrap: anywhere;
}

.video-single__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 7px;
	margin: 0 0 16px;
	color: #777;
	font-size: 12px;
	line-height: 1.4;
}

.video-single__meta p,
.video-single__meta .wp-block-post-author-name,
.video-single__meta .wp-block-post-terms,
.video-single__meta .wp-block-post-date {
	margin: 0;
}

.video-single__meta a {
	color: #555;
	text-decoration: none;
}

.video-single__meta a:hover {
	color: #d20a12;
	text-decoration: underline;
}

.video-single__meta .wp-block-post-date {
	margin-left: auto;
}

.video-single__content {
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	margin-top: 0;
	overflow-x: hidden;
	color: #383838;
	font-size: 14px;
	line-height: 1.65;
}

.video-single__content > :first-child {
	margin-top: 0;
}

.video-single__content > :last-child {
	margin-bottom: 0;
}

/*
 * Todos os filhos do conteúdo devem poder encolher.
 * Isso neutraliza wrappers criados por plugins e HTML personalizado.
 */
.video-single__content *,
.video-single__content *::before,
.video-single__content *::after {
	box-sizing: border-box;
	max-width: 100%;
}

.video-single__content > *,
.video-single__content :where(
	.wp-block-html,
	.wp-block-embed,
	.wp-block-video,
	.wp-block-embed__wrapper,
	figure,
	div,
	p
) {
	min-width: 0;
}

/*
 * Blocos que normalmente carregam o player.
 * Não depende de :has(), portanto funciona também em navegadores antigos.
 */
.video-single__content > .wp-block-html,
.video-single__content > .wp-block-embed,
.video-single__content > .wp-block-video,
.video-single__content > figure.wp-block-embed {
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	overflow: hidden;
}

/* Player responsivo */
.video-single__content iframe,
.video-single__content video,
.video-single__content object,
.video-single__content embed {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 !important;
	border: 0 !important;
	aspect-ratio: 16 / 9;
}

/* Sobrescreve width/height escritos diretamente no HTML. */
.video-single__content iframe[width],
.video-single__content video[width],
.video-single__content object[width],
.video-single__content embed[width],
.video-single__content [style*="width"] {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

/*
 * Alguns códigos colocam o iframe dentro de um div com largura fixa.
 * O wrapper passa a acompanhar a largura disponível.
 */
.video-single__content .wp-block-html > div,
.video-single__content .wp-block-embed__wrapper,
.video-single__content figure.wp-block-embed > div {
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	overflow: hidden;
}

/* Preserva 16:9 quando o player estiver dentro dos wrappers comuns. */
.video-single__content .wp-block-html > iframe,
.video-single__content .wp-block-html > div > iframe,
.video-single__content .wp-block-embed__wrapper > iframe,
.video-single__content figure.wp-block-embed iframe {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
}@media (max-width: 620px) {
	.video-single__content {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	.video-single__content iframe,
	.video-single__content video,
	.video-single__content object,
	.video-single__content embed {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		aspect-ratio: 16 / 9;
	}
}

.video-single__tags {
	margin-top: 20px;
	padding-top: 14px;
	border-top: 1px solid #e5e5e5;
}

.video-single__tags .wp-block-post-terms {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
}

.video-single__tags .wp-block-post-terms a {
	display: inline-flex;
	align-items: center;
	min-height: 27px;
	padding: 4px 9px;
	background: #f3f3f3;
	border: 1px solid #e2e2e2;
	border-radius: 999px;
	color: #555;
	font-size: 11px;
	line-height: 1;
	text-decoration: none;
}

.video-single__tags .wp-block-post-terms a:hover {
	background: #eaeaea;
	color: #d20a12;
}

.video-single__related {
	margin-top: 38px;
	padding-top: 20px;
	border-top: 1px solid #e5e5e5;
}

.video-single__section-title {
	margin: 0 0 14px;
	font-size: 19px;
	font-weight: 600;
	line-height: 1.3;
}

.video-single__navigation {
	margin-top: 34px;
	padding-top: 16px;
	border-top: 1px solid #e5e5e5;
}

.video-single__navigation nav {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 16px;
}

.video-single__navigation .wp-block-post-navigation-link {
	flex: 1 1 0;
	min-width: 0;
}

.video-single__navigation .wp-block-post-navigation-link:last-child {
	text-align: right;
}

.video-single__navigation a {
	display: block;
	padding: 10px 12px;
	background: #f5f5f5;
	border-radius: 4px;
	color: #444;
	font-size: 12px;
	line-height: 1.4;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.video-single__navigation a:hover {
	background: #ededed;
	color: #d20a12;
}

.video-single__comments {
	margin-top: 42px;
	padding-top: 22px;
	border-top: 1px solid #e5e5e5;
}

.video-single__comments > .wp-block-heading {
	margin: 0 0 18px;
	font-size: 20px;
	font-weight: 600;
}

.video-comment {
	margin: 0;
	padding: 15px 0;
	border-bottom: 1px solid #ededed;
}

.video-comment .wp-block-avatar img {
	border-radius: 50%;
}

.video-comment .wp-block-comment-author-name {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
}

.video-comment .wp-block-comment-date {
	margin: 2px 0 8px;
	color: #999;
	font-size: 11px;
}

.video-comment .wp-block-comment-content {
	color: #444;
	font-size: 13px;
	line-height: 1.55;
}

.video-single__comments textarea {
	max-width: 100%;
}@media (max-width: 860px) {
	.video-single__title {
		font-size: 24px;
	}

	
}@media (max-width: 620px) {
	.video-single__title {
		font-size: 20px;
	}

	.video-single__meta {
		font-size: 11px;
	}

	.video-single__meta .wp-block-post-date {
		width: 100%;
		margin-left: 0;
	}

	.video-single__content {
		font-size: 13px;
	}

	.video-single__navigation nav {
		flex-direction: column;
		gap: 8px;
	}

	.video-single__navigation .wp-block-post-navigation-link:last-child {
		text-align: left;
	}
}
/* ==========================================================
   CABEÇALHO
========================================================== */

.portal-header {
	position: relative;
	z-index: 100;
	margin: 0;
	padding: 0;
	background: #fff;
	border-bottom: 1px solid #d9d9d9;
	color: #222;
	font-family: var(--xv-font);
}

.portal-header,
.portal-header > *,
.portal-header .wp-block-search,
.portal-header .wp-block-navigation,
.portal-header .wp-block-tag-cloud {
	margin-block-start: 0;
	margin-block-end: 0;
}

.portal-header-main {
	display: flex !important;
	min-height: 52px;
	align-items: center !important;
	flex-wrap: nowrap !important;
	gap: 16px !important;
}

.portal-header-logo {
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 0;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	letter-spacing: -0.8px;
	white-space: nowrap;
}

.portal-header-logo a {
	color: #171717 !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	text-decoration: none !important;
}

.portal-header-search {
	flex: 1 1 400px;
	min-width: 180px;
	margin: 0 !important;
}

.portal-header-search .wp-block-search__inside-wrapper {
	display: flex;
	min-height: 36px;
	padding: 0 !important;
	overflow: hidden;
	background: #f4f4f4;
	border: 1px solid #cfcfcf !important;
	border-radius: 3px !important;
	box-shadow: none !important;
}

.portal-header-search .wp-block-search__input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 34px;
	padding: 7px 11px !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #222;
	font-size: 13px;
	outline: 0 !important;
	box-shadow: none !important;
}

.portal-header-search .wp-block-search__button {
	display: flex;
	flex: 0 0 44px;
	min-width: 44px;
	min-height: 34px;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
	background: #292929 !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #fff !important;
	box-shadow: none !important;
}

.portal-header-search .wp-block-search__button:hover {
	background: var(--xv-accent) !important;
}

.portal-header-navigation {
	flex: 0 1 auto;
	margin: 0 0 0 auto !important;
	font-size: 12px;
}

.portal-header-navigation .wp-block-navigation__container {
	flex-wrap: nowrap !important;
	gap: 2px !important;
}

.portal-header-navigation .wp-block-navigation-item__content {
	padding: 7px 8px !important;
	border-radius: 3px;
	color: #333 !important;
	font-size: 12px;
	text-decoration: none !important;
	white-space: nowrap;
}

.portal-header-navigation .wp-block-navigation-item__content:hover,
.portal-header-navigation .current-menu-item > .wp-block-navigation-item__content {
	background: #eee;
	color: var(--xv-accent) !important;
}

.portal-header-tags {
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: #f3f3f3;
	border-top: 1px solid #e8e8e8;
	border-bottom: 1px solid #dcdcdc;
}

.portal-tag-cloud {
	display: flex !important;
	min-height: 34px;
	align-items: stretch;
	flex-wrap: nowrap !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow-x: auto;
	overflow-y: hidden;
	line-height: 1;
	scrollbar-width: thin;
}

.portal-tag-cloud a {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	min-height: 34px;
	margin: 0 !important;
	padding: 6px 10px !important;
	border-right: 1px solid #ddd;
	color: #484848 !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	white-space: nowrap;
}

.portal-tag-cloud a:hover {
	background: #e5e5e5;
	color: var(--xv-accent) !important;
}

.portal-header .wp-block-navigation__responsive-container-open {
	display: inline-flex;
	min-width: 34px;
	min-height: 34px;
	align-items: center;
	justify-content: center;
	padding: 6px;
	background: transparent;
	border: 0;
	border-radius: 3px;
	color: #222;
}

.portal-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: 18px !important;
	background: #fff !important;
	color: #222 !important;
}@media (max-width: 1100px) {
	.portal-header-main {
		flex-wrap: wrap !important;
		gap: 7px 12px !important;
	}

	.portal-header-search {
		order: 3;
		flex: 1 0 100%;
	}

	.portal-header-navigation {
		margin-left: auto !important;
	}
}@media (max-width: 700px) {
	.portal-header-main {
		padding-top: 7px !important;
		padding-bottom: 7px !important;
	}

	.portal-header-logo {
		max-width: calc(100% - 55px);
		overflow: hidden;
		font-size: 20px !important;
		text-overflow: ellipsis;
	}

	.portal-header-search {
		min-width: 0;
	}

	.portal-tag-cloud a {
		min-height: 32px;
		padding-right: 9px !important;
		padding-left: 9px !important;
		font-size: 11px !important;
	}
}

/* ==========================================================
   CONTÊINER DO CATÁLOGO
   Não altera colunas, gaps ou a grade do Gutenberg.
========================================================== */

.catalog-container,
.wp-block-query.catalog-container,
.wp-block-query.alignfull.catalog-container {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 1200px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: 20px;
	padding-left: 20px;
}

/* Impede o alignfull do Gutenberg de aplicar margens negativas. */
.wp-block-query.alignfull.catalog-container {
	left: auto !important;
	right: auto !important;
}

@media (max-width: 700px) {
	.catalog-container,
	.wp-block-query.catalog-container,
	.wp-block-query.alignfull.catalog-container {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 10px;
		padding-left: 10px;
	}
}

@media (max-width: 380px) {
	.catalog-container,
	.wp-block-query.catalog-container,
	.wp-block-query.alignfull.catalog-container {
		padding-right: 8px;
		padding-left: 8px;
	}
}