/* =========================================================
   MI CORE UI · FICHAS DE NEGOCIO MYLISTING
   Capa condicional: solo single job_listing
   ========================================================= */

.single-job_listing #c27-single-listing {
	--mi-listing-deep: #153846;
	--mi-listing-dark: #234f5d;
	--mi-listing-brand: #6295a4;
	--mi-listing-soft: #e8f2f4;
	--mi-listing-paper: #ffffff;
	--mi-listing-surface: #f7f9f9;
	--mi-listing-muted: #526a74;
	--mi-listing-line: #d8e4e7;
	--mi-listing-radius: 16px;
	--mi-listing-shadow: 0 10px 28px rgba(21, 56, 70, 0.075);
	--mi-listing-shadow-hover: 0 14px 34px rgba(21, 56, 70, 0.12);
}

/* Pestaña activa */
.single-job_listing #c27-single-listing .profile-menu a {
	color: var(--mi-listing-muted) !important;
	font-weight: 600;
}

.single-job_listing #c27-single-listing .profile-menu li.active a {
	color: var(--mi-listing-deep) !important;
	font-weight: 700;
}

/* Barra de acciones secundaria */
.single-job_listing #c27-single-listing .quick-listing-actions {
	margin-top: 28px !important;
}

.single-job_listing #c27-single-listing .quick-listing-actions li:not(.cts-prev):not(.cts-next) {
	padding: 0 9px 10px 0 !important;
}

.single-job_listing #c27-single-listing .quick-listing-actions li > a {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	padding: 10px 16px !important;
	color: var(--mi-listing-dark) !important;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none !important;
	background: var(--mi-listing-paper) !important;
	border: 1px solid rgba(35, 79, 93, 0.25) !important;
	border-radius: 12px !important;
	box-shadow: 0 7px 18px rgba(21, 56, 70, 0.07);
	transition:
		color 160ms ease,
		background-color 160ms ease,
		border-color 160ms ease,
		box-shadow 160ms ease,
		transform 160ms ease;
}

.single-job_listing #c27-single-listing .quick-listing-actions li > a i {
	color: var(--mi-listing-brand) !important;
	font-size: 16px;
	transition: color 160ms ease;
}

.single-job_listing #c27-single-listing .quick-listing-actions li > a span {
	transition: color 160ms ease;
}

.single-job_listing #c27-single-listing .quick-listing-actions li > a:hover {
	color: #ffffff !important;
	background: var(--mi-listing-dark) !important;
	border-color: var(--mi-listing-dark) !important;
	box-shadow: 0 10px 24px rgba(21, 56, 70, 0.18);
	transform: translateY(-1px);
}

.single-job_listing #c27-single-listing .quick-listing-actions li > a:hover i {
	color: #ffffff !important;
}

.single-job_listing #c27-single-listing .quick-listing-actions li > a:hover span {
	color: #ffffff !important;
}

.single-job_listing #c27-single-listing .quick-listing-actions li > a:focus-visible {
	outline: 3px solid rgba(98, 149, 164, 0.28);
	outline-offset: 2px;
}

/* Tarjetas de contenido */
.single-job_listing #c27-single-listing .cts-column-wrapper > .col-md-12 > .element {
	padding: 22px !important;
	margin-bottom: 20px !important;
	background: var(--mi-listing-paper);
	border: 1px solid rgba(35, 79, 93, 0.12) !important;
	border-radius: var(--mi-listing-radius) !important;
	box-shadow: var(--mi-listing-shadow) !important;
}

/* Jerarquía cromática: solo contenido principal y Novedades */
.single-job_listing #c27-single-listing .block-type-text.block-field-job_description > .element {
	background: linear-gradient(
		145deg,
		#ffffff 0%,
		#ffffff 56%,
		rgba(232, 242, 244, 0.68) 100%
	) !important;
	border-color: rgba(98, 149, 164, 0.22) !important;
}

