/* Request Blocks Grid - UCLM Custom Styles */
.request-blocks-grid {
  display: grid;
  /* For wide screens ensure exactly 3 columns if space allows */
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
  margin-top: 32px;
  margin-bottom: 32px;
}

/* Force 3-column layout when viewport has enough width (>= 992px approx) */
@media (min-width: 992px) {
  .request-blocks-grid {
    /* Three fixed flexible columns for more stable layout */
    grid-template-columns: repeat(3, minmax(280px, 1fr));
  }
}

.request-block {
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #ffffff;
  border: 1px solid #EEEEEE;
  border-radius: 5px;
  padding: 24px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.3s ease, transform 0.2s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  min-height: 140px;
}

.request-block:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
  text-decoration: none;
}

.request-block::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 80px;
  height: 80px;
  font-family: 'Font Awesome 5 Free', 'FontAwesome';
  font-weight: 900;
  font-size: 64px;
  color: #DDDDDD;
  display: flex;
  align-items: flex-end;
  padding: 8px;
  pointer-events: none;
  z-index: 0;
}

/* Font Awesome icon variants using ::before pseudo-element */
.request-block:has(.fa-laptop)::before {
  content: '\f109'; /* fa-laptop */
}

.request-block:has(.fa-users)::before {
  content: '\f0c0'; /* fa-users */
}

.request-block:has(.fa-university)::before {
  content: '\f19c'; /* fa-university */
}

.request-block:has(.fa-book)::before {
  content: '\f02d'; /* fa-book */
}

.request-block:has(.fa-euro-sign)::before {
  content: '\f153'; /* fa-euro-sign */
}

.request-block:has(.fa-graduation-cap)::before {
  content: '\f19d'; /* fa-graduation-cap */
}

.request-block:has(.fa-eye-dropper)::before {
  content: '\f1fb'; /* fa-eye-dropper */
}

.request-block:has(.fa-building)::before {
  content: '\f1ad'; /* fa-building */
}

.request-block:has(.fa-tools)::before {
  content: '\f7d9'; /* fa-tools */
}

.request-block-icon {
  display: none; /* Ocultar el icono inline, usamos el ::before */
}

.request-block-content {
  position: relative;
  z-index: 1;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.request-block-title {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: #2F3941;
}

.request-block-description {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
  color: #68737D;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .request-blocks-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .request-block {
    min-height: 120px;
  }
  
  .request-block::before {
    width: 60px;
    height: 60px;
    font-size: 48px;
  }
}
