/* Directorio Nacional de Conciliadores — interfaz pública */

/* Plantilla propia del directorio: comienza inmediatamente después de la cabecera. */
/* Oculta la portada/miga de pan que Educavo y otros temas imprimen desde header.php. */
body.dnc-directory-page .rs-breadcrumbs,
body.dnc-directory-page .rs-breadcrumbs-area,
body.dnc-directory-page .breadcrumb-area,
body.dnc-directory-page .breadcrumbs-area,
body.dnc-directory-page .page-title-area,
body.dnc-directory-page .page-title-wrapper,
body.dnc-directory-page .inner-page-title {
	display: none !important;
}

body.dnc-directory-page .dnc-directory-page-main {
	display: block;
	min-height: 55vh;
	padding: 1px 0;
	background: #ffffff;
}

body.dnc-directory-page .dnc-public-directory {
	margin-top: 28px;
}

.dnc-public-directory,
.dnc-profile-page {
	--dnc-primary: #1856b5;
	--dnc-primary-dark: #103f89;
	--dnc-primary-soft: #edf5ff;
	--dnc-accent: #0f8a5f;
	--dnc-accent-soft: #eaf8f2;
	--dnc-ink: #16233a;
	--dnc-muted: #617087;
	--dnc-line: #dce5f0;
	--dnc-surface: #ffffff;
	--dnc-page: #f5f8fc;
	--dnc-whatsapp: #168c5a;
	--dnc-shadow: 0 16px 44px rgba(31, 58, 95, 0.10);
	--dnc-shadow-small: 0 8px 24px rgba(31, 58, 95, 0.08);
	color: var(--dnc-ink);
	font-family: inherit;
	line-height: 1.55;
}

.dnc-public-directory *,
.dnc-profile-page * {
	box-sizing: border-box;
}

.dnc-public-directory svg,
.dnc-profile-page svg {
	width: 1.15em;
	height: 1.15em;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	flex: 0 0 auto;
}

.dnc-public-directory {
	width: min(1180px, calc(100% - 32px));
	margin: 34px auto 64px;
}

.dnc-directory-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(26px, 4vw, 48px);
	border: 1px solid #d9e7f8;
	border-radius: 24px;
	background:
		radial-gradient(circle at 90% 5%, rgba(109, 179, 255, 0.24), transparent 35%),
		linear-gradient(135deg, #f8fbff 0%, #edf6ff 100%);
	box-shadow: var(--dnc-shadow-small);
}

.dnc-directory-hero::after {
	content: "";
	position: absolute;
	right: -70px;
	top: -90px;
	width: 260px;
	height: 260px;
	border: 42px solid rgba(255, 255, 255, 0.55);
	border-radius: 50%;
	pointer-events: none;
}

.dnc-directory-hero-copy,
.dnc-directory-trust,
.dnc-directory-form {
	position: relative;
	z-index: 1;
}

.dnc-directory-hero-copy {
	max-width: 760px;
}

.dnc-public-eyebrow {
	display: inline-flex;
	align-items: center;
	margin-bottom: 8px;
	color: var(--dnc-primary);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dnc-directory-hero h2,
.dnc-directory-results h3,
.dnc-affiliate-card h3,
.dnc-profile-page h1,
.dnc-profile-page h2 {
	margin-top: 0;
	color: var(--dnc-ink);
	font-family: inherit;
	text-transform: none;
	letter-spacing: normal;
}

.dnc-directory-hero h2 {
	margin-bottom: 10px;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	line-height: 1.12;
}

.dnc-directory-hero-copy > p {
	max-width: 700px;
	margin: 0;
	color: var(--dnc-muted);
	font-size: clamp(0.98rem, 1.4vw, 1.08rem);
}

.dnc-directory-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin: 20px 0 26px;
}

.dnc-directory-trust span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #285175;
	font-size: 0.9rem;
	font-weight: 700;
}

.dnc-directory-trust svg {
	color: var(--dnc-accent);
}

.dnc-directory-form {
	padding: 20px;
	border: 1px solid rgba(200, 217, 237, 0.92);
	border-radius: 18px;
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 10px 30px rgba(33, 76, 124, 0.07);
}

.dnc-directory-search-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: end;
}

