/* v049: formatos directos en tarjetas, sin familias intermedias. */
.lab-page .lab-format-cards {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
  align-items: start;
}
.lab-page .lab-format-cards .lab-format {
  --card-accent: #a0d5d4;
  --card-bg: #eef8f6;
  grid-column: span 3;
  min-width: 0;
  border: 1px solid #b5c4ce;
  border-top: 4px solid var(--card-accent);
  background: var(--card-bg);
}
.lab-page .lab-format-cards .lab-format:first-child {
  grid-column: span 3;
  --card-accent: #408f94;
  --card-bg: #dceeed;
}
.lab-page .lab-format-cards .lab-format:nth-child(n+5) { grid-column: span 4; }
.lab-page .lab-format-cards [data-format="lecciones"] { --card-accent: #afa0ce; --card-bg: #f1edf8; }
.lab-page .lab-format-cards [data-format="masterclasses"] { --card-accent: #d9b86c; --card-bg: #fbf5e7; }
.lab-page .lab-format-cards [data-format="conferencias"] { --card-accent: #df9b87; --card-bg: #fcf0eb; }
.lab-page .lab-format-cards [data-format="talleres"] { --card-accent: #99b9ce; --card-bg: #eef4fa; }
.lab-page .lab-format-cards [data-format="congresos"] { --card-accent: #a4bed2; --card-bg: #f0f4f8; }
.lab-page .lab-format-cards [data-format="exposiciones"] { --card-accent: #bba0bb; --card-bg: #f8f0f6; }
.lab-page .lab-format-cards .lab-format summary {
  min-height: 146px;
  padding: 18px;
  align-items: flex-start;
  gap: 10px;
}
.lab-page .lab-format-cards .lab-format-label {
  display: grid;
  gap: 9px;
  min-width: 0;
}
.lab-page .lab-format-cards .lab-format-name {
  font-family: var(--display-font);
  font-size: 23px;
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.025em;
}
.lab-page .lab-format-cards .lab-format-description {
  color: #455570;
  font-family: "DM Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  max-width: 38ch;
}
.lab-page .lab-card-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 25px;
  height: 25px;
  border: 1px solid #b5c4ce;
  border-radius: 50%;
  background: #ffffffb3;
}
.lab-page .lab-format-cards summary:hover .lab-format-name { text-decoration: underline; text-underline-offset: 4px; }
.lab-page .lab-format-cards .lab-format-content {
  border-top: 1px solid #b5c4ce;
  padding: 16px 18px 18px;
  background: #fff;
  overflow-wrap: anywhere;
}
.lab-page .lab-format-cards .lab-format-content dl { grid-template-columns: minmax(0, 1fr); gap: 3px; }
.lab-page .lab-format-cards .lab-format-content dd { margin-bottom: 10px; }
.lab-page .lab-format-cards .lab-format-content dd:last-child { margin-bottom: 0; }
.lab-page .lab-format-availability { margin: 16px 0 0; color: #455570; font-size: 14px; line-height: 1.55; }
.lab-page .lab-format-availability a { color: #245fe2; text-underline-offset: 3px; }
@media (max-width: 1100px) {
  .lab-page .lab-format-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .lab-page .lab-format-cards .lab-format,
  .lab-page .lab-format-cards .lab-format:first-child,
  .lab-page .lab-format-cards .lab-format:nth-child(n+5) { grid-column: auto; }
  .lab-page .lab-format-cards .lab-format summary { min-height: 128px; }
}
@media (max-width: 600px) {
  .lab-page .lab-format-cards { grid-template-columns: 1fr; gap: 10px; margin-top: 16px; }
  .lab-page .lab-format-cards .lab-format summary { min-height: 0; padding: 12px 14px; }
  .lab-page .lab-format-cards .lab-format-label { gap: 5px; }
  .lab-page .lab-format-cards .lab-format-name { font-size: 21px; }
  .lab-page .lab-format-cards .lab-format-content { padding: 14px; }
}
