/* DLP PLUGIN DOCUMENTOS */
.dlp-grid-search{
    display:none !important;
}
.dlp-grid-card-file-info{
    display:none !important;  
}

.dlp-single-wrap .dlp-single-right {
    border: none !important;
}
.dlp-grid-card-document-link-wrap a, 
.dlp-document-info-buttons a{
	display: block;
	width: 50%;
	height:48px !important;
	padding: 10px;
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	background-color: #A41034;
	border: none;
	border-radius: 100px;
	cursor: pointer;
	transition: background-color 0.3s;
}
.dlp-grid-card-document-link-wrap a:hover, .dlp-document-info-buttons a:hover {
	background-color: #1D3456;
	color: #fff !important;
}

/* Estilos para m\u00faltiples botones */
.dlp-grid-card-buttons-extremos {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    /* Empuja los botones (y todo lo que va despues, como el tipo/tamano
       de archivo) al fondo de la tarjeta, para que queden alineados entre
       tarjetas sin importar cuanto texto tenga el titulo/descripcion de
       cada una. Requiere que ".dlp-grid-card-content" realmente crezca
       para llenar la tarjeta (ver flex:1 mas abajo) - si no, no hay
       espacio sobrante para que este margin-top:auto empuje nada. */
    margin-top: auto;
}

.dlp-grid-card-buttons-extremos .dlp-btn-left,
.dlp-grid-card-buttons-extremos .dlp-btn-center,
.dlp-grid-card-buttons-extremos .dlp-btn-right {
    flex: 1;
    min-width: 120px;
}

.dlp-grid-card-buttons-extremos a {
    width: 100% !important;
}

.dlp-document-info-buttons {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    max-width: 300px;
    padding-left: 20px;
}

.dlp-document-info-buttons a {
    flex: 1;
    min-width: 150px;
}
.dlp-grid-card-fileinfo{
    font-size: 14px !important;
    color: #6D758F !important;
}
#dlp-document-info-list {
    margin-bottom: 0 !important;
}

.dlp-grid-card{
    border: 0px solid transparent !important;
    padding: 0;
    border-radius: 0 0 6px 6px !important;
    background: #FFF;
    box-shadow: 0px 0px 68.7px 0px rgba(0, 0, 0, 0.10);
}

.dlp-grid-card-featured-img img{
    border-radius: 0 !important;
}

.dlp-grid-card-content{
	border:0 !important;
    padding: 20px !important;
    /* ".dlp-grid-card-inner" es un flex-column con height:100% (CSS del
       plugin base), pero un height:100% en un hijo NO lo hace crecer en
       el eje principal de un flex-column — para eso se necesita flex:1.
       Sin esto, esta caja solo mide lo que su contenido ocupa (ej. ~380px
       en una tarjeta de 555px), dejando el resto del alto de la tarjeta
       vacío por FUERA de este contenedor, donde el margin-top:auto de los
       botones no puede alcanzarlo. Con flex:1, esta caja sí llena el alto
       real de la tarjeta y el margin-top:auto de los botones puede
       empujarlos correctamente al fondo. */
    flex: 1 1 auto;
    min-height: 0;
}
.dlp-grid-card-title {
    text-align: left !important;
}
.dlp-grid-card-title h4,
.dlp-grid-card-title a,
.dlp-document-info-buttons a{
	color: #fff !important;
	font-size: 20px;
	font-style: normal;
	font-weight: 700 !important;
	line-height: normal;
}
.dlp-grid-card-document-link-wrap {
    display: flex !important;
	flex-wrap: nowrap !important;
}


.dlp-grid-card .dlp-grid-card-inner{
	position: relative;
}

.dlp-grid-card .tag-nuevo{
	position:absolute; 
	top:-2px; 
	right: 12px; 
	z-index:1;
}

.dlp-grid-container .dlp-grid-card-content a.document-library-pro-button{
    border-radius: 8px !important;
}
.dlp-grid-card-document-link-wrap{
    display: none !important;
}

.dlp-grid-card-content .contiene-fav-qua{
    order: -2;
}

.dlp-grid-card-content .dlp-grid-card-title-row{
    order: -1;
}

@media (max-width: 768px) {
	.dlp-single-wrap {
        flex-direction: column !important;
    }
	.dlp-grid-card .tag-nuevo{
		right: 25px; 
	}

	.dlp-main-info {
		display: inline-block !important;
    }
	
} 

.dlp-grid-card-info {
    margin: 12px auto;
}

.calificacion-estrellas{ 
	width: 60%;
}
.contiene-fav-qua-single {
	width: 100px;
    padding-bottom: 10px;
}
.contiene-fav-qua,
.contiene-fav-qua-single {
    display: flex;
    align-items: center; /* alinea los 3 íconos entre sí en la misma línea */
    justify-content: space-between; /* Opcional: Espaciado entre divs */
}

