.ctos-container-fluid {
	margin-right: auto;
	padding-left: auto;
	padding-left: 15px;
	padding-right: 15px;
}

.ctos-breadcrumb {
	padding-left: 0;
}

.ctos-dark-bg {
	background-color: #d3d3d4;
	border: 1px solid;
	border-color: #bcbebf;
	border-radius: 6px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	-ms-border-radius: 6px;
	-o-border-radius: 6px;
	color: #141619;
}

.ctos-bg-dark {
	background-color: #24292E;
	color: #d3d3d4;
}

.ctos-rounded {
	border-radius: 6px;
}

/* Estilos para los bordes de una linea con esquinas redondeadas */
.borde-linea {
	border: 1px solid #ccc;
	border-radius: 6px;
}

.form-horizontal .control-label {
	text-align: left;
}

.ctos-modal-footer {
	text-align: right;
}

/* Modal Agregar a grupo: evita truncado de etiquetas y recorte del botón */
#modalAgregarGrupo .ctos-modal-agregar-grupo {
	min-width: 320px;
	max-width: 95vw;
	margin-top: 50px;
	margin-bottom: 30px;
}
#modalAgregarGrupo .modal-content {
	display: flex;
	flex-direction: column;
	max-height: 90vh;
	border-radius: 8px;
	overflow: hidden;
}
#modalAgregarGrupo .modal-header {
	padding: 20px 24px 16px;
}
#modalAgregarGrupo .ctos-modal-agregar-grupo-body {
	padding: 20px 24px;
	flex: 1 1 auto;
	overflow-y: auto;
	min-height: 0;
}
#modalAgregarGrupo .modal-footer {
	flex-shrink: 0;
	padding: 16px 24px 20px;
	border-top: 1px solid #e5e5e5;
}
#modalAgregarGrupo .ctos-form-group-agregar-grupo {
	margin-bottom: 16px;
}
#modalAgregarGrupo .ctos-label-agregar-grupo {
	text-align: left;
	padding-left: 0;
	white-space: nowrap;
	overflow: visible;
}
#modalAgregarGrupo .ctos-label-agregar-grupo input[type="radio"] {
	margin-right: 6px;
}

/**** Márgenes y Paddings ****/
.ctos-m-0 {
	margin: 0 !important;
}

.ctos-m-1 {
	margin: 8px !important;
}

.ctos-m-2 {
	margin: 16px !important;
}

.ctos-m-3 {
	margin: 24px !important;
}

.ctos-m-4 {
	margin: 32px !important;
}

.ctos-m-5 {
	margin: 40px !important;
}

.ctos-m-auto {
	margin: auto !important;
}

