/* ============================================================
   Extracto de cssbootstrap.css (Bootstrap v3.3.0 personalizado)
   SOLO las clases usadas en la sección de Ética/Cumplimiento.
   Copiado tal cual del archivo original, incluidas sus personalizaciones.

   NOTA: Estas clases NO son de Bootstrap y deben venir de tu CSS propio,
   por eso NO están aquí: .maxWL .contBox .cardDos .txCenter
   (.row-flex, .item-cumplimiento, .btn-custom-naranja, etc. sí están
    definidas más abajo como estilos propios tuyos).

   AVISO: .panel-heading-plain se usa en el HTML pero no tiene definición
   ni en Bootstrap ni aquí. Es solo un "gancho" sin estilos; inofensivo.
   ============================================================ */

/* ---------- box-sizing (necesario para que el grid calcule bien) ----------
   En Bootstrap se aplica a *, aquí se limita a estos contenedores
   para no afectar el resto del proyecto. */
.container,
.row,
.col-xs-12,
.col-sm-12,
.col-md-6,
.col-md-12,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-12,
.btn,
.panel,
.panel-body,
.media,
.media-left,
.media-body {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* ---------- Container ---------- */
.container {
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}
@media (min-width:992px) {
	.container {
		width: 970px;
	}
}
@media (min-width:1680px) {
	.container {
		width: 1170px;
	}
}

/* ---------- Row ---------- */
.row {
	margin-right: -15px;
	margin-left: -15px;
}

/* ---------- Columnas (base: padding y posición, aplica a todas) ---------- */
.col-xs-12,
.col-sm-12,
.col-md-6,
.col-md-12,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-12 {
	position: relative;
	min-height: 1px;
	padding-right: 15px;
	padding-left: 15px;
}

/* col-xs-12: siempre 100% (con margin-bottom personalizado del original) */
.col-xs-12 {
	float: left;
	width: 100%;
	margin-bottom: 10px;
}

/* col-sm-12: 100% desde >= 768px */
@media (min-width:768px) {
	.col-sm-12 {
		float: left;
		width: 100%;
	}
}

/* col-md-*: desde >= 992px */
@media (min-width:992px) {
	.col-md-6,
	.col-md-12 {
		float: left;
	}
	.col-md-12 {
		width: 100%;
	}
	.col-md-6 {
		width: 50%;
	}
	.col-md-offset-3 {
		margin-left: 25%;
	}

	/* --- Estilos propios para igualar alturas con flex --- */
	.panel-heading-flex2 {
		display: flex;
		align-items: center;
	}
	.row-flex {
		display: flex;
		flex-wrap: wrap;
	}
	.row-flex > [class*='col-'] {
		display: flex;
		flex-direction: column;
	}
	.row-flex .panel {
		flex: 1;
		margin-bottom: 10px;
		display: flex;
		flex-direction: column;
	}
	.row-flex .panel-body {
		display: flex;
		flex-direction: column;   /* apila el contenido interno */
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
	}
}

/* col-lg-*: desde >= 1200px (col-lg-12 con text-align personalizado del original) */
@media (min-width:1200px) {
	.col-lg-3,
	.col-lg-4,
	.col-lg-5,
	.col-lg-6,
	.col-lg-7,
	.col-lg-8,
	.col-lg-12 {
		float: left;
	}
	.col-lg-3 {
		width: 25%;
	}
	.col-lg-4 {
		width: 33.33333333%;
	}
	.col-lg-5 {
		width: 41.66666667%;
	}
	.col-lg-6 {
		width: 50%;
	}
	.col-lg-7 {
		width: 58.33333333%;
	}
	.col-lg-8 {
		width: 66.66666667%;
	}
	.col-lg-12 {
		width: 100%;
		text-align: center;
	}
}

/* ---------- Utilidad de texto ---------- */
.text-center {
	text-align: center;
}

/* ---------- Imagen responsive ---------- */
.img-responsive {
	display: block;
	max-width: 100%;
	height: auto;
}

/* ---------- Botón base (Bootstrap) ---------- */
.btn {
	display: inline-block;
	padding: 6px 12px;
	margin-bottom: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.42857143;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	-ms-touch-action: manipulation;
	touch-action: manipulation;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	background-image: none;
	border: 1px solid transparent;
	border-radius: 4px;
}

/* ---------- Panel ---------- */
.panel {
	margin-bottom: 20px;
	background-color: #fff;
	border: 1px solid transparent;
	border-radius: 4px;
	-webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
	box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
	/* Imagen de fondo del original (ruta vacía "/.png" -> genera 404,
	   se puede eliminar sin problema si no se usa) */
	background-image: url(../imagenes/iconos/.png);
	background-repeat: no-repeat;
	background-position: right bottom;
}

.panel-body {
	padding: 15px;
}

.panel-default {
	border-color: #ddd;
}

/* ---------- Media object ---------- */
.media {
	margin-top: 15px;
}
.media:first-child {
	margin-top: 0;
}

.media-left {
	padding-right: 10px;
}

.media-left,
.media-body {
	display: table-cell;
	vertical-align: top;
}

.media-heading {
	margin-top: 0;
	margin-bottom: 5px;
}

/* ---------- clearfix (Bootstrap lo aplica a estos contenedores) ---------- */
.container:before,
.container:after,
.row:before,
.row:after,
.panel-body:before,
.panel-body:after {
	display: table;
	content: " ";
}
.container:after,
.row:after,
.panel-body:after {
	clear: both;
}

/* ============================================================
   Estilos propios (overrides). Van al final para tener prioridad.
   ============================================================ */
.media-left {
	width: 120px;            /* mismo ancho para todas */
	text-align: center;
	vertical-align: middle;
}

.media-object {
	max-width: 100px;
	max-height: 100px;       /* todas con el mismo alto máximo */
	width: auto;
	height: auto;
}

.cardDos h2 {
	color: #000 !important;
}
.cardDos h3 {
	color: #777 !important;
}
.cardDos .media-body span {
	color: #777;
	font-weight: 400;
}
@media (max-width: 960px) {
	.cardDos {
		padding: min(1em, 3%) !important;
	}
}

.panel-heading-flex {
	display: flex;
	align-items: center;
	gap: 10px;
}
/* Ícono + texto: siempre en fila, en cualquier tamaño */
.icon-title-flex {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* El contenedor grande (título + botón) solo es flex en desktop */
.panel-heading-flex2 {
	gap: 10px;
}
.panel-heading {
	color: #000 !important;
	background-color: #fff !important;
	border-color: #ffffff !important;
}
.panel-heading-flex img {
	height: 40px;
	object-fit: cover;
}
.panel-heading-flex2 img {
	height: 40px;
	object-fit: cover;
}
.panel-heading-flex span {
	font-weight: bold;
	font-size: 16px;
}
.panel-heading-flex2 span {
	font-weight: bold;
	font-size: 16px;
}
.panel-default {
	padding-left: 3% !important;
}
.item-cumplimiento {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
	text-align: left;
}
.item-cumplimiento img {
	width: 20px;
	height: 20px;
	flex-shrink: 0; /* evita que la imagen se achique si el texto es largo */
}
.item-cumplimiento span {
	font-size: 14px;
	min-width: 0;       /* permite que el span se encoja dentro del flex */
	word-break: break-word;   /* corta palabras/URLs largas si no caben */
	overflow-wrap: break-word; /* refuerzo para navegadores más viejos */
}

.btn-custom-naranja {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background-color: #ffffff;
	color: #ff612a;
	border: 2px solid #ff612a !important;
	border-radius: 6px;
	padding: 8px 16px;
	font-weight: bold;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.btn-custom-naranja img {
	height: 18px;
	width: 18px;
	object-fit: contain;
	flex-shrink: 0;
}
.btn-custom-naranja span {
	color: #ff612a;
}

/* Efecto opcional al pasar el mouse */
.btn-custom-naranja:hover,
.btn-custom-naranja:focus {
	background-color: #ff612a;
	color: #ffffff;
	text-decoration: none;
}
.btn-custom-naranja:hover span,
.btn-custom-naranja:focus span {
	color: #ffffff;
}
.link-azul {
	color: #0000EE;
	text-decoration: underline;
}
.link-azul:hover,
.link-azul:focus {
	color: #0000EE;
	text-decoration: underline;
}
#pyr {
	scroll-margin-top: 20px;
}