.contiene-fav-qua-single .likes-icono,
.contiene-fav-qua-single .share-icono,
.contiene-fav-qua-single .favorito-icono{
	width: 33%;
}

/*
 * Grid: las estrellas quedan a la izquierda y los 3 íconos (like, favorito,
 * compartir) agrupados y pegados a la derecha, en la misma línea. Antes los
 * 3 íconos eran hijos sueltos de .contiene-fav-qua junto a las estrellas,
 * y con justify-content:space-between quedaban repartidos con espacios
 * desiguales en vez de agrupados — ahora van dentro de .grid-card-acciones,
 * que es el segundo (y único otro) hijo del flex, así que
 * justify-content:space-between solo reparte ESOS DOS bloques.
 */
.grid-card-acciones {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-shrink: 0;
}
.grid-card-acciones .likes-icono,
.grid-card-acciones .share-icono,
.grid-card-acciones .favorito-icono {
    width: auto;
}

/*
 * Like, favorito y compartir: mismo tratamiento para los tres, así salen
 * del mismo tamaño y alineados a la misma línea de base (antes cada uno
 * tenía su propio margin/padding-top distinto, y el ícono de favorito ni
 * siquiera tenía una regla de tamaño — por eso se veían desparejos). Los
 * SVG inline (asylum_icono_svg() en functions.php) reemplazan los <img> a
 * PNGs de tamaños nativos distintos entre sí.
 */
.likes-icono,
.favorito-icono,
.share-icono {
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 4px;
	padding-top: 0;
	margin: 0;
}
.likes-icono svg,
.favorito-icono svg,
.share-icono svg {
	width: 20px;
	height: 20px;
	display: block;
	flex-shrink: 0;
}

/* FAVORITO */
.favorito-icono{
	text-align: left;
}

/* LIKES */
.likes-icono{
	text-align: right;
	font-family: 'Open Sans', sans-serif;
	font-size: 14px;
}
.like-button{
	cursor:pointer;
}

.like-button-img{
	margin-top: -8px !important;
	border-radius: 0px !important;
}
.like-active{
	color:#18943B;
}
.like-inactive{
	color:#3C3C3B;
}

/* COMPARTIR */
.share-icono{
	text-align: right;
}

/*CALIFICACION*/
.calificacion-estrellas {
    display: flex;
    gap: 4px;
    margin-top: 5px;
}

.estrella {
    font-size: 20px;
    color: #FFCA00; /* Color dorado para las estrellas llenas */
}

.estrella.vacia {
    color: #3C3C3B; /* Color gris para las estrellas vacías */
}
/*v2*/
.calificacion-estrellas span {
    cursor: pointer;
    font-size: 20px;
    color: gray;
}
.calificacion-estrellas span.activa {
    color: gold;
}
.promedio-estrellas {
    font-size: 16px;
    color: gold;
}

/* NAV LANGUAGE SWITCHER DROPDOWN */
.lang-switcher-menu {
    position: relative;
    list-style: none;
}
.lang-switcher-toggle {
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    cursor: pointer;
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    opacity: 1 !important;
}
.lang-switcher-toggle:hover {
    color: #fff !important;
    opacity: 0.8 !important;
}
.lang-caret {
    font-size: 8px;
    transition: transform 0.2s;
    display: inline-block;
}
.lang-switcher-menu.lang-open .lang-caret {
    transform: rotate(180deg);
}
.lang-switcher-dropdown {
    display: none;
    position: absolute;
    top: 100%;       /* pegado al toggle, sin gap que rompa el hover */
    right: 0;
    padding-top: 8px; /* espacio visual entre toggle y opciones */
    background: transparent;
    min-width: 160px;
    z-index: 9999;
}
.lang-switcher-dropdown::before {
    content: '';
    display: block;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    position: absolute;
    top: 8px;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}
.lang-switcher-menu.lang-open .lang-switcher-dropdown,
.lang-switcher-menu:hover .lang-switcher-dropdown {
    display: block;
}
.lang-switcher-menu:hover .lang-caret {
    transform: rotate(180deg);
}
.lang-switcher-dropdown .lang-item a {
    display: block !important;
    padding: 9px 18px !important;
    color: #3C3C3B !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.15s, color 0.15s;
}
.lang-switcher-dropdown .lang-item a:hover {
    background: #f5f5f5 !important;
    color: #A41034 !important;
}
.lang-switcher-dropdown .lang-item-active a {
    color: #A41034 !important;
}

/* LOGIN LANGUAGE SWITCHER */
.login-lang-switcher {
    text-align: center;
    margin-bottom: 20px;
    font-size: 15px;
}
.login-lang-switcher .lang-btn {
    color: #6D758F;
    text-decoration: none;
    font-weight: 600;
    padding: 4px 10px;
    transition: color 0.2s;
}
.login-lang-switcher .lang-btn:hover {
    color: #A41034;
}
.login-lang-switcher .lang-btn.lang-active {
    color: #A41034;
    border-bottom: 2px solid #A41034;
}
.login-lang-switcher .lang-separator {
    color: #ccc;
    margin: 0 2px;
}

