.elementor-35544 .elementor-element.elementor-element-c96b6be{--display:flex;--min-height:102px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:40px 40px;--row-gap:40px;--column-gap:40px;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:20px;--padding-left:100px;--padding-right:20px;}.elementor-35544 .elementor-element.elementor-element-c96b6be:not(.elementor-motion-effects-element-type-background), .elementor-35544 .elementor-element.elementor-element-c96b6be > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#C32342FF;background-image:url("https://biblioteca.up.edu.mx/wp-content/uploads/2023/08/zWSSRleIzEnwcPf5KCXu-11.jpg");background-position:center left;background-repeat:no-repeat;}.elementor-35544 .elementor-element.elementor-element-2042c5a{width:auto;max-width:auto;text-align:start;font-family:var( --e-global-typography-a0d2293-font-family ), Sans-serif;font-size:var( --e-global-typography-a0d2293-font-size );font-weight:var( --e-global-typography-a0d2293-font-weight );font-style:var( --e-global-typography-a0d2293-font-style );line-height:var( --e-global-typography-a0d2293-line-height );letter-spacing:var( --e-global-typography-a0d2293-letter-spacing );color:#FFFFFFFF;}.elementor-35544 .elementor-element.elementor-element-2042c5a.elementor-element{--align-self:center;}.elementor-35544 .elementor-element.elementor-element-6624d21{width:auto;max-width:auto;text-align:start;font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );font-style:var( --e-global-typography-accent-font-style );line-height:var( --e-global-typography-accent-line-height );color:#FFFFFFFF;}.elementor-35544 .elementor-element.elementor-element-6624d21 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-35544 .elementor-element.elementor-element-6624d21.elementor-element{--align-self:center;}.elementor-35544 .elementor-element.elementor-element-13de132{width:auto;max-width:auto;text-align:start;font-family:"Seravek", Sans-serif;font-size:24px;text-transform:normal;font-style:italic;line-height:56px;letter-spacing:0.20000000298023px;color:#C2A670FF;}.elementor-35544 .elementor-element.elementor-element-13de132 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-35544 .elementor-element.elementor-element-56cc771f{--display:flex;--min-height:546px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:0px 0px 0px 0px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-35544 .elementor-element.elementor-element-20165cb8{--display:flex;--min-height:506px;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:flex-start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--border-radius:0px 0px 0px 0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-35544 .elementor-element.elementor-element-94af857{--grid-columns:3;--grid-row-gap:20px;width:100%;max-width:100%;--grid-column-gap:20px;}.elementor-35544 .elementor-element.elementor-element-94af857 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-35544 .elementor-element.elementor-element-94af857.elementor-element{--align-self:center;}.elementor-35544 .elementor-element.elementor-element-94af857 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-35544 .elementor-element.elementor-element-94af857 .e-loop-item > .elementor-section, .elementor-35544 .elementor-element.elementor-element-94af857 .e-loop-item > .elementor-section > .elementor-container, .elementor-35544 .elementor-element.elementor-element-94af857 .e-loop-item > .e-con, .elementor-35544 .elementor-element.elementor-element-94af857 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-35544 .elementor-element.elementor-element-8e47b88{--display:flex;}body.elementor-page-35544:not(.elementor-motion-effects-element-type-background), body.elementor-page-35544 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFFFF;}body.elementor-page-35544{padding:0px 0px 0px 0px;}@media(min-width:801px){.elementor-35544 .elementor-element.elementor-element-c96b6be{--width:100%;}.elementor-35544 .elementor-element.elementor-element-56cc771f{--width:100%;}.elementor-35544 .elementor-element.elementor-element-20165cb8{--width:100%;}}@media(min-width:2400px){.elementor-35544 .elementor-element.elementor-element-2042c5a{font-size:var( --e-global-typography-a0d2293-font-size );line-height:var( --e-global-typography-a0d2293-line-height );letter-spacing:var( --e-global-typography-a0d2293-letter-spacing );}.elementor-35544 .elementor-element.elementor-element-6624d21{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}body.elementor-page-35544{margin:0% 10% 0% 10%;}}@media(max-width:1100px){.elementor-35544 .elementor-element.elementor-element-c96b6be{--min-height:0px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:10px 10px;--row-gap:10px;--column-gap:10px;--flex-wrap:wrap;--padding-top:20px;--padding-bottom:20px;--padding-left:60px;--padding-right:20px;}.elementor-35544 .elementor-element.elementor-element-2042c5a{width:100%;max-width:100%;font-size:var( --e-global-typography-a0d2293-font-size );line-height:var( --e-global-typography-a0d2293-line-height );letter-spacing:var( --e-global-typography-a0d2293-letter-spacing );}.elementor-35544 .elementor-element.elementor-element-2042c5a.elementor-element{--flex-grow:1;--flex-shrink:0;}.elementor-35544 .elementor-element.elementor-element-6624d21{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-35544 .elementor-element.elementor-element-56cc771f{--min-height:0px;}.elementor-35544 .elementor-element.elementor-element-20165cb8{--min-height:0px;}.elementor-35544 .elementor-element.elementor-element-94af857{--grid-columns:2;}}@media(max-width:800px){.elementor-35544 .elementor-element.elementor-element-c96b6be{--width:100%;--min-height:0px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--gap:15px 15px;--row-gap:15px;--column-gap:15px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-35544 .elementor-element.elementor-element-2042c5a{font-size:var( --e-global-typography-a0d2293-font-size );line-height:var( --e-global-typography-a0d2293-line-height );letter-spacing:var( --e-global-typography-a0d2293-letter-spacing );}.elementor-35544 .elementor-element.elementor-element-6624d21{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-35544 .elementor-element.elementor-element-13de132{font-size:15.84px;line-height:18.48px;letter-spacing:0.13200000196695px;}.elementor-35544 .elementor-element.elementor-element-56cc771f{--min-height:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-35544 .elementor-element.elementor-element-20165cb8{--min-height:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-35544 .elementor-element.elementor-element-94af857{--grid-columns:1;}body.elementor-page-35544{padding:0px 0px 0px 0px;}}/* Start custom CSS for loop-grid, class: .elementor-element-94af857 *//* ================================
   TARJETAS IGUALES (ancho + alto)
   ================================ */