.single-job_listing #c27-single-listing .block-type-code > .element:has(.miemp-owner-tools),
.single-job_listing #c27-single-listing .block-type-code > .element:has(.miemp-pubs) {
	background: linear-gradient(
		135deg,
		#ffffff 0%,
		#ffffff 48%,
		rgba(232, 242, 244, 0.76) 100%
	) !important;
	border-color: rgba(98, 149, 164, 0.24) !important;
}

/* Columna práctica: contraste cálido frente al contenido editorial */
.single-job_listing #c27-single-listing .cts-right-column > .col-md-12 > .element {
	background: linear-gradient(
		145deg,
		#ffffff 0%,
		#ffffff 54%,
		rgba(255, 241, 232, 0.72) 100%
	) !important;
	border-color: rgba(220, 140, 70, 0.18) !important;
}

/* Cabeceras de bloque */
.single-job_listing #c27-single-listing .cts-column-wrapper .element > .pf-head {
	display: block;
	margin: 0 0 17px !important;
	padding: 0 0 14px !important;
	border-bottom: 1px solid rgba(216, 228, 231, 0.88);
}

.single-job_listing #c27-single-listing .cts-column-wrapper .element > .pf-head .title-style-1 {
	display: flex;
	align-items: center;
	gap: 10px;
}

.single-job_listing #c27-single-listing .cts-column-wrapper .element > .pf-head .title-style-1 > i {
	display: grid;
	place-items: center;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	margin: 0 !important;
	color: var(--mi-listing-dark) !important;
	font-size: 16px;
	line-height: 1;
	background: var(--mi-listing-soft);
	border-radius: 10px;
}

.single-job_listing #c27-single-listing .cts-column-wrapper .element > .pf-head .title-style-1__heading {
	margin: 0 !important;
	color: var(--mi-listing-deep) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em;
	line-height: 1.3 !important;
}

/* Lectura y jerarquía del contenido */
.single-job_listing #c27-single-listing .wp-editor-content .pf-body,
.single-job_listing #c27-single-listing .wp-editor-content .pf-body p {
	color: var(--mi-listing-muted);
	font-size: 14px;
	line-height: 1.7;
}

.single-job_listing #c27-single-listing .wp-editor-content .pf-body p:last-child {
	margin-bottom: 0;
}

/* Redes, localidad y etiquetas */
.single-job_listing #c27-single-listing .block-type-social_networks .outlined-list,
.single-job_listing #c27-single-listing .block-type-terms .outlined-list,
.single-job_listing #c27-single-listing .block-type-tags .outlined-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
}

.single-job_listing #c27-single-listing .block-type-social_networks .outlined-list li,
.single-job_listing #c27-single-listing .block-type-terms .outlined-list li,
.single-job_listing #c27-single-listing .block-type-tags .outlined-list li {
	margin: 0 !important;
	padding: 0 !important;
}

.single-job_listing #c27-single-listing .block-type-social_networks .outlined-list a,
.single-job_listing #c27-single-listing .block-type-terms .outlined-list a,
.single-job_listing #c27-single-listing .block-type-tags .outlined-list a {
	display: inline-flex !important;
	align-items: center;
	min-height: 38px;
	margin: 0 !important;
	padding: 5px 11px 5px 6px !important;
	color: var(--mi-listing-dark) !important;
	font-size: 12.5px;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none !important;
	background: var(--mi-listing-surface);
	border: 1px solid var(--mi-listing-line);
	border-radius: 999px;
	transition:
		background-color 160ms ease,
		border-color 160ms ease,
		transform 160ms ease;
}

.single-job_listing #c27-single-listing .block-type-social_networks .outlined-list a i,
.single-job_listing #c27-single-listing .block-type-terms .outlined-list a i,
.single-job_listing #c27-single-listing .block-type-tags .outlined-list a i {
	display: grid !important;
	place-items: center;
	flex: 0 0 27px;
	width: 27px;
	height: 27px;
	margin: 0 7px 0 0 !important;
	color: var(--mi-listing-dark) !important;
	font-size: 13px;
	line-height: 1;
	background: var(--mi-listing-soft);
	border-radius: 50%;
	transition:
		color 160ms ease,
		background-color 160ms ease;
}