/* VENTANA EMERGENTE */
#mensaje-emergente, #mensaje-emergente-descarga{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.mensaje-contenido {
    background: white;
    padding: 20px;
    border-radius: 5px;
    text-align: center;
    width: 300px;
}

#cerrar-emergente, #cerrar-emergente-recarga {
    background: #A41034;
    border-radius: 30px !important;
    color: white;
    border: none;
    margin-top: 10px;
    cursor: pointer;
    display: inline-block;
    width: 100px;
    text-align: center;
    line-height: normal;
}

#calificacion-estrellas {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin: 20px auto;
    max-width: fit-content;
}



#calificacion-estrellas .estrella {
    font-size: 30px; /* Tamaño de las estrellas */
    color: #ccc; /* Color por defecto de las estrellas */
    cursor: pointer; /* Cambia el cursor a "puntero" */
    transition: color 0.2s ease-in-out; /* Transición suave al cambiar el color */
}

#calificacion-estrellas .estrella:hover,
#calificacion-estrellas .estrella:hover ~ .estrella {
    color: #ffcc00; /* Color de las estrellas al pasar el mouse */
}

#calificacion-estrellas .estrella.seleccionada {
    color: #ffcc00; /* Color de las estrellas seleccionadas */
}
/*start Notificaciones*/

.dropdown-not {
  position: relative;
  display: inline-block;
}

.icon {
  cursor: pointer;
  padding: 35px 0;
}

.dropdown-menu-not h3{
    font-size: 22px;
    color:#3C3C3B;
}

.dropdown-menu-not p{
    font-size: 12px;
    color:#6C6E71;
}

.dropdown-menu-not {
  position: absolute;
  top: 100%; 
  left: -290px;;
  background-color: white;
  border: 1px solid #ccc;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 0;
  margin: 0;
  list-style: none;
  display: none;
  z-index: 1000;
  min-width: 500px;
  border-top: none;
  border-radius: 0px 0px 15px 15px;
    padding: 5px 15px;
}
.dropdown-menu-not li {
  padding: 10px;
  cursor: pointer;
}

.dropdown-menu-not li:hover {
  background-color: #f0f0f0;
}
.date-n{
	Font-size:9px;
}

/*end Notificaciones*/

/*BUSCADOR*/
.search-container{
	position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #f0f0f0;
    border-radius: 30px;
    padding: 5px 15px;
    width: 100% !important;
    margin: 20px auto;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
    gap: 10px;
}

#search-posts-form{
	display: flex;
    align-items: center;
    width: 100%;
    z-index: 9;
}

.search-container .search-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.search-container .search-icon svg {
    width: 20px;
    height: 20px;
    display: block;
    flex-shrink: 0;
}

.search-container button[type="submit"] {
    display: flex;
    align-items: center;
    justify-content: center;
}

#search-results {
    border: 1px solid #ddd;
    padding: 33px 13px;
    max-height: 300px;
    overflow-y: auto;
    position: absolute;
    top: 20px;
    left: 0;
    width: 100%;
    background: #f0f0f0;
    z-index: 8;
    border-top: 0;
}

.search-result-item {
    padding: 5px 0;
}

.search-result-item a {
    text-decoration: none;
    color: #333;
}

.search-result-item a:hover {
    text-decoration: underline;
    color: #0073aa;
}

.dlp-grid-card-document-link-wrap {
    justify-content: center !important;
}