/* Ajusta estas dos variables a tu gusto */
.js-dir-grid{
  --card-w: 520px;     /* ancho máximo por tarjeta */
  --card-h: 320px;     /* alto mínimo uniforme; la tarjeta crece si hace falta */
}

/* Contenedor del loop en FLEX centrado */
.js-dir-grid .elementor-grid,
.js-dir-grid .elementor-loop-container,
.js-dir-grid .elementor-posts-container,
.js-dir-grid .elementor-widget-container > .elementor-grid{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:center !important;
  align-items:stretch !important; /* ← estira por fila (backup) */
  gap:40px 40px !important;
}

/* Cada ítem ocupa el mismo ancho y alto */
.js-dir-grid .e-loop-item,
.js-dir-grid [data-elementor-type="loop-item"]{
  flex:0 1 var(--card-w) !important;   /* mismo ancho base */
  max-width:var(--card-w) !important;
  width:100% !important;
  min-width:0 !important;              /* permite encoger en flex; evita overflow horizontal en móvil */

  /* Alto mínimo igual para todas; sin height fijo para que no se corte el teléfono/contacto */
  min-height:var(--card-h) !important;

  /* Para ordenar el contenido dentro */
  display:flex !important;
  flex-direction:column !important;
  text-align:center !important;
  box-sizing:border-box !important;
}

/* Asegura que el “wrapper” interno también llene el alto mínimo (mejor que height:100% si el padre solo tiene min-height) */
.js-dir-grid .e-loop-item > .elementor,
.js-dir-grid [data-elementor-type="loop-item"] > .elementor,
.js-dir-grid .e-loop-item > .e-con,
.js-dir-grid [data-elementor-type="loop-item"] > .e-con{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;
  min-width:0 !important;
}