.dnc-directory-filters {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.dnc-public-field {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 7px;
	margin: 0;
	font-weight: 400;
}

.dnc-public-field > span:first-child {
	color: #42536b;
	font-size: 0.82rem;
	font-weight: 700;
}

.dnc-public-field input,
.dnc-public-field select {
	width: 100%;
	height: 46px;
	margin: 0;
	padding: 0 13px;
	border: 1px solid #cbd8e7;
	border-radius: 10px;
	outline: 0;
	background-color: #fff;
	color: var(--dnc-ink);
	font: inherit;
	font-size: 0.94rem;
	box-shadow: none;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.dnc-public-field input:focus,
.dnc-public-field select:focus {
	border-color: var(--dnc-primary);
	box-shadow: 0 0 0 3px rgba(24, 86, 181, 0.13);
}

.dnc-public-input-wrap {
	position: relative;
	display: block;
}

.dnc-public-input-wrap svg {
	position: absolute;
	left: 14px;
	top: 50%;
	z-index: 1;
	color: #75859a;
	transform: translateY(-50%);
}

.dnc-public-field-search input {
	height: 50px;
	padding-left: 43px;
}

.dnc-public-button {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 17px;
	border: 1px solid transparent;
	border-radius: 10px;
	font-size: 0.92rem;
	font-weight: 750;
	line-height: 1.25;
	text-align: center;
	text-decoration: none !important;
	box-shadow: none;
	cursor: pointer;
	transition: transform 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease, border-color 0.16s ease;
}

.dnc-public-button:hover {
	transform: translateY(-1px);
}

.dnc-public-button-primary {
	min-height: 50px;
	padding-inline: 24px;
	background: var(--dnc-primary);
	color: #fff !important;
	box-shadow: 0 9px 18px rgba(24, 86, 181, 0.20);
}

.dnc-public-button-primary:hover,
.dnc-public-button-primary:focus {
	background: var(--dnc-primary-dark);
	color: #fff !important;
}

.dnc-public-button-secondary {
	border-color: #cbd9eb;
	background: #fff;
	color: var(--dnc-primary) !important;
}

.dnc-public-button-secondary:hover,
.dnc-public-button-secondary:focus {
	border-color: #9ebae0;
	background: var(--dnc-primary-soft);
	color: var(--dnc-primary-dark) !important;
}

.dnc-public-button-whatsapp {
	border-color: var(--dnc-whatsapp);
	background: var(--dnc-whatsapp);
	color: #fff !important;
}

.dnc-public-button-whatsapp:hover,
.dnc-public-button-whatsapp:focus {
	border-color: #0d7147;
	background: #0d7147;
	color: #fff !important;
}

.dnc-directory-results {
	margin-top: 34px;
}

.dnc-directory-results-header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 18px;
}

.dnc-directory-results-header h3 {
	margin-bottom: 2px;
	font-size: 1.35rem;
	line-height: 1.3;
}

.dnc-directory-results-header p {
	margin: 0;
	color: var(--dnc-muted);
	font-size: 0.9rem;
}

.dnc-directory-clear {
	flex: 0 0 auto;
	color: var(--dnc-primary);
	font-size: 0.9rem;
	font-weight: 700;
	text-decoration: none;
}

.dnc-directory-clear:hover {
	text-decoration: underline;
}

.dnc-directory-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.dnc-affiliate-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 23px;
	border: 1px solid var(--dnc-line);
	border-radius: 18px;
	background: var(--dnc-surface);
	box-shadow: var(--dnc-shadow-small);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.dnc-affiliate-card:hover {
	border-color: #bfd1e8;
	box-shadow: var(--dnc-shadow);
	transform: translateY(-2px);
}

.dnc-affiliate-card-top {
	display: flex;
	min-width: 0;
	align-items: flex-start;
	gap: 15px;
}

.dnc-affiliate-avatar {
	display: block;
	width: 78px;
	height: 78px;
	flex: 0 0 78px;
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
}

.dnc-public-avatar-image,
.dnc-public-avatar-placeholder {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
	border-radius: inherit;
	object-fit: cover;
}

.dnc-public-avatar-placeholder {
	background: linear-gradient(145deg, #dfeeff, #bcd8f7);
	color: #24588d;
	font-size: 1.35rem;
	font-weight: 850;
	letter-spacing: 0.03em;
}

.dnc-affiliate-main {
	min-width: 0;
	flex: 1 1 auto;
}

.dnc-verified-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-bottom: 6px;
	padding: 4px 8px;
	border-radius: 999px;
	background: var(--dnc-accent-soft);
	color: #08704a;
	font-size: 0.72rem;
	font-weight: 800;
	line-height: 1.2;
}

.dnc-verified-badge svg {
	width: 14px;
	height: 14px;
}

.dnc-affiliate-card h3 {
	margin-bottom: 3px;
	font-size: 1.18rem;
	line-height: 1.28;
}

.dnc-affiliate-card h3 a {
	color: var(--dnc-ink);
	text-decoration: none;
}

.dnc-affiliate-card h3 a:hover {
	color: var(--dnc-primary);
}

.dnc-affiliate-code {
	color: var(--dnc-muted);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.03em;
}

.dnc-affiliate-meta {
	display: grid;
	gap: 8px;
	margin-top: 18px;
}

.dnc-affiliate-meta > div,
.dnc-affiliate-center,
.dnc-affiliate-validity,
.dnc-profile-location {
	display: flex;
	align-items: flex-start;
	gap: 8px;
}

.dnc-affiliate-meta > div {
	color: #4f6076;
	font-size: 0.88rem;
}

.dnc-affiliate-meta strong {
	color: #304259;
	font-weight: 750;
}

.dnc-affiliate-meta-icon,
.dnc-affiliate-center > svg,
.dnc-affiliate-validity > svg {
	margin-top: 2px;
	color: var(--dnc-primary);
}

.dnc-specialty-list {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 16px;
}

.dnc-specialty-list span {
	display: inline-flex;
	padding: 5px 9px;
	border: 1px solid #d4e3f5;
	border-radius: 8px;
	background: #f4f8fd;
	color: #35587e;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.35;
}

.dnc-affiliate-center {
	margin: 15px 0 0;
	color: #506278;
	font-size: 0.88rem;
}

.dnc-affiliate-excerpt {
	margin: 14px 0 0;
	color: var(--dnc-muted);
	font-size: 0.9rem;
}

.dnc-affiliate-validity {
	margin-top: auto;
	padding-top: 17px;
	color: #506278;
	font-size: 0.82rem;
}

.dnc-affiliate-validity strong {
	color: #24415f;
}

.dnc-affiliate-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #e7edf5;
}

