/*
 * Estilos do Ultimate Member no tema escuro (cadastro, conta, perfil e diretório).
 * Arquivo mantido pela sessão de cadastro/perfis; o style.css fica com o restante do tema.
 * Carregado pelo functions.php depois dos estilos do UM.
 */

/* Ultimate Member: contraste na paleta escura (só cores; o layout do UM fica como está). */
.um,
.um .um-field-label,
.um .um-field-label label,
.um .um-field-checkbox-option,
.um .um-field-radio-option,
.um .um-field-value,
.um .um-member-name a,
.um-profile.um .um-name a,
.um .um-account-meta,
.um .um-account-name a,
.um .um-account-side li a span.um-account-title,
.um .um-member-directory-search-line label,
.um .um-member-directory-filters-a,
.um .um-member-directory-filters-a a,
.um .um-members-filter-tag,
.um .um-member-directory-header,
.um .um-members-pagi,
.um .um-members-pagi a,
.um .um-members-pagi span {
	color: var(--wp--preset--color--contrast);
}

.um .um-member-tagline,
.um .um-member-meta,
.um-profile.um .um-profile-meta,
.um .um-field-error,
.um .um-tip,
.um span.um-req,
.um .um-field-icon i,
.um-profile.um .um-profile-headericon a,
.um .um-clear-filters-a,
.um-profile.um .um-profile-nav-item a {
	color: var(--wp--preset--color--accent-4);
}

.um .um-member,
.um .um-members-filter-tag,
.um-profile.um .um-profile-body,
.um-profile.um .um-header,
.um-profile.um .um-profile-nav,
.um .um-account-main,
.um .um-account-side,
.um .um-account-side li a,
.um .um-account-meta {
	background-color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--accent-5);
}

.um .um-form input[type=text],
.um .um-form input[type=email],
.um .um-form input[type=date],
.um .um-form input[type=time],
.um .um-form input[type=url],
.um .um-form input[type=search],
.um .um-form input[type=tel],
.um .um-form input[type=number],
.um .um-form input[type=password],
.um .um-form textarea,
.um .um-form select,
.um .um-search-line,
.select2-container .select2-choice,
.select2-container-multi .select2-choices {
	background-color: var(--wp--preset--color--accent-5) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid var(--wp--preset--color--accent-4) !important;
}

.um .um-form ::placeholder,
.select2-container .select2-selection__placeholder {
	color: var(--wp--preset--color--accent-4) !important;
	opacity: 1;
}

.um .um-form input:-webkit-autofill {
	-webkit-box-shadow: 0 0 0 50px var(--wp--preset--color--accent-5) inset;
	-webkit-text-fill-color: var(--wp--preset--color--contrast);
}

.select2-container .select2-selection__rendered,
.select2-results__option,
.select2-container--default .select2-selection--multiple .select2-selection__choice {
	color: var(--wp--preset--color--contrast) !important;
	background-color: var(--wp--preset--color--accent-5);
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: var(--wp--preset--color--accent-2) !important;
}

.um input[type=submit].um-button,
.um a.um-button,
.um .um-button {
	background: var(--wp--preset--color--accent-2) !important;
	color: var(--wp--preset--color--contrast) !important;
}

.um input[type=submit].um-button:hover,
.um a.um-button:hover {
	background-color: var(--wp--preset--color--accent-1) !important;
}

.um .um-button.um-alt,
.um input[type=submit].um-button.um-alt {
	background: var(--wp--preset--color--accent-5) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid var(--wp--preset--color--accent-4);
}

/* Botões do editor do perfil em /conta/ (ministerio-conta-botoes.php): <button>, que o CSS do UM não estiliza. */
.um .mm-conta-botoes {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding-top: 10px;
}

.um .mm-conta-botoes button.um-button {
	flex: 1 1 120px;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 14px 20px;
	border: 0;
	border-radius: 5px;
	font: inherit;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
}

.um .mm-conta-botoes button.um-button.um-alt {
	border: 1px solid var(--wp--preset--color--accent-4);
}

.um .mm-conta-botoes button.um-button:hover,
.um .mm-conta-botoes button.um-button:focus-visible {
	background-color: var(--wp--preset--color--accent-1) !important;
}