/* File info displayed under buttons in Grid Card */
.dlp-grid-file-info-below {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    color: #6c6f72;
    font-size: 13px;
    margin-top: 12px;
}
.dlp-grid-file-info-below .dlp-grid-file-size,
.dlp-grid-file-info-below .dlp-grid-file-type,
.dlp-grid-file-info-below .dlp-grid-download-count {
    display: inline-block;
}
.dlp-grid-file-info-below .dlp-sep { color: #d0d2d3; }

/*barra busqueda*/
.tx-breadcrumb.breadcrumb-area.bg-default.has-breadcrumb-overlay {
	display: none;
}
 
.search-container {
display: flex;
justify-content: space-between;
align-items: center;
background-color: #f0f0f0;
border-radius: 30px;
padding: 5px 15px;
width: 100% !important;
margin: 20px auto;
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
gap: 10px; /* Espaciado entre los elementos */
}

.category-dropdown select {
	border: none;
	background-color: #f0f0f0;
	font-size: 14px;
	padding: 5px;
	outline: none;
	appearance: none;
	flex: 0 0 120px; /* Fija el ancho del desplegable */
	text-align: center;
}

.nice-select {
	background-color: #f0f0f0;
	border: none !important;
}

input[type="text"] {
	flex: 1;
	border: none;
	outline: none;
	padding: 5px 10px;
	font-size: 14px;
	color: #333;
	background-color: #f0f0f0;
}

button {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 16px;
	color: #333;
	padding: 0;
}

button .search-icon {
	font-size: 18px;
}

.single-dlp_document .page-wrapper .container{
	margin-top: -70px !important;
}
.dlp-main-info{
	display: flex;
	align-items: center;
}
.dlp-single-wrap{
	margin-top: 40px;
}

.dlp-main-info .dlp-grid-card-title h4{
    color: #15314a !important;
}

.logged-in-as{
	display: none;
}
.post-comment-form h3{
	padding-bottom: 20px;
}
.title-interna{
	font-size: 20px;
	padding-top: 20px;
}


/* Responsividad */
@media (max-width: 768px) {
	.dropdown-menu-not {
		left:0px!important;
		width:100%!important;
		min-width:100%!important
	}
}
/* tabs para contenido de single document */
.dlp-single-left .tabs {
	display: flex;
	margin-top:30px;
    margin-bottom: 50px;
  }
  .dlp-single-left .tab {
	padding: 0px 20px;
	cursor: pointer;
	border: none;
	background-color: #1D3456;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	margin-right: 10px;
	font-weight: 400 !important;
    color: #fff !important;
  }

  .dlp-single-left .tab.active, .dlp-single-left .tab:hover {
	border: 1px solid #15314a;
	color: #15314a !important;
    background-color: #fff;
  }
  
  .tab-content {
	/* display: none; */
    padding-left: 0;
	padding-right: 20px;
	padding-bottom: 20px;
	border: 0;
	border-radius: 5px;
	margin-top: -2px;
  }
  .tab-content.active {
	display: block;
  }

  .tab-nuevo, .tab-nuevo:hover{
	background-color: #3c3c3b;
	color: #fff;
  }

  .asylum-custom-single-doc .dlp-document-info-image{
	position:relative;
  }
  .asylum-custom-single-doc .dlp-document-info-image .tag-nuevo{
	position: absolute;
	top: 0;
	right:0;
  }
.dlp-download-links a{
    color: #fff !important;
}
/* ===== Custom single adjustments to match visual reference ===== */
.dlp-single-wrap.row.dlp-single-wrap {
    align-items: flex-start;
    margin-top: 18px;
}

.dlp-single-left .dlp-main-info {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    margin-top: 20px;
}

.dlp-main-info-text {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-width: 0;
    justify-content: center;
    gap: 16px;
}

.dlp-main-info-text .dlp-document-info-buttons {
    flex-direction: column;
    gap: 8px;
}

.dlp-main-info-text .dlp-document-info-buttons a {
    width: 100% !important;
    min-width: 0;
    box-sizing: border-box;
}

.dlp-main-info .dlp-document-info-image {
    flex: 0 0 auto;
    max-width: 240px;
}

.dlp-main-info .dlp-document-info-image img,
.dlp-main-info .dlp-document-info-image .wp-post-image {
    width: auto;
    max-width: 240px;
    height: auto;
    border-radius: 4px;
    display: block;
}

.dlp-grid-card-title h4 {
    font-size: 22px;
    line-height: 1.1;
    margin: 0 0 6px 0;
    color: #15314a; /* dark blue heading like reference */
}

/* Solo en la grilla (no en la ficha del documento, que reusa esta misma
   clase): reserva espacio fijo para el titulo (hasta ~4 lineas reales del
   catalogo: 20px de fuente, ~30px de alto por linea = 120px). Sin esto,
   un producto con nombre corto (1-2 lineas) deja sus botones
   "Descargar/Ver" mas arriba que uno con nombre largo (3-4 lineas),
   aunque toda la tarjeta ya mida lo mismo entre si (fix de flex:1 en
   .dlp-grid-card-content) - el titulo mas corto simplemente no ocupaba
   el mismo alto que el largo. NOTA: el titulo real es un <a> dentro de
   ".dlp-grid-card-title" (un <div>, no un <h4> pese al nombre de la
   regla de arriba, que es para otro contexto y no aplica aqui). */
.dlp-grid-card .dlp-grid-card-title {
    min-height: 120px;
}

.dlp-single-left .dlp-grid-card-title {
    display: block;
    max-width: 100%;
}

/* Title row: left aligned title + right aligned arrow icon */
.dlp-grid-card-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.dlp-grid-card-title-row .dlp-title-left {
    flex: 1 1 auto;
}
.dlp-grid-card-title-row .dlp-title-right {
    flex: 0 0 auto;
}
.dlp-title-arrow {
    width: 22px;
    height: auto;
    display: block;
}

.dlp-single-right {
    padding-left: 28px;
    width: 320px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-items: flex-start;
}

/* Layout: make left column 60% and right 40% on wide screens */
.dlp-single-wrap.row.dlp-single-wrap {
    display: flex;
    gap: 24px;
}
.dlp-single-left {
    box-sizing: border-box;
    width: 80% !important;
}
.dlp-single-right {
    box-sizing: border-box;
    width: 20% !important;
    padding-left: 28px;
}

.dlp-document-info-buttons {
    margin-top: 6px;
}

.dlp-document-info-buttons a,
.dlp-grid-card-document-link-wrap a {
    display: inline-block;
    padding: 12px 22px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 15px;
    text-decoration: none;
    text-align: center;
    min-width: 160px;
}

.dlp-document-info-buttons a.btn-download,
.dlp-grid-card-document-link-wrap a.btn-download {
    background: #A41034; /* maroon */
    color: #fff !important;
    border: 2px solid transparent;
}

.dlp-document-info-buttons a.btn-outline {
    background: #fff;
    color: #15314a !important;
    border: 2px solid #15314a;
}

.dlp-document-info-list {
    margin-top: 6px;
    color: #6c6f72;
    font-size: 14px;
}

.title-interna{
    font-size: 22px;
    padding-top: 24px;
    margin-bottom: 14px;
    font-weight: 700;
}

.tab-content .dlp-excerpt {
    margin-left: 4px;
    color: #444;
}

/* Table styles for assets */
.dlp-document-info-assets {
    margin-top: 18px;
}
.tabla-activos-relacionados td {
    border-bottom: 1px solid #eee;
    padding: 14px 8px;
}
.tabla-activos-relacionados .dlp-document-info-buttons a {
    background: #A41034;
    color: #fff !important;
}

/* Responsive: stack on smaller screens */
@media (max-width: 991px) {
    .dlp-single-wrap.row.dlp-single-wrap { display: block }
    .dlp-single-left .dlp-main-info { flex-direction: column; gap: 12px }
    .dlp-main-info .dlp-document-info-image { max-width: 100%; flex: 0 0 auto }
    .dlp-single-right { width: 100%; padding-left: 0; margin-top: 18px }
    .dlp-document-info-buttons a, .dlp-grid-card-document-link-wrap a { min-width: auto; width: 100% }
}

/* minor tweaks for spacing to match the visual */
.dlp-grid-card-title a { color: #15314a }
.dlp-grid-card-title a:hover { text-decoration: underline }

.dlp-document-info-assets{
        margin-top: 20px;
    }
    .tabla-activos-relacionados {
        width: 100%;
        border-collapse: collapse;
        margin-top: 20px;
        background: #F9F9F9;
        border: #dadada 1px solid;
    }
    .tabla-activos-relacionados a{
        width: 140px !important;
        padding: 10px 26px !important;
        margin-left: 10px;
    }
    
    .tabla-activos-relacionados th {
        display: none;
    }
    .tabla-activos-relacionados td {
        text-align: left;
        padding: 10px 10px;
        min-height: 120px !important;
        border: 0;
        vertical-align: middle !important;
    }
    .tabla-activos-relacionados td h4 {
        color:#15314a
    }
    
    .tabla-activos-relacionados td p {
        font-size: 14px;
        font-weight: 400;
    }
    .tabla-activos-relacionados .dlp-document-info-buttons,
    .tabla-activos-relacionados .dlp-document-info-buttons a {
        text-align: right;
    }
    .tabla-activos-relacionados td span{
        font-size: 12px;
        color: #3C3C3B;
    }

    .tabla-activos-relacionados .dlp-document-info-buttons a {
        
        align-items: center;
        justify-content: center;
        width: 140px !important;
        height: 40px !important;
        padding: 10px 12px !important;
        background: #A41034;
        color: #fff;
        border-radius: 8px;
        font-weight: 400;
        font-size: 14px;
        text-decoration: none;
        text-align: center;
        transition: background 0.2s;
        white-space: nowrap;
        display: inline-block;
    }

    .tabla-activos-relacionados .dlp-document-info-buttons a:hover {
        background: #15314a;
    }
    .dlp-document-info-complementary{
        margin-top: 20px;
    }
    .dlp-document-info-additional{
       display: flex;
       color: #1D3456;
       font-size: 16px;
    }
    .dlp-document-info-additional div{
        margin-right: 40px;
        padding-top: 10px;
    }
    .dlp-document-info{
        color: #1D3456;
        text-transform: capitalize;
        line-height: 25px;
    }

 /* Estilos para pantallas pequeñas (Mobile) */
@media (max-width: 767px) {
	.tabs {
	  flex-direction: column; /* Cambia los tabs a una columna */
	  align-items: stretch; /* Tabs ocupan todo el ancho */
	  padding: 0;
	}
  
	.tab {
	  border-radius: 0; /* Quita bordes redondeados */
	  margin-bottom: 5px;
	}
  
	.tab:last-child {
	  margin-bottom: 0;
	}

    .dlp-single-left .tab {
      border-radius: 0 !important;
    }
    .dlp-single-left .dlp-grid-card-title {
        max-width: 100% !important;
        padding-top: 10px;
        text-align: left;
        margin-left: -20px;
    }

    .tabla-activos-relacionados .dlp-document-info-buttons {
        text-align: center;
    }
    .tabla-activos-relacionados .dlp-document-info-buttons a {
        width: auto !important;
    }	
    .tabla-activos-relacionados td{ 
        display: block;
        width: 100%;
        box-sizing: border-box;
        padding-top: 10px;
        padding-bottom: 10px;
        border-bottom: 0;
        text-align: center;
        min-height: 70px !important;
    }
    .tabla-activos-relacionados tr {
        border-bottom: 1px solid #f6f6f6;
    }
    .tabla-activos-relacionados .dlp-document-info-buttons a {
        align-items: center;
        justify-content: center;
        display: block;
    }

    .single-dlp_document .page-wrapper .container {
        margin-top: 0px !important;
    }

    .dlp-single-left, .dlp-single-right {
        width: 100% !important;
    }

  }

.swiper-container {
  overflow: hidden;
  max-width: 500px; /* Ajusta el ancho según tu diseño */
  margin: 0 auto;
    position: relative; /* Necesario para posicionar flechas absolutamente dentro del contenedor */
}
.swiper-wrapper {
  align-items: center;
}
.swiper-slide {
  width: 100% !important;
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Centrado vertical de flechas Swiper */
.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
}

/* Opcional: aumentar tamaño y visibilidad de flechas */
.swiper-button-next,
.swiper-button-prev {
    width: 44px;
    height: 44px;
   /*  background: rgba(255,255,255,0.85); */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    /* box-shadow: 0 2px 8px rgba(0,0,0,0.08); */
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 24px;
    color: #1D3456;
}

/* Botones grid card Document Library Pro */
.dlp-grid-card-buttons {
  display: flex;
  justify-content: center;
  gap: 12px !important;
  margin-top: 14px;
}
.dlp-btn-download,
.dlp-btn-view {
  padding: 10px 15px;
  text-align: center;
  border-radius: 13px;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  border: 2px solid #A41034;
  transition: background 0.2s, color 0.2s;
  display: inline-block;
}
.dlp-btn-download.x {
  background: #A41034;
  color: #fff !important;
}
.dlp-btn-download.x:hover {
  background: #fff;
  color: #A41034 !important;
}
.dlp-btn-view.x {
  background: #fff;
  color: #A41034 !important;
}
.dlp-btn-view.x:hover {
  background: #A41034;
  color: #fff !important;
}
.dlp-grid-card-buttons-extremos {
  display: flex;
  justify-content: space-between;
  gap: 13px;
  margin-top: 14px;
}
.dlp-btn-left {
  flex: 1;
  display: flex;
  justify-content: flex-start;
}
.dlp-btn-right {
  flex: 1;
  display: flex;
  justify-content: flex-end;
}
/* LAYOUT HORIZONTAL ESPECIAL PARA BRAND CAMP */
.dlp-grid.dlp-horizontal-layout .dlp-grid-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    border-radius: 14px !important;
    overflow: hidden;
    margin-bottom: 24px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}

.dlp-grid.dlp-horizontal-layout .dlp-grid-card-featured-img {
    flex: 0 0 300px;
    min-width: 300px;
    max-width: 300px;
    height: auto;
    margin: 0 !important;
    padding: 0 !important;
}

.dlp-grid.dlp-horizontal-layout .dlp-grid-card-featured-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 !important;
}