.dnc-affiliate-actions .dnc-public-button {
	flex: 1 1 145px;
}

.dnc-directory-empty {
	padding: 52px 24px;
	border: 1px dashed #cbd8e7;
	border-radius: 18px;
	background: #fbfdff;
	text-align: center;
}

.dnc-directory-empty-icon {
	display: inline-flex;
	width: 58px;
	height: 58px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--dnc-primary-soft);
	color: var(--dnc-primary);
}

.dnc-directory-empty-icon svg {
	width: 27px;
	height: 27px;
}

.dnc-directory-empty h3 {
	margin: 16px 0 5px;
	font-size: 1.25rem;
}

.dnc-directory-empty p {
	margin: 0 auto 18px;
	color: var(--dnc-muted);
}

.dnc-directory-pagination {
	margin-top: 28px;
}

.dnc-directory-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.dnc-directory-pagination .page-numbers li {
	margin: 0;
}

.dnc-directory-pagination a.page-numbers,
.dnc-directory-pagination span.page-numbers {
	display: inline-flex;
	min-width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	padding: 0 11px;
	border: 1px solid var(--dnc-line);
	border-radius: 9px;
	background: #fff;
	color: var(--dnc-primary);
	font-size: 0.87rem;
	font-weight: 700;
	text-decoration: none;
}

.dnc-directory-pagination span.current {
	border-color: var(--dnc-primary);
	background: var(--dnc-primary);
	color: #fff;
}

/* Perfil individual */
.dnc-profile-page {
	padding: 38px 0 70px;
	background: var(--dnc-page);
}

.dnc-profile-container {
	width: min(1160px, calc(100% - 32px));
	margin: 0 auto;
}

.dnc-profile-breadcrumb {
	margin-bottom: 17px;
}

.dnc-profile-breadcrumb a {
	color: var(--dnc-primary);
	font-size: 0.9rem;
	font-weight: 750;
	text-decoration: none;
}

.dnc-profile-breadcrumb a:hover {
	text-decoration: underline;
}

.dnc-profile-header {
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr) auto;
	gap: 26px;
	align-items: center;
	padding: 30px;
	border: 1px solid var(--dnc-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--dnc-shadow);
}

.dnc-profile-avatar {
	width: 160px;
	height: 180px;
	border-radius: 18px;
	overflow: hidden;
	background: #e7f1fc;
}

.dnc-profile-avatar .dnc-public-avatar-placeholder {
	font-size: 2.5rem;
}

.dnc-verified-badge-large {
	margin-bottom: 9px;
	padding: 6px 10px;
	font-size: 0.78rem;
}

.dnc-profile-heading {
	min-width: 0;
}

.dnc-profile-heading h1 {
	margin-bottom: 7px;
	font-size: clamp(1.75rem, 3vw, 2.55rem);
	line-height: 1.12;
}

.dnc-profile-code {
	margin: 0;
	color: var(--dnc-muted);
	font-size: 0.91rem;
}

.dnc-specialty-list-profile {
	margin-top: 15px;
}

.dnc-profile-location {
	margin: 15px 0 0;
	color: #4f6076;
	font-size: 0.93rem;
}

.dnc-profile-location svg {
	margin-top: 2px;
	color: var(--dnc-primary);
}

.dnc-profile-status-card {
	display: flex;
	min-width: 220px;
	align-items: center;
	gap: 12px;
	padding: 17px;
	border: 1px solid #cceadb;
	border-radius: 15px;
	background: var(--dnc-accent-soft);
}