.single-job_listing #c27-single-listing .block-type-social_networks .outlined-list a:hover,
.single-job_listing #c27-single-listing .block-type-terms .outlined-list a:hover,
.single-job_listing #c27-single-listing .block-type-tags .outlined-list a:hover {
	color: #ffffff !important;
	background: var(--mi-listing-dark) !important;
	border-color: var(--mi-listing-dark) !important;
	transform: translateY(-1px);
}

.single-job_listing #c27-single-listing .block-type-social_networks .outlined-list a:hover span,
.single-job_listing #c27-single-listing .block-type-terms .outlined-list a:hover span,
.single-job_listing #c27-single-listing .block-type-tags .outlined-list a:hover span,
.single-job_listing #c27-single-listing .block-type-social_networks .outlined-list a:hover i,
.single-job_listing #c27-single-listing .block-type-terms .outlined-list a:hover i,
.single-job_listing #c27-single-listing .block-type-tags .outlined-list a:hover i {
	color: #ffffff !important;
}

.single-job_listing #c27-single-listing .block-type-social_networks .outlined-list a:hover i,
.single-job_listing #c27-single-listing .block-type-terms .outlined-list a:hover i,
.single-job_listing #c27-single-listing .block-type-tags .outlined-list a:hover i {
	background: rgba(255, 255, 255, 0.14);
}

/* Categorías */
.single-job_listing #c27-single-listing .block-type-categories .listing-details li > a {
	display: inline-flex !important;
	align-items: center;
	min-height: 42px;
	padding: 5px 12px 5px 6px !important;
	color: var(--mi-listing-dark) !important;
	text-decoration: none !important;
	background: var(--mi-listing-surface);
	border: 1px solid var(--mi-listing-line);
	border-radius: 12px;
}

.single-job_listing #c27-single-listing .block-type-categories .cat-icon {
	display: grid !important;
	place-items: center;
	flex: 0 0 30px;
	width: 30px !important;
	height: 30px !important;
	margin-right: 9px;
	border-radius: 9px !important;
}

.single-job_listing #c27-single-listing .block-type-categories .category-name {
	color: var(--mi-listing-dark) !important;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
}

/* Galería y vídeo */
.single-job_listing #c27-single-listing .block-type-gallery .gallery-item {
	overflow: hidden;
	border: 1px solid rgba(35, 79, 93, 0.11) !important;
	border-radius: 11px !important;
	box-shadow: 0 6px 16px rgba(21, 56, 70, 0.07);
}

.single-job_listing #c27-single-listing .block-type-gallery .gallery-item img {
	transition: transform 220ms ease;
}

.single-job_listing #c27-single-listing .block-type-gallery .gallery-item:hover img {
	transform: scale(1.035);
}

.single-job_listing #c27-single-listing .block-type-video .pf-body {
	overflow: hidden;
	border-radius: 11px;
}

/* Formulario de contacto */
.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 input[type="text"],
.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 input[type="email"],
.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 textarea {
	background: var(--mi-listing-surface);
	border-color: var(--mi-listing-line);
}

/* Primera capa de privacidad: información compacta y consentimiento legible */
.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal {
	position: relative;
	margin: 18px 0 20px;
	padding: 15px;
	color: var(--mi-listing-muted);
	background: linear-gradient(
		145deg,
		rgba(255, 255, 255, 0.92) 0%,
		rgba(232, 242, 244, 0.92) 100%
	);
	border: 1px solid rgba(98, 149, 164, 0.24);
	border-radius: 12px;
	box-shadow: inset 3px 0 0 rgba(98, 149, 164, 0.58);
}

.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal p {
	margin: 0;
}