.um .mm-conta-botoes-ajuda {
	flex-basis: 100%;
	margin: 0;
	font-size: 0.875em;
	opacity: 0.8;
}

.um a.um-link,
.um .um-field-value a,
.um .um-member-more a,
.um .um-member-less a {
	color: var(--wp--preset--color--accent-3);
}

.um .um-members-pagi span.current,
.um-profile.um .um-profile-nav-item.active a {
	background: var(--wp--preset--color--accent-2);
	color: var(--wp--preset--color--contrast);
}

/* Select2 do UM (campos do formulário e filtros do diretório). As regras do UM usam
   ".um-field .select2.select2-container .select2-selection" com !important; aqui a especificidade é maior. */
.um .um-field .select2.select2-container .select2-selection,
.um .um-search-filter .select2.select2-container .select2-selection,
.um .um-field .select2-container--default .select2-selection--single,
.um .um-field .select2-container--default .select2-selection--multiple,
.um .um-search-filter .select2-container--default .select2-selection--single,
.um .um-search-filter .select2-container--default .select2-selection--multiple {
	background: var(--wp--preset--color--accent-5) !important;
	border: 1px solid var(--wp--preset--color--accent-4) !important;
	color: var(--wp--preset--color--contrast) !important;
}

.um .um-field .select2-container--default .select2-selection__rendered,
.um .um-search-filter .select2-container--default .select2-selection__rendered {
	color: var(--wp--preset--color--contrast) !important;
	background: transparent !important;
}

.um .um-field .select2-container--default .select2-selection__placeholder,
.um .um-search-filter .select2-container--default .select2-selection__placeholder {
	color: var(--wp--preset--color--accent-4) !important;
}

/* Campo de digitação dentro da seleção múltipla: transparente e sem borda. */
.um .um-field .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline > input,
.um .um-search-filter .select2-container--default .select2-selection--multiple .select2-search.select2-search--inline > input,
.um .um-field .select2-container--default .select2-selection--multiple .select2-search__field,
.um .um-search-filter .select2-container--default .select2-selection--multiple .select2-search__field {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: var(--wp--preset--color--contrast) !important;
}

/* Opções já escolhidas na seleção múltipla. */
.um .um-field .select2-container--default .select2-selection--multiple .select2-selection__rendered li.select2-selection__choice,
.um .um-search-filter .select2-container--default .select2-selection--multiple .select2-selection__rendered li.select2-selection__choice {
	background: var(--wp--preset--color--accent-2) !important;
	border: 1px solid var(--wp--preset--color--accent-3) !important;
	color: var(--wp--preset--color--contrast) !important;
}

.um .um-field .select2-container--default .select2-selection__choice__remove,
.um .um-search-filter .select2-container--default .select2-selection__choice__remove,
.um .um-field .select2-container--default .select2-selection__clear,
.um .um-search-filter .select2-container--default .select2-selection__clear {
	color: var(--wp--preset--color--accent-3) !important;
}

/* Seta. */
.um .um-field .select2.select2-container .select2-selection .select2-selection__arrow:before,
.um .um-search-filter .select2.select2-container .select2-selection .select2-selection__arrow:before {
	color: var(--wp--preset--color--contrast) !important;
}

.um .um-field .select2-container--default .select2-selection--single .select2-selection__arrow b,
.um .um-search-filter .select2-container--default .select2-selection--single .select2-selection__arrow b {
	border-top-color: var(--wp--preset--color--contrast) !important;
}

/* Lista aberta (o select2 pode anexá-la ao body ou dentro do campo). */
.select2-container--open .select2-dropdown,
.um .um-field .select2-container.select2-container--open .select2-dropdown,
.um .um-search-filter .select2-container.select2-container--open .select2-dropdown {
	background: var(--wp--preset--color--accent-5) !important;
	border: 1px solid var(--wp--preset--color--accent-4) !important;
}

.select2-container--open .select2-dropdown .select2-results li.select2-results__option,
.um .um-field .select2-container.select2-container--open .select2-dropdown .select2-results li,
.um .um-search-filter .select2-container.select2-container--open .select2-dropdown .select2-results li {
	color: var(--wp--preset--color--contrast) !important;
	background: transparent;
}