.dnc-profile-status-card > span {
	display: inline-flex;
	width: 40px;
	height: 40px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fff;
	color: var(--dnc-accent);
}

.dnc-profile-status-card > span svg {
	width: 22px;
	height: 22px;
}

.dnc-profile-status-card strong,
.dnc-profile-status-card small {
	display: block;
}

.dnc-profile-status-card strong {
	color: #076a47;
	font-size: 0.92rem;
}

.dnc-profile-status-card small {
	margin-top: 2px;
	color: #36745e;
	font-size: 0.78rem;
}

.dnc-profile-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 24px;
	align-items: start;
	margin-top: 24px;
}

.dnc-profile-main,
.dnc-profile-sidebar {
	display: grid;
	gap: 24px;
}

.dnc-profile-section,
.dnc-profile-contact-card {
	padding: 27px;
	border: 1px solid var(--dnc-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--dnc-shadow-small);
}

.dnc-profile-section h2,
.dnc-profile-contact-card h2 {
	margin-bottom: 19px;
	font-size: 1.23rem;
	line-height: 1.3;
}

.dnc-profile-info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.dnc-profile-info-item {
	display: flex;
	min-width: 0;
	align-items: flex-start;
	gap: 12px;
	padding: 15px;
	border: 1px solid #e2e9f2;
	border-radius: 13px;
	background: #fbfdff;
}

.dnc-profile-info-icon {
	display: inline-flex;
	width: 36px;
	height: 36px;
	flex: 0 0 36px;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: var(--dnc-primary-soft);
	color: var(--dnc-primary);
}

.dnc-profile-info-item small,
.dnc-profile-info-item strong {
	display: block;
}

.dnc-profile-info-item small {
	margin-bottom: 3px;
	color: var(--dnc-muted);
	font-size: 0.75rem;
}

.dnc-profile-info-item strong {
	color: #2c4059;
	font-size: 0.9rem;
	line-height: 1.4;
	word-break: break-word;
}

.dnc-profile-info-detail {
	display: block;
	margin-top: 5px;
	color: #5a6d84;
	font-size: 0.76rem;
	line-height: 1.4;
	word-break: break-word;
}

.dnc-profile-biography {
	color: #4c5e74;
	font-size: 0.96rem;
}

.dnc-profile-biography p:last-child {
	margin-bottom: 0;
}

.dnc-profile-contact-card > p {
	margin: -9px 0 17px;
	color: var(--dnc-muted);
	font-size: 0.87rem;
}

.dnc-profile-contact-list {
	display: grid;
	gap: 10px;
}

.dnc-profile-contact-list > a {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 11px;
	padding: 12px;
	border: 1px solid #e1e9f3;
	border-radius: 11px;
	background: #fbfdff;
	color: #314860;
	text-decoration: none;
	transition: border-color 0.16s ease, background-color 0.16s ease;
}

.dnc-profile-contact-list > a:hover {
	border-color: #b7cbe4;
	background: var(--dnc-primary-soft);
}

.dnc-profile-contact-list > a > svg {
	color: var(--dnc-primary);
}

.dnc-profile-contact-list span {
	min-width: 0;
}

.dnc-profile-contact-list small,
.dnc-profile-contact-list strong {
	display: block;
}

.dnc-profile-contact-list small {
	color: var(--dnc-muted);
	font-size: 0.72rem;
}

.dnc-profile-contact-list strong {
	overflow: hidden;
	font-size: 0.86rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dnc-profile-whatsapp {
	width: 100%;
	margin-top: 16px;
}

.dnc-profile-verification-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 17px;
	border: 1px solid #cfe7f7;
	border-radius: 14px;
	background: #eff8fe;
	color: #3b607c;
}

.dnc-profile-verification-note > svg {
	margin-top: 2px;
	color: var(--dnc-primary);
}

.dnc-profile-verification-note p {
	margin: 0;
	font-size: 0.82rem;
}

.dnc-profile-verification-note strong {
	color: #244f72;
}

