/* madrconvocatorias: bloque "Convocatorias" del Home */
.madr-convocatorias,
.madr-convocatorias *,
.madr-convocatorias *::before,
.madr-convocatorias *::after { box-sizing: border-box; }

/*
 * Variables. Las marcadas con (est.) son estimadas: no se pudieron leer
 * en el Figma. Se corrigen aquí, en un solo lugar, con Perfect Pixel.
 */
.madr-convocatorias {
  --mc-title: #2B62B5;
  --mc-text: #374151;
  --mc-item-title: #2B62B5;
  --mc-item-weight: 500;                 /* (est.) peso de la descripción */
  --mc-row-bg: #F4F8FC;
  --mc-row-border: #E2E8F0;              /* (est.) */
  --mc-row-hover-bg: #EDF3FA;            /* (est.) */
  --mc-row-hover-border: #8BA6D1;        /* (est.) igual que Trámites */
  --mc-line: #E2E8F0;                    /* (est.) divisores */
  --mc-nav-bg: #F2F6FB;
  --mc-nav-border: #DCE6F2;
  --mc-ctrl: #2B62B5;                    /* (est.) */
  --mc-ctrl-hover: #E1EAF6;              /* (est.) */
  --mc-counter: #2B62B5;                 /* (est.) */
  --mc-dot: #D1D5DB;                     /* (est.) */
  --mc-dot-active: #2B62B5;              /* (est.) */
  --mc-link: #2B62B5;
  --mc-gap: 20px;
  --mc-row-gap: 16px;
  --mc-icon: 48px;

  display: flex;
  flex-direction: column;
  gap: var(--mc-gap);
  width: 100%;
  height: 100%;
  padding: 24px;
  background: #FFFFFF;
  border: 1px solid #E2E8F0;
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
  font-family: "Nunito Sans", sans-serif;
}

.madr-convocatorias [hidden] { display: none !important; }

/* Encabezado: título centrado y navegación a la derecha */
.madr-convocatorias .madr-convocatorias__header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
}
.madr-convocatorias h2.madr-convocatorias__title {
  margin: 0;
  padding: 0;
  color: var(--mc-title);
  font: 700 24px/32px "Nunito Sans", sans-serif;
  letter-spacing: 0;
  text-align: center;
}

/* Píldora de navegación: contador, pausa y flechas */
.madr-convocatorias .madr-convocatorias__nav {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  gap: 2px;
  height: 34px;
  padding: 4px 8px;
  background: var(--mc-nav-bg);
  border: 1px solid var(--mc-nav-border);
  border-radius: 9999px;
}
.madr-convocatorias .madr-convocatorias__counter {
  margin-right: 4px;
  color: var(--mc-counter);
  font: 700 11px/16px "Nunito Sans", sans-serif;
  white-space: nowrap;
}
.madr-convocatorias button.madr-convocatorias__ctrl {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 9999px;
  box-shadow: none;
  color: var(--mc-ctrl);
  cursor: pointer;
  transition: background-color .2s ease;
}
.madr-convocatorias button.madr-convocatorias__ctrl:hover { background: var(--mc-ctrl-hover); }
.madr-convocatorias button.madr-convocatorias__ctrl:focus-visible {
  outline: 2px solid var(--mc-title);
  outline-offset: 1px;
}
.madr-convocatorias .madr-convocatorias__ctrl svg { display: block; }

/* Escritorio: flechas arriba y abajo */
.madr-convocatorias .madr-convocatorias__ctrl--prev svg { transform: rotate(-90deg); }
.madr-convocatorias .madr-convocatorias__ctrl--next svg { transform: rotate(90deg); }

/* Pausa / reanudar: un solo icono visible */
.madr-convocatorias svg.madr-convocatorias__ctrl-play { display: none; }
.madr-convocatorias.is-paused svg.madr-convocatorias__ctrl-pause { display: none; }
.madr-convocatorias.is-paused svg.madr-convocatorias__ctrl-play { display: block; }

/* Sin JavaScript los controles no sirven */
.madr-convocatorias:not(.is-ready) button.madr-convocatorias__ctrl { display: none; }

/* Ventana de filas */
.madr-convocatorias .madr-convocatorias__window {
  position: relative;
  border-radius: 6px;
  transition: height .3s ease;
}
.madr-convocatorias.is-ready .madr-convocatorias__window { overflow: hidden; }

.madr-convocatorias .madr-convocatorias__list {
  display: flex;
  flex-direction: column;
  gap: var(--mc-row-gap);
  margin: 0;
  padding: 0;
  list-style: none;
  transition: transform .45s cubic-bezier(.4, 0, .2, 1);
  will-change: transform;
}
.madr-convocatorias .madr-convocatorias__item {
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Fila */
.madr-convocatorias a.madr-convocatorias__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 88px;
  padding: 18px 14px;
  background: var(--mc-row-bg);
  border: 1px solid var(--mc-row-border);
  border-radius: 8px;
  color: var(--mc-text);
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease;
}
.madr-convocatorias a.madr-convocatorias__row:hover,
.madr-convocatorias a.madr-convocatorias__row:focus-visible {
  background: var(--mc-row-hover-bg);
  border-color: var(--mc-row-hover-border);
  color: var(--mc-text);
  text-decoration: none;
}
.madr-convocatorias a.madr-convocatorias__row:focus-visible {
  outline: 2px solid var(--mc-title);
  outline-offset: -2px;
}

.madr-convocatorias .madr-convocatorias__text {
  flex: 1 1 auto;
  min-width: 0;
  font: var(--mc-item-weight) 12px/16.5px "Nunito Sans", sans-serif;
  letter-spacing: 0;
}
.madr-convocatorias .madr-convocatorias__item-title {
  color: var(--mc-item-title);
  font-weight: 700;
}
.madr-convocatorias .madr-convocatorias__item-title::after { content: ":"; }
.madr-convocatorias .madr-convocatorias__item-desc { color: var(--mc-text); }