.select2-container--open .select2-dropdown .select2-results li.select2-results__option[aria-selected="true"],
.um .um-field .select2-dropdown .select2-results li.select2-results__option[aria-selected="true"],
.um .um-search-filter .select2-dropdown .select2-results li.select2-results__option[aria-selected="true"] {
	background-color: var(--wp--preset--color--accent-6) !important;
}

.select2-container--open .select2-dropdown .select2-results li.select2-results__option--highlighted,
.um .um-field .select2-dropdown .select2-results li.select2-results__option.select2-results__option--highlighted,
.um .um-search-filter .select2-dropdown .select2-results li.select2-results__option.select2-results__option--highlighted {
	background: var(--wp--preset--color--accent-2) !important;
	color: var(--wp--preset--color--contrast) !important;
}

.select2-container--open .select2-search--dropdown .select2-search__field {
	background: var(--wp--preset--color--base) !important;
	border: 1px solid var(--wp--preset--color--accent-4) !important;
	color: var(--wp--preset--color--contrast) !important;
}

/* ==========================================================================
   Perfil público e cartões do diretório (marcação extra: mu-plugin ministerio-perfil.php).
   As regras do UM (um-members.css, um-profile.css, um-old-default.css) têm seletores longos;
   aqui os seletores repetem a cadeia do UM com ".um" a mais para vencer sem !important.
   ========================================================================== */

:root {
	--mm-card: color-mix(in srgb, var(--wp--preset--color--accent-5) 55%, var(--wp--preset--color--base));
	--mm-borda: var(--wp--preset--color--accent-6);
	--mm-capa: linear-gradient(135deg, var(--wp--preset--color--accent-2) 0%, #2a1840 45%, var(--wp--preset--color--base) 75%, color-mix(in srgb, var(--wp--preset--color--accent-1) 70%, var(--wp--preset--color--base)) 100%);
}

/* Etiquetas (tradições, tipo de atuação). */
.um .mm-tags {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: inherit;
}

.um .mm-tag {
	display: inline-block;
	padding: 2px 10px;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-3) 35%, transparent);
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--accent-2) 70%, var(--wp--preset--color--base));
	color: var(--wp--preset--color--contrast);
	font-size: 13px;
	line-height: 1.6;
	white-space: nowrap;
}