@media (max-width: 980px) {
	.dnc-directory-filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dnc-profile-header {
		grid-template-columns: 135px minmax(0, 1fr);
	}

	.dnc-profile-avatar {
		width: 135px;
		height: 155px;
	}

	.dnc-profile-status-card {
		grid-column: 1 / -1;
		min-width: 0;
	}

	.dnc-profile-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.dnc-profile-sidebar {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

@media (max-width: 760px) {
	.dnc-public-directory {
		width: min(100% - 22px, 1180px);
		margin-top: 20px;
	}

	.dnc-directory-hero {
		padding: 23px 17px;
		border-radius: 18px;
	}

	.dnc-directory-form {
		padding: 14px;
	}

	.dnc-directory-search-row {
		grid-template-columns: minmax(0, 1fr);
	}

	.dnc-directory-filters,
	.dnc-directory-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.dnc-directory-results-header {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.dnc-affiliate-card {
		padding: 19px;
	}

	.dnc-profile-page {
		padding-top: 22px;
	}

	.dnc-profile-container {
		width: min(100% - 22px, 1160px);
	}

	.dnc-profile-header {
		grid-template-columns: 105px minmax(0, 1fr);
		gap: 17px;
		padding: 19px;
		border-radius: 17px;
	}

	.dnc-profile-avatar {
		width: 105px;
		height: 122px;
		border-radius: 14px;
	}

	.dnc-profile-heading h1 {
		font-size: clamp(1.42rem, 7vw, 2rem);
	}

	.dnc-profile-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}

	.dnc-profile-info-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 510px) {
	.dnc-directory-trust {
		flex-direction: column;
		gap: 7px;
	}

	.dnc-affiliate-card-top {
		align-items: center;
	}

	.dnc-affiliate-avatar {
		width: 66px;
		height: 66px;
		flex-basis: 66px;
	}

	.dnc-profile-header {
		grid-template-columns: minmax(0, 1fr);
		text-align: center;
	}

	.dnc-profile-avatar {
		width: 130px;
		height: 150px;
		margin: 0 auto;
	}

	.dnc-profile-location,
	.dnc-specialty-list-profile {
		justify-content: center;
	}

	.dnc-profile-status-card {
		text-align: left;
	}

	.dnc-profile-section,
	.dnc-profile-contact-card {
		padding: 20px 17px;
	}
}


/* Presentación profesional y académica */
.dnc-affiliate-professional-heading {
	margin: 4px 0 2px;
	color: var(--dnc-muted);
	font-size: 0.88rem;
	font-weight: 650;
	line-height: 1.35;
}

.dnc-profile-professional-heading {
	margin: -4px 0 8px;
	color: #42536b;
	font-size: clamp(1rem, 1.7vw, 1.16rem);
	font-weight: 700;
	line-height: 1.4;
}

/* Selector del directorio unificado */
.dnc-directory-tabs {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 18px;
}

.dnc-directory-tabs a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 16px;
	border: 1px solid #c7d8ec;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.84);
	color: #31506f;
	font-size: 0.9rem;
	font-weight: 800;
	text-decoration: none;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.dnc-directory-tabs a:hover,
.dnc-directory-tabs a:focus,
.dnc-directory-tabs a.is-active {
	border-color: var(--dnc-primary);
	background: var(--dnc-primary);
	color: #fff;
}

.dnc-directory-filters-centers {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Centros de conciliación */
.dnc-center-card-logo,
.dnc-center-profile-logo {
	background: #fff;
}

.dnc-center-card-logo .dnc-center-logo-image,
.dnc-center-profile-logo .dnc-center-logo-image {
	object-fit: contain;
	padding: 7px;
	background: #fff;
}

.dnc-center-logo-placeholder {
	color: var(--dnc-primary);
	background: var(--dnc-primary-soft);
}

.dnc-center-logo-placeholder svg {
	width: 44%;
	height: 44%;
}

.dnc-center-profile-logo {
	border-radius: 20px;
}

@media (max-width: 980px) {
	.dnc-directory-filters-centers {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.dnc-directory-tabs {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.dnc-directory-tabs a {
		justify-content: center;
		border-radius: 12px;
		text-align: center;
	}

	.dnc-directory-filters-centers {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 510px) {
	.dnc-directory-tabs {
		grid-template-columns: 1fr;
	}
}

.dnc-center-authorization {
	letter-spacing: 0;
	line-height: 1.4;
}

.dnc-profile-code.dnc-center-authorization {
	color: #405771;
	font-weight: 700;
}

/* Verificación pública */
body.dnc-verification-page .rs-breadcrumbs,
body.dnc-verification-page .rs-breadcrumbs-area,
body.dnc-verification-page .breadcrumb-area,
body.dnc-verification-page .breadcrumbs-area,
body.dnc-verification-page .page-title-area,
body.dnc-verification-page .page-title-wrapper,
body.dnc-verification-page .inner-page-title {
	display: none !important;
}

body.dnc-verification-page .dnc-verification-page-main {
	display: block;
	min-height: 58vh;
	padding: 1px 0;
	background: #f5f8fc;
}

.dnc-verification-shell {
	--dnc-primary: #1856b5;
	--dnc-primary-dark: #103f89;
	--dnc-primary-soft: #edf5ff;
	--dnc-accent: #0f8a5f;
	--dnc-accent-soft: #eaf8f2;
	--dnc-ink: #16233a;
	--dnc-muted: #617087;
	--dnc-line: #dce5f0;
	--dnc-surface: #ffffff;
	--dnc-page: #f5f8fc;
	--dnc-shadow: 0 16px 44px rgba(31, 58, 95, 0.10);
	width: min(1000px, calc(100% - 32px));
	margin: 34px auto 64px;
	color: var(--dnc-ink);
	font-family: inherit;
	line-height: 1.55;
}

.dnc-verification-shell *,
.dnc-verification-shell *::before,
.dnc-verification-shell *::after {
	box-sizing: border-box;
}

.dnc-verification-shell svg {
	width: 1.15em;
	height: 1.15em;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	flex: 0 0 auto;
}

.dnc-verification-hero {
	padding: clamp(26px, 5vw, 48px);
	border: 1px solid #d9e7f8;
	border-radius: 24px;
	background: radial-gradient(circle at 90% 0, rgba(109,179,255,.22), transparent 34%), linear-gradient(135deg,#f8fbff,#edf6ff);
	box-shadow: var(--dnc-shadow);
}

.dnc-verification-hero h1 {
	margin: 4px 0 8px;
	color: var(--dnc-ink);
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 1.08;
}

.dnc-verification-hero > p {
	max-width: 720px;
	margin: 0 0 26px;
	color: var(--dnc-muted);
	font-size: 1.02rem;
}

.dnc-verification-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	align-items: end;
	padding: 20px;
	border: 1px solid #d6e2f0;
	border-radius: 18px;
	background: rgba(255,255,255,.92);
}

.dnc-verification-type {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.dnc-verification-type label {
	margin: 0;
	cursor: pointer;
}

.dnc-verification-type input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.dnc-verification-type span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 15px;
	border: 1px solid #c7d8ec;
	border-radius: 999px;
	background: #fff;
	color: #31506f;
	font-weight: 800;
}

.dnc-verification-type input:checked + span {
	border-color: var(--dnc-primary);
	background: var(--dnc-primary);
	color: #fff;
}

.dnc-verification-form .dnc-public-field {
	margin: 0;
}

.dnc-verification-empty,
.dnc-verification-result {
	margin-top: 24px;
	border: 1px solid var(--dnc-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: var(--dnc-shadow);
}

.dnc-verification-empty {
	padding: 42px 24px;
	text-align: center;
}

.dnc-verification-empty > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 50%;
	background: var(--dnc-primary-soft);
	color: var(--dnc-primary);
}

.dnc-verification-empty h2 {
	margin: 14px 0 6px;
}

.dnc-verification-empty p {
	max-width: 650px;
	margin: 0 auto 20px;
	color: var(--dnc-muted);
}

.dnc-verification-result {
	overflow: hidden;
}

.dnc-verification-result-header {
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr) auto;
	gap: 24px;
	align-items: center;
	padding: 28px;
	border-bottom: 1px solid var(--dnc-line);
}

.dnc-verification-result-avatar {
	width: 112px;
	height: 112px;
	border-radius: 20px;
	overflow: hidden;
	background: var(--dnc-primary-soft);
}

.dnc-verification-result-avatar img,
.dnc-verification-result-avatar .dnc-public-avatar-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dnc-verification-result-heading h2 {
	margin: 8px 0 2px;
	font-size: clamp(1.55rem, 3vw, 2.2rem);
	line-height: 1.15;
}

.dnc-verification-result-heading p {
	margin: 0;
	color: var(--dnc-muted);
}

.dnc-verification-status-badge {
	min-width: 190px;
	padding: 15px 18px;
	border-radius: 16px;
	text-align: center;
}

.dnc-verification-status-badge strong,
.dnc-verification-status-badge small {
	display: block;
}

.dnc-verification-status-positive .dnc-verification-status-badge {
	border: 1px solid #bce5d3;
	background: #eaf8f2;
	color: #08764d;
}

.dnc-verification-status-warning .dnc-verification-status-badge,
.dnc-verification-status-info .dnc-verification-status-badge {
	border: 1px solid #f1d69a;
	background: #fff8e8;
	color: #8a5a00;
}

.dnc-verification-status-negative .dnc-verification-status-badge {
	border: 1px solid #efc2c2;
	background: #fff0f0;
	color: #a12626;
}

.dnc-verification-status-neutral .dnc-verification-status-badge {
	border: 1px solid #d5dee9;
	background: #f5f7fa;
	color: #526277;
}

.dnc-verification-data-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	padding: 24px 28px;
}

.dnc-verification-data-grid > div {
	padding: 15px 17px;
	border: 1px solid var(--dnc-line);
	border-radius: 14px;
	background: #fbfdff;
}

.dnc-verification-data-grid small,
.dnc-verification-data-grid strong {
	display: block;
}

.dnc-verification-data-grid small {
	margin-bottom: 4px;
	color: var(--dnc-muted);
}

.dnc-verification-info-detail {
	display: block;
	margin-top: 5px;
	color: #5a6d84;
	font-size: 0.8rem;
	line-height: 1.4;
	word-break: break-word;
}

.dnc-verification-result-footer {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	padding: 0 28px 28px;
}

.dnc-verification-disclaimer {
	display: flex;
	gap: 12px;
	margin-top: 22px;
	padding: 18px 20px;
	border: 1px solid #bddcf6;
	border-radius: 16px;
	background: #edf7ff;
	color: #31506f;
}

.dnc-verification-disclaimer > svg {
	margin-top: 3px;
	color: var(--dnc-primary);
}

.dnc-verification-disclaimer p {
	margin: 0;
}

@media (max-width: 760px) {
	.dnc-verification-form {
		grid-template-columns: 1fr;
	}

	.dnc-verification-form .dnc-public-button {
		width: 100%;
	}

	.dnc-verification-result-header {
		grid-template-columns: 80px minmax(0, 1fr);
		gap: 16px;
	}

	.dnc-verification-result-avatar {
		width: 80px;
		height: 80px;
	}

	.dnc-verification-status-badge {
		grid-column: 1 / -1;
		min-width: 0;
	}

	.dnc-verification-data-grid {
		grid-template-columns: 1fr;
	}

	.dnc-verification-result-footer {
		flex-direction: column;
	}

	.dnc-verification-result-footer .dnc-public-button {
		width: 100%;
	}
}

@media (max-width: 500px) {
	.dnc-verification-shell {
		width: min(100% - 20px, 1000px);
		margin-top: 20px;
	}

	.dnc-verification-type {
		display: grid;
		grid-template-columns: 1fr;
	}

	.dnc-verification-type span {
		justify-content: center;
		border-radius: 12px;
	}

	.dnc-verification-result-header,
	.dnc-verification-data-grid,
	.dnc-verification-result-footer {
		padding-left: 18px;
		padding-right: 18px;
	}
}

/* Vinculación pública entre conciliadores y centros */
.dnc-linked-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.dnc-linked-card {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
	padding: 16px;
	border: 1px solid var(--dnc-line);
	border-radius: 14px;
	background: #fff;
	box-shadow: var(--dnc-shadow-small);
}

.dnc-linked-media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	flex: 0 0 64px;
	overflow: hidden;
	border: 1px solid var(--dnc-line);
	border-radius: 12px;
	background: var(--dnc-primary-soft);
}

.dnc-linked-affiliate-card .dnc-linked-media {
	border-radius: 50%;
}

.dnc-linked-media img,
.dnc-linked-media .dnc-public-avatar-placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dnc-linked-media .dnc-public-avatar-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
}

.dnc-linked-copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: 4px;
}

.dnc-linked-copy strong {
	color: var(--dnc-ink);
	font-size: 1rem;
	line-height: 1.3;
}

.dnc-linked-copy span,
.dnc-linked-copy small {
	display: flex;
	align-items: center;
	gap: 5px;
	color: var(--dnc-muted);
	font-size: 0.85rem;
	line-height: 1.4;
}

.dnc-linked-copy a {
	margin-top: 3px;
	color: var(--dnc-primary);
	font-size: 0.88rem;
	font-weight: 750;
	text-decoration: none;
}

.dnc-linked-copy a:hover {
	text-decoration: underline;
}

@media (max-width: 720px) {
	.dnc-linked-grid {
		grid-template-columns: 1fr;
	}
}

/* v1.0.0: aviso institucional y cierre visual */
.dnc-institutional-notice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	width: min(100%, 1160px);
	margin: 24px auto 0;
	padding: 15px 17px;
	border: 1px solid var(--dnc-line);
	border-left: 4px solid var(--dnc-primary);
	border-radius: 12px;
	background: #fff;
	color: var(--dnc-muted);
	font-size: .9rem;
	line-height: 1.55;
	box-shadow: var(--dnc-shadow-small);
}