.dlp-grid.dlp-horizontal-layout .dlp-grid-card-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding: 32px 36px !important;
    border: none !important;
}

.dlp-grid.dlp-horizontal-layout .dlp-grid-card-title-row {
    display: block !important;
    margin-bottom: 12px;
}

.dlp-grid.dlp-horizontal-layout .dlp-grid-card-title {
    font-size: 20px;
    font-weight: 600;
    color: #1d3456 !important;
    margin-bottom: 8px;
}

.dlp-grid.dlp-horizontal-layout .dlp-grid-card-title a {
    color: #1d3456 !important;
    text-decoration: none;
}

.dlp-grid.dlp-horizontal-layout .dlp-grid-card-title a:hover {
    color: #A41034;
}

.dlp-grid.dlp-horizontal-layout .dlp-grid-card-excerpt {
    font-size: 15px;
    color: #444;
    line-height: 1.5;
    margin-bottom: 0;
    text-align: left;
}

.dlp-grid.dlp-horizontal-layout .dlp-grid-card-buttons-column {
    flex: 0 0 200px;
    min-width: 200px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 24px;
    background: #f8f9fa;
}

.dlp-grid.dlp-horizontal-layout .dlp-btn-download,
.dlp-grid.dlp-horizontal-layout .dlp-btn-view {
    padding: 10px 24px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 500;
    width: 100%;
    text-align: center;
    display: block;
    text-decoration: none;
}