/* El contenedor con tu fondo/sombra ocupa todo el espacio disponible */
.js-dir-grid .e-loop-item .e-con,
.js-dir-grid [data-elementor-type="loop-item"] .e-con{
  flex:1 1 auto !important;
  min-height:0 !important; /* hijos flex pueden calcular overflow bien */
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

/* Evita que márgenes internos cambien la altura visual */
.js-dir-grid .e-loop-item .elementor-widget:last-child,
.js-dir-grid [data-elementor-type="loop-item"] .elementor-widget:last-child{
  margin-bottom:0 !important;
}

/* Salto de línea entre jerarquías (tu separador) */
.js-dir-grid .dir-sep{ flex-basis:100% !important; height:0 !important; }

/* (Sigue valiendo tu centrado de headings y .dir-role si lo necesitas) */
/* === Re-centrado del contenido dentro de cada tarjeta === */

/* Asegura centrado a nivel wrapper y widgets */
.js-dir-grid [data-elementor-type="loop-item"],
.js-dir-grid .e-loop-item{
  text-align: center !important;
}

.js-dir-grid [data-elementor-type="loop-item"] .elementor,
.js-dir-grid [data-elementor-type="loop-item"] .elementor-widget-container,
.js-dir-grid [data-elementor-type="loop-item"] .elementor-heading-title,
.js-dir-grid [data-elementor-type="loop-item"] .elementor-widget-text-editor,
.js-dir-grid [data-elementor-type="loop-item"] .elementor-widget-text-editor p,
.js-dir-grid .dir-role{
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block;
}

/* Si usas Containers (.e-con) dentro del loop, céntralos en el eje horizontal */
.js-dir-grid [data-elementor-type="loop-item"] .e-con{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;   /* ← centra horizontalmente todo el contenido */
}

/* Evita que algún widget se “pegue” a la izquierda por align-self */
.js-dir-grid [data-elementor-type="loop-item"] .elementor-widget{
  align-self: center !important;
  max-width:100% !important;
  min-width:0 !important;
}

/* Texto largo (correo, teléfono): envuelve y no ensancha la tarjeta fuera de pantalla */
.js-dir-grid [data-elementor-type="loop-item"] .elementor-widget-container,
.js-dir-grid [data-elementor-type="loop-item"] .elementor-heading-title,
.js-dir-grid [data-elementor-type="loop-item"] .elementor-widget-text-editor,
.js-dir-grid [data-elementor-type="loop-item"] .elementor-widget-text-editor p,
.js-dir-grid [data-elementor-type="loop-item"] .elementor-widget-text-editor a,
.js-dir-grid .dir-role{
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
  white-space:normal !important;
}

@media (max-width:767px){
  .js-dir-grid{
    --card-w:100%;
  }
  .js-dir-grid .e-loop-item,
  .js-dir-grid [data-elementor-type="loop-item"]{
    max-width:100% !important;
  }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Seravek';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://biblioteca.up.edu.mx/wp-content/uploads/2023/08/seravek.ttf') format('truetype');
}
@font-face {
	font-family: 'Seravek';
	font-style: italic;
	font-weight: bold;
	font-display: auto;
	src: url('https://biblioteca.up.edu.mx/wp-content/uploads/2023/08/seravek-bold-italic.ttf') format('truetype');
}
@font-face {
	font-family: 'Seravek';
	font-style: normal;
	font-weight: bold;
	font-display: auto;
	src: url('https://biblioteca.up.edu.mx/wp-content/uploads/2023/08/seravek-bold.ttf') format('truetype');
}
@font-face {
	font-family: 'Seravek';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('https://biblioteca.up.edu.mx/wp-content/uploads/2023/08/seravek-italic.ttf') format('truetype');
}
/* End Custom Fonts CSS */