.dnc-institutional-notice svg {
	width: 22px;
	height: 22px;
	flex: 0 0 22px;
	fill: none;
	stroke: var(--dnc-primary);
	stroke-width: 1.8;
}

.dnc-institutional-notice p {
	margin: 0;
}

.dnc-profile-institutional-notice {
	margin-top: 22px;
}

@media (max-width: 720px) {
	.dnc-institutional-notice {
		width: 100%;
		margin-top: 18px;
		padding: 14px;
		font-size: .86rem;
	}
}

/* Buscador compacto para la página de inicio: [dnc_buscador_home] */
.dnc-home-search {
	--dnc-primary: #1856b5;
	--dnc-primary-dark: #103f89;
	--dnc-primary-soft: #edf5ff;
	--dnc-ink: #16233a;
	--dnc-muted: #617087;
	--dnc-line: #dce5f0;
	width: 100%;
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid #d9e7f8;
	border-radius: 22px;
	background: linear-gradient(135deg, #f8fbff 0%, #edf6ff 100%);
	box-shadow: 0 14px 36px rgba(31, 58, 95, 0.09);
	color: var(--dnc-ink);
	font-family: inherit;
}

.dnc-home-search *,
.dnc-home-search *::before,
.dnc-home-search *::after {
	box-sizing: border-box;
}

.dnc-home-search svg {
	width: 1.15em;
	height: 1.15em;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.dnc-home-search-copy {
	margin-bottom: 18px;
}

.dnc-home-search-copy h2 {
	margin: 0 0 7px;
	color: var(--dnc-ink);
	font-family: inherit;
	font-size: clamp(1.45rem, 3vw, 2rem);
	line-height: 1.18;
	text-transform: none;
}

.dnc-home-search-copy p {
	margin: 0;
	color: var(--dnc-muted);
	font-size: 1rem;
}

.dnc-home-search-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 14px;
}

.dnc-home-search-tab {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 9px 15px;
	border: 1px solid #c7d8ec;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.9);
	color: #31506f;
	font: inherit;
	font-size: 0.9rem;
	font-weight: 800;
	cursor: pointer;
	transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}

.dnc-home-search-tab:hover,
.dnc-home-search-tab:focus,
.dnc-home-search-tab.is-active {
	border-color: var(--dnc-primary);
	background: var(--dnc-primary);
	color: #fff;
}

.dnc-home-search-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 11px;
	padding: 13px;
	border: 1px solid rgba(200, 217, 237, 0.94);
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.94);
}