.dlp-grid.dlp-horizontal-layout .dlp-btn-view.x {
    background: #fff;
    border: 2px solid #A41034;
    color: #A41034 !important;
}

.dlp-grid.dlp-horizontal-layout .dlp-btn-view.x:hover {
    background: #A41034;
    color: #fff !important;
}

.dlp-grid.dlp-horizontal-layout .dlp-btn-download.x {
    background: #A41034;
    border: 2px solid #A41034;
    color: #fff !important;
}

.dlp-grid.dlp-horizontal-layout .dlp-btn-download.x:hover {
    background: #A41034;
    border-color: #A41034;
}

/* Ocultar elementos no deseados en layout horizontal */
.dlp-grid.dlp-horizontal-layout .dlp-grid-card-rating,
.dlp-grid.dlp-horizontal-layout .dlp-grid-card-share,
.dlp-grid.dlp-horizontal-layout .dlp-grid-card-favorite,
.dlp-grid.dlp-horizontal-layout .dlp-grid-card-like,
.dlp-grid.dlp-horizontal-layout .dlp-title-arrow,
.dlp-grid.dlp-horizontal-layout .dlp-title-right {
    display: none !important;
}

/* Responsive para layout horizontal */
@media (max-width: 768px) {
    .dlp-grid.dlp-horizontal-layout .dlp-grid-card {
        flex-direction: column !important;
    }
    
    .dlp-grid.dlp-horizontal-layout .dlp-grid-card-featured-img {
        flex: 0 0 auto;
        max-width: 100%;
        height: 200px;
    }
    
    .dlp-grid.dlp-horizontal-layout .dlp-grid-card-content {
        padding: 24px !important;
    }
    
    .dlp-grid.dlp-horizontal-layout .dlp-grid-card-buttons-column {
        flex: 0 0 auto;
        width: 100%;
        padding: 20px;
        flex-direction: row;
    }
    
    .dlp-grid.dlp-horizontal-layout .dlp-btn-download,
    .dlp-grid.dlp-horizontal-layout .dlp-btn-view {
        width: auto;
        flex: 1;
    }
}