/* --- Cartões do diretório ------------------------------------------------- */

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member {
	background: var(--mm-card);
	border: 1px solid var(--mm-borda);
	border-radius: 12px;
	overflow: hidden;
	color: var(--wp--preset--color--contrast);
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-cover {
	background: var(--mm-capa);
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-cover .um-member-cover-e a {
	display: block;
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-photo a img {
	border-color: var(--mm-card);
	background: var(--wp--preset--color--accent-5);
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-member-name a {
	color: var(--wp--preset--color--contrast);
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-member-name a:hover {
	color: var(--wp--preset--color--accent-3);
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-member-tagline {
	color: var(--wp--preset--color--accent-4);
	overflow-wrap: anywhere;
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .um-member-tagline-tradicoes {
	margin: 6px 0;
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .mm-tags-card {
	justify-content: center;
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card .mm-tag {
	font-size: 12px;
	padding: 0 8px;
}

/* Etiquetas de filtro ativo ("Tradições: Cabala ×"). */
.um.um-directory .um-member-directory-header .um-member-directory-header-row .um-filtered-line .um-members-filter-tag {
	background: var(--wp--preset--color--accent-5);
	border: 1px solid var(--mm-borda);
	color: var(--wp--preset--color--contrast);
}

.um.um-directory .um-member-directory-header .um-member-directory-header-row .um-filtered-line .um-members-filter-tag .um-members-filter-remove:hover {
	color: var(--wp--preset--color--accent-3);
}

/* --- Perfil público ------------------------------------------------------- */

/* Capa: gradiente da paleta quando não há imagem (a imagem enviada fica por cima). */
.um-profile.um .um-cover {
	background: var(--mm-capa);
	border-radius: 12px 12px 0 0;
	overflow: hidden;
}

.um-profile.um .um-cover-add {
	color: var(--wp--preset--color--contrast);
}

.um-profile.um .um-header {
	border-bottom: 1px solid var(--mm-borda);
}

.um-profile.um .um-profile-photo a.um-profile-photo-img {
	background: var(--wp--preset--color--accent-5);
	border-color: var(--wp--preset--color--base);
	border-bottom-color: var(--wp--preset--color--base) !important; /* o UM usa !important aqui */
}

.um-profile.um .um-name a {
	color: var(--wp--preset--color--contrast);
}

.um-profile.um .mm-perfil-sub {
	margin: 4px 0 0;
	color: var(--wp--preset--color--accent-4);
	font-size: 15px;
	line-height: 1.4;
}

.um-profile.um .um-meta-text,
.um-profile.um .um-profile-note {
	color: var(--wp--preset--color--accent-4);
}

/* O JS do UM mostra "Este perfil ainda não tem informações." quando o corpo não tem .um-field; a área de contato
   (fora dos campos do UM) também conta como informação. !important vence o display inline do jQuery .show(). */
.um-profile.um .um-profile-body:has(.mm-contato) .um-profile-note {
	display: none !important;
}

/* Corpo: rótulos discretos, valores legíveis. */
.um-profile.um.um-viewing .um-field-label {
	border-bottom: 1px solid var(--mm-borda);
	color: var(--wp--preset--color--accent-3);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.um-profile.um.um-viewing .um-field-value {
	color: var(--wp--preset--color--contrast);
	line-height: 1.6;
	overflow-wrap: anywhere;
}

/* Área de contato. */
.um-profile.um .mm-contato {
	margin: 10px 0 0;
	padding-bottom: 30px;
}

.um-profile.um .mm-contato-titulo {
	margin: 0 0 8px;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--mm-borda);
	color: var(--wp--preset--color--accent-3);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.um-profile.um .mm-selos,
.um-profile.um .mm-contato-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 0;
}

.um-profile.um .mm-selo {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 12px;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1) 80%, transparent);
	border-radius: 999px;
	color: var(--wp--preset--color--contrast);
	font-size: 13px;
}

.um-profile.um .mm-selo i {
	color: color-mix(in srgb, var(--wp--preset--color--accent-1) 40%, var(--wp--preset--color--contrast));
}

.um-profile.um .mm-contato-links a.mm-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	padding: 9px 16px;
	border: 1px solid var(--mm-borda);
	border-radius: 999px;
	background: var(--wp--preset--color--accent-5);
	color: var(--wp--preset--color--contrast);
	font-size: 15px;
	line-height: 1.2;
	text-decoration: none;
	box-shadow: none;
	transition: background-color .15s, border-color .15s;
}

.um-profile.um .mm-contato-links a.mm-btn:hover,
.um-profile.um .mm-contato-links a.mm-btn:focus-visible {
	background: var(--wp--preset--color--accent-2);
	border-color: var(--wp--preset--color--accent-3);
	color: var(--wp--preset--color--contrast);
}

.um-profile.um .mm-contato-links a.mm-btn i {
	font-size: 17px;
	width: 1.1em;
	text-align: center;
}

.um-profile.um .mm-contato-links a.mm-btn-whatsapp {
	border-color: color-mix(in srgb, #25d366 55%, transparent);
}

/* Celular: nada de rolagem horizontal; botões quebram linha. */
.um-profile.um,
.um.um-directory {
	max-width: 100%;
	overflow-wrap: anywhere;
}

@media (max-width: 500px) {
	.um-profile.um .um-profile-body {
		padding: 0 16px;
		box-sizing: border-box;
	}

	.um-profile.um .mm-contato-links a.mm-btn {
		padding: 8px 14px;
		font-size: 14px;
	}

	.um-profile.um .mm-perfil-sub {
		text-align: center;
	}
}

/* ==========================================================================
   Páginas do UM (diretório, perfis, cadastro, entrar) e /conta/: menos espaço entre o cabeçalho do site e o
   conteúdo (o modelo de página do Twenty Twenty-Five soma margem e recuo de spacing-60) e, no diretório, perfis e
   conta, título e textos na mesma largura do UM (1000px).
   ========================================================================== */

body:is(.um-page, .mm-pagina-conta) main.wp-block-group {
	margin-top: 0 !important; /* margem em linha no modelo */
}

body:is(.um-page, .mm-pagina-conta) main > .wp-block-group.alignfull:first-child {
	padding-top: var(--wp--preset--spacing--40) !important;
}

body:is(.um-page-members, .um-page-user, .mm-pagina-conta) {
	--wp--style--global--content-size: 1000px;
}

/* --- Diretório: introdução, chamada para cadastro, cartões ---------------- */

.mm-diretorio-intro {
	margin-top: 8px;
	color: var(--wp--preset--color--accent-4);
	font-size: 17px;
	line-height: 1.6;
}

.mm-diretorio-cta {
	margin-top: 40px !important;
	padding: 18px 22px;
	border: 1px solid var(--mm-borda);
	border-left: 4px solid var(--wp--preset--color--accent-3);
	border-radius: 8px;
	background: var(--mm-card);
}

/* Sem foto de capa nos cartões: uma faixa com o gradiente da capa e a foto sobre ela. */
.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member::before {
	content: "";
	display: block;
	height: 56px;
	background: var(--mm-capa);
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-photo {
	margin-top: -48px;
	padding-top: 0;
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-photo a img {
	width: 96px;
	height: 96px;
	border-width: 4px;
	border-style: solid;
}

/* Busca na largura toda, alinhada aos filtros. */
.um.um-directory .um-member-directory-header .um-member-directory-header-row.um-member-directory-search-row {
	justify-content: stretch;
}

.um.um-directory .um-member-directory-header .um-member-directory-header-row .um-member-directory-search-line {
	width: 100%;
	max-width: none;
}

.um.um-directory .um-member-directory-header .um-member-directory-search-line label {
	flex: 1 1 auto;
}

/* Celular: filtros em duas colunas, para os resultados aparecerem logo. */
@media (max-width: 600px) {
	.um.um-directory .um-member-directory-header .um-member-directory-filters-bar .um-search {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.um.um-directory .um-member-directory-filters-bar .um-search .um-search-filter {
		margin: 0;
		font-size: 14px;
	}
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member .um-member-card {
	padding-bottom: 18px;
}

.um.um-directory .um-members-wrapper .um-members.um-members-grid .um-member:hover {
	border-color: var(--wp--preset--color--accent-3);
}

.um.um-directory .mm-selo-card {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 6px;
	padding: 1px 10px;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--accent-1) 80%, transparent);
	border-radius: 999px;
	color: var(--wp--preset--color--contrast);
	font-size: 12px;
}

/* ==========================================================================
   Layout do perfil: visualização (/praticante/<slug>/) e edição (/conta/).
   Seções e contador do editor: mu-plugin ministerio-conta-editor.php.
   ========================================================================== */

/* O nome já está no cabeçalho do perfil: o título da página fica só para leitores de tela e buscadores. */
body.um-page-user .wp-block-post-title {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Cartão inteiro: cabeçalho e corpo com a mesma largura e fundo (o UM limita o corpo a 600px, em linha). */
.um-profile.um {
	border: 1px solid var(--mm-borda);
	border-radius: 12px;
	background: var(--mm-card);
}

.um-profile.um .um-header {
	background: transparent;
}

.um-profile.um .um-name a {
	font-size: clamp(22px, 3vw, 28px);
	line-height: 1.2;
}

.um.um-profile .um-profile-body,
.um-30719.um.um-profile .um-profile-body {
	max-width: none;
	box-sizing: border-box;
	padding: 8px clamp(16px, 4vw, 40px) 32px;
}

/* Visualização: apresentação com leitura confortável. */
.um-profile.um.um-viewing .um-field-description .um-field-value {
	font-size: 17px;
	line-height: 1.7;
}

/* Etiquetas que levam ao diretório filtrado. */
.um-profile.um a.mm-tag {
	text-decoration: none;
	transition: background-color .15s, border-color .15s;
}

.um-profile.um a.mm-tag:hover,
.um-profile.um a.mm-tag:focus-visible {
	background: var(--wp--preset--color--accent-2);
	border-color: var(--wp--preset--color--accent-3);
	color: var(--wp--preset--color--contrast);
}

/* Visualização em tela larga: conteúdo à esquerda, contato numa coluna fixa à direita. */
@media (min-width: 820px) {
	.um-profile.um.um-viewing .um-profile-body:has(> .mm-contato) {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 280px;
		column-gap: 40px;
		align-items: start;
	}

	.um-profile.um.um-viewing .um-profile-body:has(> .mm-contato) > * {
		grid-column: 1;
	}

	.um-profile.um.um-viewing .um-profile-body > .mm-contato {
		grid-column: 2;
		grid-row: 1 / span 3;
		position: sticky;
		top: 24px;
		margin-top: 15px;
		padding: 18px;
		border: 1px solid var(--mm-borda);
		border-radius: 12px;
		background: color-mix(in srgb, var(--wp--preset--color--base) 45%, var(--mm-card));
	}

	.um-profile.um.um-viewing .mm-contato-links {
		flex-direction: column;
	}

	.um-profile.um.um-viewing .mm-contato-links a.mm-btn {
		justify-content: center;
	}
}

.um-profile.um.um-viewing .um-profile-body .um-field {
	padding-top: 22px;
}

/* Link de denúncia: discreto, abaixo do cartão e alinhado à borda dele (o cartão tem até 1000px). */
p.ministerio-denuncia {
	max-width: 1000px !important;
	margin-top: 12px;
	font-size: 13px;
	text-align: right;
}

.ministerio-denuncia a {
	color: var(--wp--preset--color--accent-4);
}

/* Aviso no topo de /conta/ (situação do perfil e links da conta). */
.ministerio-aviso-perfil {
	margin-bottom: 24px;
	padding: 16px 20px;
	border: 1px solid var(--mm-borda);
	border-left: 4px solid var(--wp--preset--color--accent-3);
	border-radius: 8px;
	background: var(--mm-card);
}

.ministerio-aviso-perfil p {
	margin: 0;
}

.ministerio-aviso-perfil .ministerio-conta-links {
	margin-top: 8px;
	font-size: 14px;
}

/* Edição: seções e grade de duas colunas para os campos curtos. */
.um-profile.um.um-editing .um-profile-body .um-col-1 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 20px;
}

.um-profile.um.um-editing .um-profile-body .um-col-1 > * {
	grid-column: 1 / -1;
	min-width: 0;
}

@media (min-width: 640px) {
	.um-profile.um.um-editing .um-profile-body .um-col-1 > :is(
		#um_field_30719_tipo_perfil, #um_field_30719_first_name,
		#um_field_30719_estado, #um_field_30719_cidade,
		#um_field_30719_atende_presencial, #um_field_30719_atende_online,
		#um_field_30719_whatsapp, #um_field_30719_instagram,
		#um_field_30719_site, #um_field_30719_youtube
	) {
		grid-column: auto;
	}
}

.um-profile.um.um-editing .mm-secao {
	margin-top: 28px;
	padding-top: 22px;
	border-top: 1px solid var(--mm-borda);
}

.um-profile.um.um-editing .um-col-1 > .mm-secao:first-child {
	margin-top: 8px;
	padding-top: 0;
	border-top: 0;
}

.um-profile.um.um-editing .mm-secao-titulo {
	margin: 0;
	color: var(--wp--preset--color--contrast);
	font-size: 20px;
	line-height: 1.3;
}

.um-profile.um.um-editing .mm-secao-texto {
	margin: 4px 0 0;
	color: var(--wp--preset--color--accent-4);
	font-size: 14px;
}

.um-profile.um.um-editing .um-field-description textarea {
	min-height: 180px;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.6;
}

.um-profile.um.um-editing .mm-contador {
	margin: 4px 0 0;
	color: var(--wp--preset--color--accent-4);
	font-size: 13px;
	text-align: right;
}

.um-profile.um.um-editing .mm-contador.mm-contador-excedido {
	color: var(--mm-erro, #ff8a80);
	font-weight: 600;
}

.um-profile.um.um-editing input::placeholder,
.um-profile.um.um-editing textarea::placeholder {
	color: var(--wp--preset--color--accent-4);
	opacity: .75;
}

/* Botões do editor sempre à vista no fim da tela enquanto se edita. */
.um-profile.um.um-editing .mm-conta-botoes {
	position: sticky;
	bottom: 0;
	z-index: 5;
	margin: 24px calc(-1 * clamp(16px, 4vw, 40px)) -32px;
	padding: 14px clamp(16px, 4vw, 40px);
	border-top: 1px solid var(--mm-borda);
	border-radius: 0 0 12px 12px;
	background: color-mix(in srgb, var(--mm-card) 92%, transparent);
	backdrop-filter: blur(6px);
}

/* Celular: a barra fixa fica numa linha só; a explicação vai para o title do botão. */
@media (max-width: 639px) {
	.um-profile.um.um-editing .mm-conta-botoes {
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.um-profile.um.um-editing .mm-conta-botoes button.um-button {
		padding: 12px 10px;
	}

	.um-profile.um.um-editing .mm-conta-botoes-ajuda {
		display: none;
	}
}

/* ==========================================================================
   Erros de validação e aviso de salvamento no editor do perfil (/conta/).
   Faixa e aviso: mu-plugin ministerio-conta-validacao.php. O UM marca o campo com
   .um-error (input/select/textarea) e escreve a mensagem em .um-field-error logo abaixo.
   ========================================================================== */

:root {
	--mm-erro: #ff6b5e;
	--mm-erro-texto: #ffd6d1;
	/* Cores já misturadas com o fundo base (#1B1B1B): sem color-mix() em variável, que não tem como cair num valor
	   alternativo (um var() inválido vira "unset"). */
	--mm-erro-fundo: #3f2324; /* #e5484d a 18% sobre a base */
	--mm-ok: #3fb950;
	--mm-ok-fundo: #1e3322; /* #2ea043 a 18% sobre a base */
}

/* Faixa no topo do formulário. */
.um .mm-conta-erros,
.um .mm-conta-salvo {
	margin: 0 0 24px;
	padding: 14px 18px;
	border: 1px solid var(--mm-erro);
	border-left-width: 6px;
	border-radius: 8px;
	background: var(--mm-erro-fundo);
	color: var(--wp--preset--color--contrast);
	font-size: 16px;
	line-height: 1.5;
	scroll-margin-top: 100px;
}

.um .mm-conta-erros:focus {
	outline: 2px solid var(--mm-erro-texto);
	outline-offset: 2px;
}

.um .mm-conta-erros p,
.um .mm-conta-salvo p {
	margin: 0;
}

.um .mm-conta-erros ul {
	margin: 8px 0 0;
	padding-left: 22px;
}

.um .mm-conta-erros li {
	margin: 2px 0;
	color: var(--mm-erro-texto);
}

.um .mm-conta-erros li a {
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.um .mm-conta-salvo {
	border-color: var(--mm-ok);
	background: var(--mm-ok-fundo);
}

/* Mensagem do campo: bloco legível abaixo do campo, sem a setinha de balão do UM. */
.um .um-field .um-field-error {
	position: static;
	display: block;
	margin: 6px 0 0;
	padding: 6px 10px;
	border-left: 4px solid var(--mm-erro);
	border-radius: 4px;
	background: var(--mm-erro-fundo);
	color: var(--mm-erro-texto);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
}

.um .um-field .um-field-error .um-field-arrow {
	display: none;
}

/* Campo com erro: rótulo e borda em vermelho (inputs, textarea e o select2 que substitui o select). */
.um .um-field:has(.um-field-error) .um-field-label,
.um .um-field:has(.um-field-error) .um-field-label label {
	color: var(--mm-erro-texto);
}

.um .um-form .um-field .um-form-field.um-error,
.um .um-field .um-form-field.um-error ~ .select2.select2-container .select2-selection {
	border: 2px solid var(--mm-erro) !important;
	box-shadow: 0 0 0 1px rgba(255, 107, 94, .35);
}

/* Links da faixa levam ao campo; o cabeçalho do site não cobre o campo. */
.um .um-field[id^="um_field_"] {
	scroll-margin-top: 100px;
}