.dnc-home-search-field {
	display: block;
	min-width: 0;
	margin: 0;
}

.dnc-home-search-field input {
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0 14px 0 43px;
	border: 1px solid #cbd8e7;
	border-radius: 10px;
	outline: 0;
	background: #fff;
	color: var(--dnc-ink);
	font: inherit;
	font-size: 0.96rem;
	box-shadow: none;
}

.dnc-home-search-field input:focus {
	border-color: var(--dnc-primary);
	box-shadow: 0 0 0 3px rgba(24, 86, 181, 0.13);
}

.dnc-home-search .dnc-public-input-wrap {
	position: relative;
	display: block;
}

.dnc-home-search .dnc-public-input-wrap > svg {
	position: absolute;
	left: 14px;
	top: 50%;
	z-index: 1;
	color: #75859a;
	transform: translateY(-50%);
}

.dnc-home-search .dnc-public-button {
	white-space: nowrap;
}

.dnc-home-search-all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: 13px;
	color: var(--dnc-primary);
	font-size: 0.9rem;
	font-weight: 750;
	text-decoration: none;
}

.dnc-home-search-all:hover,
.dnc-home-search-all:focus {
	color: var(--dnc-primary-dark);
	text-decoration: underline;
}

@media (max-width: 680px) {
	.dnc-home-search-form {
		grid-template-columns: minmax(0, 1fr);
	}

	.dnc-home-search-form .dnc-public-button {
		width: 100%;
	}

	.dnc-home-search-tabs {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}

	.dnc-home-search-tab {
		border-radius: 11px;
	}
}