.ctos-mx-0 {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.ctos-mx-1 {
	margin-left: 8px !important;
	margin-right: 8px !important;
}

.ctos-mx-2 {
	margin-left: 16px !important;
	margin-right: 16px !important;
}

.ctos-mx-3 {
	margin-left: 24px !important;
	margin-right: 24px !important;
}

.ctos-mx-4 {
	margin-left: 32px !important;
	margin-right: 32px !important;
}

.ctos-mx-5 {
	margin-left: 40px !important;
	margin-right: 40px !important;
}

.ctos-mx-auto {
	margin-left: auto !important;
	margin-right: auto !important;
}

.ctos-my-0 {
	margin-bottom: 0 !important;
	margin-top: 0 !important;
}

.ctos-my-1 {
	margin-bottom: 8px !important;
	margin-top: 8px !important;
}

.ctos-my-2 {
	margin-bottom: 16px !important;
	margin-top: 16px !important;
}

.ctos-my-3 {
	margin-bottom: 24px !important;
	margin-top: 24px !important;
}

.ctos-my-4 {
	margin-bottom: 32px !important;
	margin-top: 32px !important;
}

.ctos-my-5 {
	margin-bottom: 40px !important;
	margin-top: 40px !important;
}

.ctos-my-auto {
	margin-bottom: auto !important;
	margin-top: auto !important;
}

.ctos-mt-0 {
	margin-top: 0 !important;
}

.ctos-mt-1 {
	margin-top: 8px !important;
}

.ctos-mt-2 {
	margin-top: 16px !important;
}

.ctos-mt-3 {
	margin-top: 24px !important;
}

.ctos-mt-4 {
	margin-top: 32px !important;
}

.ctos-mt-5 {
	margin-top: 40px !important;
}

.ctos-mt-auto {
	margin-top: auto !important;
}

.ctos-me-0 {
	margin-right: 0 !important;
}

.ctos-me-1 {
	margin-right: 8px !important;
}

.ctos-me-2 {
	margin-right: 16px !important;
}

.ctos-me-3 {
	margin-right: 24px !important;
}

.ctos-me-4 {
	margin-right: 32px !important;
}

.ctos-me-5 {
	margin-right: 40px !important;
}

.ctos-me-auto {
	margin-right: auto !important;
}

.ctos-mb-0 {
	margin-bottom: 0 !important;
}

.ctos-mb-1 {
	margin-bottom: 8px !important;
}

.ctos-mb-2 {
	margin-bottom: 16px !important;
}

.ctos-mb-3 {
	margin-bottom: 24px !important;
}

.ctos-mb-4 {
	margin-bottom: 32px !important;
}

.ctos-mb-5 {
	margin-bottom: 40px !important;
}

.ctos-mb-auto {
	margin-bottom: auto !important;
}

.ctos-ms-0 {
	margin-left: 0 !important;
}

.ctos-ms-1 {
	margin-left: 8px !important;
}

.ctos-ms-2 {
	margin-left: 16px !important;
}

.ctos-ms-3 {
	margin-left: 24px !important;
}

.ctos-ms-4 {
	margin-left: 32px !important;
}

.ctos-ms-5 {
	margin-left: 40px !important;
}

.ctos-ms-auto {
	margin-left: auto !important;
}

.ctos-p-0 {
	padding: 0 !important;
}

.ctos-p-1 {
	padding: 8px !important;
}

.ctos-p-2 {
	padding: 16px !important;
}

.ctos-p-3 {
	padding: 24px !important;
}

.ctos-p-4 {
	padding: 32px !important;
}

.ctos-p-5 {
	padding: 40px !important;
}

.ctos-px-0 {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.ctos-px-1 {
	padding-left: 8px !important;
	padding-right: 8px !important;
}

.ctos-px-2 {
	padding-left: 16px !important;
	padding-right: 16px !important;
}

.ctos-px-3 {
	padding-left: 24px !important;
	padding-right: 24px !important;
}

.ctos-px-4 {
	padding-left: 32px !important;
	padding-right: 32px !important;
}

.ctos-px-5 {
	padding-left: 40px !important;
	padding-right: 40px !important;
}

.ctos-py-0 {
	padding-bottom: 0 !important;
	padding-top: 0 !important;
}

/* Estilos entre ctos-py-0 y ctos-py-1 */
.ctos-py-0-1 {
	padding-bottom: 4px !important;
	padding-top: 4px !important;
}

.ctos-py-1 {
	padding-bottom: 8px !important;
	padding-top: 8px !important;
}

.ctos-py-2 {
	padding-bottom: 16px !important;
	padding-top: 16px !important;
}

.ctos-py-3 {
	padding-bottom: 24px !important;
	padding-top: 24px !important;
}

.ctos-py-4 {
	padding-bottom: 32px !important;
	padding-top: 32px !important;
}

.ctos-py-5 {
	padding-bottom: 40px !important;
	padding-top: 40px !important;
}

.ctos-pt-0 {
	padding-top: 0 !important;
}

.ctos-pt-1 {
	padding-top: 8px !important;
}

.ctos-pt-2 {
	padding-top: 16px !important;
}

.ctos-pt-3 {
	padding-top: 24px !important;
}

.ctos-pt-4 {
	padding-top: 32px !important;
}

.ctos-pt-5 {
	padding-top: 40px !important;
}

.ctos-pe-0 {
	padding-right: 0 !important;
}

.ctos-pe-1 {
	padding-right: 8px !important;
}

.ctos-pe-2 {
	padding-right: 16px !important;
}

.ctos-pe-3 {
	padding-right: 24px !important;
}

.ctos-pe-4 {
	padding-right: 32px !important;
}

.ctos-pe-5 {
	padding-right: 40px !important;
}

.ctos-pb-0 {
	padding-bottom: 0 !important;
}

.ctos-pb-1 {
	padding-bottom: 8px !important;
}

.ctos-pb-2 {
	padding-bottom: 16px !important;
}

.ctos-pb-3 {
	padding-bottom: 24px !important;
}

.ctos-pb-4 {
	padding-bottom: 32px !important;
}

.ctos-pb-5 {
	padding-bottom: 40px !important;
}

.ctos-ps-0 {
	padding-left: 0 !important;
}

.ctos-ps-1 {
	padding-left: 8px !important;
}

.ctos-ps-2 {
	padding-left: 16px !important;
}

.ctos-ps-3 {
	padding-left: 24px !important;
}

.ctos-ps-4 {
	padding-left: 32px !important;
}

.ctos-ps-5 {
	padding-left: 40px !important;
}

.ctos-fs-20px {
	font-size: 20px !important;
}

label {
	font-weight: 400;
}

/**** Estilos para los botones ****/
.ctos-btn {
	width: 150px;
}

.ctos-btn-dark {
	background-color: #24292E;
	border-color: #24292E;
	color: #fff;
	font-size: 14px;
}

.ctos-btn-dark:hover,
.ctos-btn-dark:active,
.ctos-btn-dark:focus {
	background-color: #424649;
	border-color: #373b3e;
	color: #fff;
}

.ctos-btn-warning {
	background-color: #f0ad4e;
	border-color: #eea236;
	color: #000;
	font-size: 14px;
}

.ctos-btn-warning:hover,
.ctos-btn-warning:active,
.ctos-btn-warning:focus {
	background-color: #ec971f;
	border-color: #d58512;
	color: #000;
}

.ctos-btn-info {
	background-color: #babdba;
	border-color: #babdba;
	color: #000;
	font-size: 14px;
}

.ctos-btn-info:hover,
.ctos-btn-info:active,
.ctos-btn-info:focus {
	background-color: #9c9f9c;
	border-color: #9c9f9c;
	color: #000;
}

.ctos-btn-danger {
	background-color: #dc3545;
	border-color: #dc3545;
	box-shadow: none;
	color: #fff;
	font-size: 14px;
}

.ctos-btn-danger:hover,
.ctos-btn-danger:active,
.ctos-btn-danger:focus {
	background-color: #bb2d3b;
	border-color: #d43f3a;
	color: #fff;
}

/**** Formularios ****/
.ctos-form-control {
	height: max-content;
}


.ctos-badge {
	background-color: #24292E;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-ms-border-radius: 5px;
	-o-border-radius: 5px;
	color: #fff;
	margin-bottom: 2px;
}

/**** Tablas ****/
/* Estilos para las filas seleccionadas */
table.dataTable>tbody>tr.selected>*,
table.dataTable.table-striped>tbody>tr.odd.selected>* {
	box-shadow: inset 0 0 0 9999px rgba(36, 41, 46, .3);
	color: #24292e;
}

/* Estilos HOVER para las tablas seleccionadas*/
table.dataTable.table-hover>tbody>tr.selected:hover>*,
table.dataTable.table-striped>tbody>tr.odd.selected:hover>* {
	box-shadow: inset 0 0 0 9999px rgba(36, 41, 46, .5);
}

.ctos-table {
	margin-bottom: 0 !important;
}

div.dataTables_wrapper div.dataTables_info {
	padding-top: 20px;
	white-space: nowrap
}

div.dataTables_wrapper div.dataTables_paginate {
	margin: 0;
	text-align: right;
	white-space: nowrap
}

/* Se añaden estilos para la paginacion */
.pagination>li>a,
.pagination>li>a:hover,
.pagination>li>a:focus,
.pagination>li>span,
.pagination>li>span:hover,
.pagination>li>span:focus {
	color: #777;
}

/* Se oculta el botón "Guardar" de ficha_contacto.php */
#btnGuardar {
	display: none;
}

/* Se crea clase para alinear horizontalmente */
.ctos-text-center {
	align-items: center;
	display: flex;
	justify-content: center;
}

/* Se le establece un alto mínimo al panel */
.ctos-panel-body {
	min-height: 650px;
}

.texto-informativo {
	background-color: #b8c1b5;
	border-radius: 6px;
}

/* Se le aplica una altura a la modal de Nuevo contacto */
.section-nuevoContacto {
	height: 600px;
}

/* Se le aplica una altura a la seccion de los inputs de Nuevo contacto */
.section-inputs {
	height: 290px;
}

/* Se cambia el estilo de los botones de los swal */
.ctos-swal .swal-button {
	font-size: 14px;
	font-weight: lighter;
	padding: 6px 12px;
	width: 150px;
}
/**** Estilos para la barra de búsqueda ****/
.resultadosSeccionContactos {
	background-color: #f1f1f1;
	border: 1px solid #ddd;
	font-size: 14px;
	left: 0;
	margin-left: 15px;
	margin-right: 15px;
	max-height: 200px;
	overflow: hidden;
	overflow-y: auto;
	position: absolute;
	right: 0;
	text-overflow: ellipsis;
	top: 100%;
	white-space: nowrap;
	z-index: 1;
}

.autocomplete-list-item {
	cursor: pointer;
	padding: 8px 12px;
}

.autocomplete-list-item:hover {
	background-color: #e9e9e9;
}

.resultadosSeccionContactos {
	background-color: #fff;
	border: 1px solid #ddd;
	cursor: pointer;
	display: none;
}

.resultadosSeccionContactos .resultado-item {
	cursor: pointer;
	padding: 8px 20px;
}

.resultadosSeccionContactos .resultado-item:hover {
	background-color: #eee;
}

strong {
	font-weight: bold;
}

/* Se añade clase para el cursor pointer */
.pointer {
	cursor: pointer;
}

/* ========= CONTACTOS =========== */
/* =========================
   Contenedores inline y modal
   ========================= */
#crearContactoInline,
#editarContactoInline,
#modalContacto .modal-body {
    padding: 20px;
    margin-bottom: 25px;
    background-color: #fdfdfd;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

/* Encabezados de secciones */
#crearContactoInline h5,
#editarContactoInline h5,
#modalContacto .modal-header h5 {
    margin-bottom: 15px;
    font-weight: 600;
    font-size: 1.1em;
    color: #333;
}