.madr-convocatorias img.madr-convocatorias__icon {
  flex: 0 0 auto;
  display: block;
  width: var(--mc-icon);
  height: var(--mc-icon);
  object-fit: contain;
}

.madr-convocatorias .madr-convocatorias__empty {
  margin: 0;
  padding: 24px 0;
  color: var(--mc-text);
  font: 400 14px/20px "Nunito Sans", sans-serif;
  text-align: center;
}

/* Pie: puntos y enlace "Ver todas" */
.madr-convocatorias .madr-convocatorias__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--mc-line);
}
.madr-convocatorias .madr-convocatorias__dots {
  display: flex;
  align-items: center;
  gap: 4px;
}
.madr-convocatorias button.madr-convocatorias__dot {
  position: relative;
  width: 8px;
  height: 8px;
  margin: 0;
  padding: 0;
  background: var(--mc-dot);
  border: 0;
  border-radius: 9999px;
  box-shadow: none;
  cursor: pointer;
  transition: width .25s ease, background-color .25s ease;
}
/* Área de toque más grande que el punto */
.madr-convocatorias button.madr-convocatorias__dot::after {
  content: "";
  position: absolute;
  inset: -8px -2px;
}
.madr-convocatorias button.madr-convocatorias__dot.is-active {
  width: 20px;
  background: var(--mc-dot-active);
}
.madr-convocatorias button.madr-convocatorias__dot:focus-visible {
  outline: 2px solid var(--mc-title);
  outline-offset: 2px;
}

.madr-convocatorias a.madr-convocatorias__all {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: auto;
  color: var(--mc-link);
  font: 600 12px/16px "Nunito Sans", sans-serif;
  letter-spacing: 0;
  text-decoration: none;
}
.madr-convocatorias a.madr-convocatorias__all:hover { text-decoration: underline; }
.madr-convocatorias a.madr-convocatorias__all:focus-visible {
  outline: 2px solid var(--mc-title);
  outline-offset: 2px;
}
.madr-convocatorias .madr-convocatorias__all svg { display: block; flex: 0 0 auto; }

/* ===== Responsive (mismo punto de corte que el menú hamburguesa) ===== */
@media (max-width: 1024px) {
  .madr-convocatorias {
    --mc-title: #004884;
    --mc-text: #1F2937;
    --mc-item-title: #004884;
    --mc-item-weight: 600;               /* (est.) */
    --mc-row-bg: rgba(248, 250, 252, .5);
    --mc-row-border: #E5E7EB;            /* (est.) */
    --mc-row-hover-bg: #F1F5F9;          /* (est.) */
    --mc-line: #E5E7EB;                  /* (est.) */
    --mc-ctrl: #374151;                  /* (est.) */
    --mc-ctrl-hover: #E2E8F0;            /* (est.) */
    --mc-counter: #2B62B5;               /* (est.) */
    --mc-gap: 12px;
    --mc-row-gap: 12px;
    --mc-icon: 40px;

    height: auto;
    padding: 28px 16px 16px;
    border-color: #E5E7EB;
    border-radius: 16px;
    box-shadow: none;
  }

  /* Título a la izquierda con línea dorada; navegación a la derecha */
  .madr-convocatorias .madr-convocatorias__header {
    align-items: flex-start;
    justify-content: space-between;
    min-height: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--mc-line);
  }
  .madr-convocatorias h2.madr-convocatorias__title {
    position: relative;
    padding-bottom: 11px;
    font: 800 16px/24px "Nunito Sans", sans-serif;
    text-align: left;
  }
  .madr-convocatorias h2.madr-convocatorias__title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40px;
    height: 3px;
    background: #C8A041;
    border-radius: 9999px;
  }

  .madr-convocatorias .madr-convocatorias__nav {
    position: static;
    transform: none;
    gap: 6px;
    height: 24px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
  }
  .madr-convocatorias .madr-convocatorias__counter {
    display: inline-flex;
    align-items: center;
    height: 24px;
    margin-right: 0;
    padding: 0 8px;
    background: #E8F0FB;
    border-radius: 9999px;
    font: 700 12px/16px "Nunito Sans", sans-serif;
  }
  .madr-convocatorias button.madr-convocatorias__ctrl {
    background: #F1F5F9;
  }
  .madr-convocatorias button.madr-convocatorias__ctrl:hover { background: var(--mc-ctrl-hover); }


  .madr-convocatorias .madr-convocatorias__window { border-radius: 0; }

  .madr-convocatorias a.madr-convocatorias__row {
    min-height: 0;
    padding: 12px;
    border-radius: 12px;
  }

  .madr-convocatorias a.madr-convocatorias__all {
    font-weight: 700;
  }
}

@media (prefers-reduced-motion: reduce) {
  .madr-convocatorias .madr-convocatorias__list,
  .madr-convocatorias .madr-convocatorias__window,
  .madr-convocatorias a.madr-convocatorias__row,
  .madr-convocatorias button.madr-convocatorias__ctrl,
  .madr-convocatorias button.madr-convocatorias__dot { transition: none; }
}

/* Los botones del bloque no deben heredar el min-width/min-height global
   (.contentMainMadr button { min-height:42px; min-width:165px }). */
html body .madr-convocatorias button {
  min-width: 0;
  min-height: 0;
}

/* Las copias que cierran el ciclo de rotación no reciben clics */
.madr-convocatorias .madr-convocatorias__item.is-clone { pointer-events: none; }