/* Modal de Vista Previa de PDF */
.pdf-preview-modal {
    display: none;
    position: fixed;
    z-index: 99999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.9);
    animation: fadeIn 0.3s;
}

.pdf-preview-modal.active {
    display: flex;
    align-items: center;
    justify-content: center;
}

.pdf-preview-modal-content {
    position: relative;
    background-color: #fff;
    margin: auto;
    padding: 0;
    width: 90%;
    max-width: 1200px;
    height: 90vh;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
    animation: slideIn 0.3s;
}

.pdf-preview-modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
    background-color: #1D3456;
    color: white;
    border-radius: 8px 8px 0 0;
}

.pdf-preview-modal-header h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

.pdf-preview-close {
    color: white;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s;
}

.pdf-preview-close:hover,
.pdf-preview-close:focus {
    transform: scale(1.2);
}

.pdf-preview-iframe-container {
    width: 100%;
    height: calc(90vh - 60px);
    border: none;
    border-radius: 0 0 8px 8px;
    overflow: hidden;
}

.pdf-preview-iframe-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.pdf-preview-loading {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 18px;
    color: #666;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes slideIn {
    from {
        transform: translateY(-50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Botón de vista previa */
.dlp-btn-preview {
    display: inline-block;
    padding: 10px 20px;
    font-size: 16px;
    font-weight: bold;
    color: #fff !important;
    background-color: #1D3456 !important;
    border: none;
    border-radius: 100px;
    cursor: pointer;
    transition: background-color 0.3s;
    text-decoration: none;
    text-align: center;
}

.dlp-btn-preview:hover {
    background-color: #A41034 !important;
    color: #fff !important;
}

/* Responsive */
@media (max-width: 768px) {
    .pdf-preview-modal-content {
        width: 95%;
        height: 95vh;
    }
    
    .pdf-preview-modal-header h3 {
        font-size: 16px;
    }
    
    .pdf-preview-iframe-container {
        height: calc(95vh - 60px);
    }
}

/* Sección "Lo nuevo" del Inicio (fondo azul marino #1d3456): el pie de
   paginación de Document Library Pro (DataViews) trae su propio fondo
   blanco y texto oscuro fijos vía variables CSS del plugin. En vez de
   sobreescribir clases sueltas (frágil ante updates del plugin), se
   sobreescriben las variables de tema que el propio plugin expone para
   esto (--dv-theme-*), scoped al wrapper de [dlp_nuevo_mensual]
   (el_class="doc_nuevo" en el vc_column_text que lo contiene). Como son
   custom properties, heredan automáticamente incluso al contenido que
   DataViews inyecta después vía su llamada REST (dataviews-rtl/es
   cliente, no hay HTML estático que parchar). El popup del selector de
   "N / página" se renderiza aparte (fuera de este wrapper) y mantiene su
   estilo claro original a propósito, para conservar buen contraste
   siempre que se abra sobre cualquier fondo. */
.doc_nuevo {
    --dv-theme-header-bg: transparent;
    /* En modo grid, el fondo blanco del pie de paginación NO viene de
       --dv-theme-header-bg (esa variable solo la consume el pie de la
       vista de tabla, ".data-table .table-footer"): viene de
       --dv-overlay-light-solid, un blanco casi opaco fijo (sin gancho de
       tema) que usa el pie "sticky" del grid como fondo. Se redefine acá
       para que ese mismo pie quede transparente también en modo grid. */
    --dv-overlay-light-solid: transparent;
}

/* El propio Document Library Pro inyecta un <style> con la config de tema
   del plugin (colores de marca configurados en su panel) DIRECTO sobre
   ".barn2-dataview[data-display-mode]" — no en :root ni en un ancestro.
   Como una custom property declarada en el MISMO elemento gana siempre
   sobre una heredada desde un ancestro (sin importar !important ahí ni
   orden de carga), sobreescribir estas variables en ".doc_nuevo" no
   alcanza: hay que apuntar al mismo elemento y usar !important para
   ganarle a esa declaración inyectada. Confirmado por inspección directa
   del DOM en vivo (el <style> inyectado trae, entre otros,
   --dv-theme-grid-body-color:#000000 y --dv-theme-grid-dropdown-*
   en negro/blanco fijos, que son los valores de marca del sitio — no
   pensados para verse sobre un fondo azul). */
.doc_nuevo [data-display-mode] {
    --dv-theme-grid-body-color: #ffffff !important;
    --dv-theme-grid-dropdown-bg: transparent !important;
    --dv-theme-grid-dropdown-color: #ffffff !important;
    --dv-theme-grid-dropdown-border-color: rgba(255, 255, 255, 0.4) !important;
    --dv-theme-grid-dropdown-border-width: 1px !important;
}

.doc_nuevo .pagination-btn {
    color: #ffffff;
}

.doc_nuevo .pagination-btn:hover {
    background: rgba(255, 255, 255, 0.15);
}

/* El texto "Mostrando X a Y de Z" y el selector de cantidad por página no
   usan ninguna variable de tema (confirmado por inspección en vivo: son
   un <span class="pagination-controls-text"> y un <select
   class="pagination-controls-select"> nativo, sin ganchos --dv-theme-*
   propios); su color viene por herencia normal de CSS, no de las
   variables del plugin. Se fuerza directo. */
.doc_nuevo .pagination-controls-text {
    color: #ffffff !important;
}

.doc_nuevo .pagination-controls-select {
    /* El fondo claro de este <select> viene de una regla del tema
       (style-custom.css: ".input-background .style-light select", con
       !important y mayor especificidad que la nuestra), así que se queda
       igual sin importar el "transparent" de acá; por eso el texto debe
       ser oscuro/azul para leerse bien sobre ese fondo claro, en vez de
       blanco como el resto del paginador (que sí está sobre azul marino). */
    background: transparent !important;
    color: #1d3456 !important;
    border: 1px solid rgba(29, 52, 86, 0.3) !important;
}

/* Red de seguridad: si alguna versión futura del plugin vuelve a fijar el
   fondo del pie de paginación por otra vía no cubierta por las variables
   de arriba, se fuerza transparente directo sobre las clases conocidas. */
.doc_nuevo .table-footer,
.doc_nuevo .footer-controls {
    background: transparent !important;
    box-shadow: none !important;
}

/* Separador antes del título de [mis_assets_distribuidor] (perfil del
   usuario), con el mismo color ámbar de acento que ya usa el sitio para
   estos divisores (barra del footer, línea superior del Inicio:
   color-594416 = #e9a224 en la paleta de Uncode). */
.mis-assets-distribuidor {
    margin-top: 0;
}

.mis-assets-distribuidor .separador-mis-assets-distribuidor {
    width: 100%;
    height: 3px;
    background-color: #e9a224;
    border-radius: 2px;
    margin: 0 0 16px;
}

.mis-assets-distribuidor .titulo-mis-assets-distribuidor {
    margin-top: 0;
}

/* El wrapper de Uncode donde queda embebido este shortcode usa "pos-middle"
   (centra verticalmente su contenido dentro de la fila) — si la fila mide
   más que el contenido, esto deja un espacio vacío enorme ARRIBA del
   bloque (mismo bug ya visto y corregido en el buscador del hero del
   Inicio). Se ancla arriba en vez de centrar, solo para la columna que
   efectivamente contiene este shortcode. */
.wpb_column.pos-middle:has(.mis-assets-distribuidor) {
    vertical-align: top !important;
}

/* La causa real confirmada por inspección directa del DOM en vivo: el
   fondo blanco NO estaba en el pie de paginación (ese ya quedaba
   transparente con las reglas de arriba), sino en su contenedor padre
   ".barn2-dataview.data-view" — el wrapper que envuelve TODO el grid
   (tarjetas + pie), con un blanco sólido fijo. Al quedar el pie
   transparente encima, se veía ese blanco del padre a través. */
.doc_nuevo .barn2-dataview {
    background: transparent !important;
}