/* =========================
   Inputs y Textareas
   ========================= */
#crearContactoInline input,
#editarContactoInline input,
#modalContacto input,
#modalContacto textarea {
    display: block;
    width: 100%;
    padding: 10px 12px;
    margin-bottom: 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.95em;
    box-sizing: border-box;
    transition: border 0.2s ease, box-shadow 0.2s ease;
}

#crearContactoInline input:focus,
#editarContactoInline input:focus,
#modalContacto input:focus,
#modalContacto textarea:focus {
    border-color: #66afe9;
    box-shadow: 0 0 4px rgba(102, 175, 233, 0.6);
    outline: none;
}

/* =========================
   Botones
   ========================= */
#crearContactoInline button,
#editarContactoInline button,
#modalContacto button {
    margin-top: 8px;
    padding: 8px 20px;
    border-radius: 6px;
    font-size: 0.95em;
    cursor: pointer;
}

/* =========================
   Resultados del buscador
   ========================= */
.resultadosSeccionContactos {
    border: 1px solid #ccc;
    border-radius: 6px;
    max-height: 220px;
    overflow-y: auto;
    background-color: #fff;
    margin-top: 5px;
    padding: 5px 0;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.resultado-item {
    padding: 8px 15px;
    cursor: pointer;
    border-bottom: 1px solid #f1f1f1;
    transition: background 0.15s;
}

.resultado-item:last-child {
    border-bottom: none;
}

.resultado-item:hover {
    background-color: #f0f8ff;
}

/* =========================
   Modal ajustes
   ========================= */
#modalContacto .modal-dialog {
    max-width: 520px;
}

#modalContacto .modal-footer {
    text-align: right;
}

/* =========================
   Mensajes y ayudas
   ========================= */
#sTexto + p,
.sil-font-size-80pc {
    font-size: 0.85em;
    color: #555;
    margin-top: 5px;
}