@media (max-width: 470px) {
	.dnc-home-search {
		padding: 18px 15px;
		border-radius: 17px;
	}

	.dnc-home-search-tabs {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* v1.0.4: código QR de verificación en perfiles públicos */
.dnc-profile-qr-card {
	box-sizing: border-box;
	margin-top: 22px;
	padding: 24px;
	border: 1px solid #dbe6f3;
	border-radius: 18px;
	background: #fff;
	text-align: center;
	box-shadow: 0 9px 28px rgba(25, 57, 92, .07);
}

.dnc-profile-qr-card h2 {
	margin: 0 0 15px;
	color: var(--dnc-ink);
	font-size: 1.18rem;
	line-height: 1.3;
}

.dnc-profile-qr-image {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	max-width: 100%;
	padding: 10px;
	border: 1px solid #d5e0ec;
	border-radius: 14px;
	background: #fff;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.dnc-profile-qr-image:hover,
.dnc-profile-qr-image:focus {
	border-color: var(--dnc-primary);
	box-shadow: 0 0 0 4px rgba(24, 86, 181, .1);
	transform: translateY(-1px);
}

.dnc-profile-qr-image img {
	display: block;
	width: min(240px, 100%);
	height: auto;
}

.dnc-profile-qr-card p {
	max-width: 330px;
	margin: 14px auto 16px;
	color: #64748b;
	font-size: .93rem;
	line-height: 1.55;
}

.dnc-profile-verify-button {
	justify-content: center;
	width: 100%;
}

@media (max-width: 620px) {
	.dnc-profile-qr-card {
		padding: 20px 16px;
	}

	.dnc-profile-qr-image img {
		width: min(220px, 100%);
	}
}