.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal__title {
	margin-bottom: 6px !important;
	color: var(--mi-listing-deep);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal__text,
.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal__meta {
	font-size: 11.75px;
	line-height: 1.55;
}

.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal__meta {
	margin-top: 5px !important;
}

.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal a {
	color: var(--mi-listing-dark);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal a:hover {
	color: var(--mi-listing-deep);
}

.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal .wpcf7-form-control-wrap {
	display: block;
	margin-top: 12px;
	padding-top: 11px;
	border-top: 1px solid rgba(98, 149, 164, 0.22);
}

.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal .wpcf7-acceptance,
.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal .wpcf7-list-item {
	display: block;
	margin: 0;
}

.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal .wpcf7-list-item > label {
	display: grid;
	grid-template-columns: 18px minmax(0, 1fr);
	align-items: start;
	gap: 8px;
	margin: 0;
	cursor: pointer;
}

.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal input[type="checkbox"] {
	width: 17px !important;
	height: 17px !important;
	margin: 2px 0 0 !important;
	accent-color: var(--mi-listing-dark);
}

.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal .wpcf7-list-item-label {
	color: var(--mi-listing-deep);
	font-size: 11.75px;
	font-weight: 600;
	line-height: 1.5;
}

.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-sending {
	display: block;
	margin: 0 0 10px;
	color: var(--mi-listing-muted);
	font-size: 12px;
}

/* Anuncios relacionados */
.single-job_listing #c27-single-listing .similar-listings .section-title h2 {
	color: var(--mi-listing-deep) !important;
	font-weight: 700 !important;
	letter-spacing: -0.025em;
}

.single-job_listing #c27-single-listing .similar-listings .lf-item-container {
	border: 1px solid rgba(35, 79, 93, 0.11);
	border-radius: var(--mi-listing-radius);
	box-shadow: var(--mi-listing-shadow);
	transition:
		border-color 180ms ease,
		box-shadow 180ms ease,
		transform 180ms ease;
}

.single-job_listing #c27-single-listing .similar-listings .lf-item-container:hover {
	border-color: rgba(98, 149, 164, 0.38);
	box-shadow: var(--mi-listing-shadow-hover);
	transform: translateY(-2px);
}

.single-job_listing #c27-single-listing .similar-listings .lf-item,
.single-job_listing #c27-single-listing .similar-listings .lf-item-default,
.single-job_listing #c27-single-listing .similar-listings .lf-item-alternate {
	border-radius: var(--mi-listing-radius) var(--mi-listing-radius) 0 0;
}

@media (max-width: 767px) {
	.single-job_listing #c27-single-listing {
		--mi-listing-radius: 14px;
	}

	.single-job_listing #c27-single-listing .quick-listing-actions {
		margin-top: 22px !important;
	}

	.single-job_listing #c27-single-listing .quick-listing-actions li:not(.cts-prev):not(.cts-next) {
		padding-right: 7px !important;
	}

	.single-job_listing #c27-single-listing .quick-listing-actions li > a {
		min-height: 40px;
		padding: 9px 13px !important;
		font-size: 12.5px;
	}

	.single-job_listing #c27-single-listing .cts-column-wrapper > .col-md-12 > .element {
		padding: 18px !important;
		margin-bottom: 14px !important;
	}

	.single-job_listing #c27-single-listing .cts-column-wrapper .element > .pf-head {
		margin-bottom: 15px !important;
		padding-bottom: 12px !important;
	}

	.single-job_listing #c27-single-listing .cts-column-wrapper .element > .pf-head .title-style-1 > i {
		flex-basis: 30px;
		width: 30px;
		height: 30px;
		border-radius: 9px;
	}

	.single-job_listing #c27-single-listing .mi-listing-contact .wpcf7 .cf7-legal {
		margin-top: 16px;
		padding: 13px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.single-job_listing #c27-single-listing .quick-listing-actions li > a,
	.single-job_listing #c27-single-listing .outlined-list a,
	.single-job_listing #c27-single-listing .block-type-gallery .gallery-item img,
	.single-job_listing #c27-single-listing .similar-listings .lf-item-container {
		transition: none;
	}
}
